โ†2010-05-30 2010-05-31 2010-06-01โ†’ โ†‘2010 โ†‘all
00:03:26 -!- oklopol has quit (Ping timeout: 260 seconds).
00:13:55 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:16:04 -!- poiuy_qwert has joined.
00:21:01 <alise> "And if there's anything that genitals need, it's a surjective sin function."
00:30:44 -!- Oranjer has joined.
00:31:37 -!- Tritonio_GR has joined.
00:36:07 -!- huldumadurin has quit (Read error: Connection reset by peer).
00:54:34 -!- Portponky has quit (Quit: chicken is nature's potato).
01:05:24 <Sgeo_> Uh, LambdaMOO feels like Alphaworld in some ways
01:05:28 <Sgeo_> It's a ghost place
01:05:57 -!- pikhq has quit (Quit: un momento).
01:08:47 -!- pikhq has joined.
01:10:27 <alise> Is sex still used as a greeting
01:14:51 -!- lament has quit (Ping timeout: 258 seconds).
01:33:17 <CakeProphet> testing connection 1, 2 ,3
01:33:52 <ais523> pong
01:34:22 <alise> oh hi ais523!
01:34:35 <alise> ais523: design your perfect language in one IRC line
01:34:48 <ais523> hmm, tricky
01:34:55 <ais523> I don't know what my perfect lang would be like
01:35:12 -!- MizardX has joined.
01:35:21 <ais523> in general, I tend to use different langs for different types of problems
01:35:27 <alise> ais523: perfect lang as of your current understanding
01:35:29 <alise> general purpose
01:35:41 * alise writes down his guess as to what you'll come up with
01:35:44 <ais523> not being vaporware is pretty important
01:35:47 <alise> *her, stupid nick pronouns!
01:35:53 <ais523> so I might have to use an existing one, like Perl
01:36:04 <alise> ais523: just the actual core language design, and a new one; plus one short code sample
01:36:10 <alise> one or two lines. go :D
01:36:11 <pikhq> So, I'm thinking that I should *really* make this thing compile into something halfway between assembly and Brainfuck to make some optimisations easier.
01:36:25 <alise> pikhq: Or just add a backend to the bfc
01:36:28 <alise> bf2c
01:36:29 <ais523> that's a really really hard question...
01:36:29 <alise> whatever
01:36:34 <pikhq> alise: This is more entertaining!
01:36:37 <alise> ais523: ok, just /one/ of your best languages then
01:36:53 <alise> pikhq: you basically want asm with structured loops
01:37:00 <CakeProphet> pikhq: maybe make a virtual instruction set that has some elements of BF and some elements of most computer architectures
01:37:06 <ais523> but I'd say it's something that's flexible enough that you can implement pretty much what you want in it, making it into another language; but the stdlib's good enough that you don't have to unless you really want to
01:37:07 <CakeProphet> and then optimize that.
01:37:28 <alise> ais523: less abstract than that: paradigm, basic syntax, basic structure of typical code
01:37:35 <alise> I'll get other people to do one too I swear >_>
01:37:41 <ais523> syntax is unimportant...
01:37:42 <pikhq> alise: And then after that turn it into jumps and then finally output code.
01:38:06 <pikhq> (just because good god I hate how ugly just going loops->assembly looks)
01:38:14 <ais523> when I have language ideas, unless it's an idea for a silly eso syntax, the lang doesn't even have a syntax until I start to implement it, usually
01:38:33 <alise> ais523: oh, i don't mean syntax on that level
01:38:36 <alise> I mean more... structural syntax
01:38:45 <alise> like, any statement/expression divisions, how expressions are structures
01:38:47 <alise> *structured
01:38:49 <ais523> just like sometimes I start to say sentences, and then realise one of the words I want to use doesn't exist
01:38:55 <alise> I'm just thinking of a really brief, 2-line overview plus one tiny code sample
01:38:56 <ais523> (which incidentally I consider proof that people don't think in English)
01:39:41 <ais523> I don't think I'd have X/Y divisions for any X and Y, though, except maybe for strong static typing
01:40:02 <ais523> in the langs I work with at university, like ICA, statement is just a data type
01:40:12 <ais523> and things like semicolons are operators that work on that type
01:40:30 <alise> STOP DODGING THE QUESTION :D
01:40:55 <ais523> alise: I don't know the answer, so I'm at least trying to give a bit of an answer, even if it's not a fully satisfactory one
01:41:12 <alise> fine then
01:41:16 <alise> meanwhile, let's admire this code: http://esolangs.org/files/brainfuck/impl/bf2c.hs
01:42:01 <ais523> hmm, the upgrade to Ubuntu Lucid seems to have worked quite well
01:42:08 <ais523> major downside: the system no longer recognises headphones
01:42:25 <ais523> major upsides: pulseaudio no longer causes programs using it to crash, the graphics works really really well
01:42:47 <ais523> Adanaxis is working for the first time ever on this computer, so I'm pretty pleased with that
01:44:28 <coppro> Adanaxis?
01:45:30 <ais523> 4-d shoot-em-up
01:45:54 * pikhq redoes his optimisation structure somewhat while he's at it
01:45:58 <ais523> fourth dimension's represented as red-green, also the coordinates of everything are shown on a little HUD
01:46:16 <ais523> http://www.mushware.com/
01:47:19 <alise> ais523: upside: the new theme is pretty
01:47:27 <ais523> yes, I changed to it
01:47:33 <ais523> and then put the window decorations back how they were before
01:47:49 <ais523> turns out I use the window menu a lot, who'd have known
01:48:01 <alise> bind it to right click?
01:48:06 <alise> in fact it is right click
01:48:10 <ais523> and to get it in the new theme, you have to right-click the title bar, which is tricky with a touchpad
01:48:16 <alise> ah
01:48:17 <alise> alt-click then
01:48:18 <alise> or sth
01:48:33 <ais523> also, I didn't see any reason to change a placement which is arbitrary anyway from the setting I had before
01:49:15 <ais523> I like the new theme partly just because it annoys the sort of people who say purple+orange never works
01:49:44 <ais523> although admittedly the theme itself is mostly grey
01:51:20 <alise> it's not orange at all
01:51:22 <alise> and it's mostly dark brown
01:51:25 <alise> and light beige for text
01:51:32 <alise> (very very dark greyish brown)
01:51:58 <ais523> strange, maybe I customized it somehow by accident
01:52:00 <ais523> say with dotfiles
01:53:03 <pikhq> alise: I'm making my optimiser into multiple functions with obvious purposes so I don't hate myself!
01:54:06 -!- CakeProp1et has joined.
01:54:11 <alise> ais523: screeny?
01:54:22 -!- CakeProphet has quit (Read error: Operation timed out).
01:54:46 <Sgeo_> I'm in a room in LambdaMOO called Utilitarian Utopia
01:55:07 <alise> :D
01:56:01 <ais523> making one atm
01:56:48 <ais523> http://imgur.com/iOYDM.png
01:56:52 <Sgeo_> alise, come to LambdaMOO?
01:56:56 <alise> Sgeo_: no account
01:57:01 <Sgeo_> alise, get one
01:57:03 <Sgeo_> It's easy!
01:57:09 <alise> ais523: that's not orange :P
01:57:13 <alise> Sgeo_: i have to wait 1 day to get it
01:57:15 <Sgeo_> Oh
01:57:21 <Sgeo_> I take it you already did it?
01:57:22 <ais523> alise: there's orange used, but not by default
01:57:23 <alise> yes
01:57:25 <Sgeo_> :D
01:57:27 <ais523> things like selected buttons have orange highlights
01:57:33 <alise> ais523: well, true
01:57:35 <ais523> as in, orange isn't on the screen except when you interact with it
01:57:46 <alise> Sgeo_: i'm only interested if they really do use sexual acts as colloquial greetings though because that's just hilarious
01:58:07 <Sgeo_> alise, right now, there's not much "they"
01:58:24 <Sgeo_> There are maybe 2 people or so besides me actually active. Hopefully that's due to the weekend
01:58:24 -!- CakeProp1et has quit (Ping timeout: 245 seconds).
01:58:31 <Sgeo_> Erm, *labor day weekend
01:58:57 -!- CakeProphet has joined.
01:59:44 <ais523> it's a holiday in the UK today (Monday) too
01:59:59 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
02:00:06 <ais523> it's just an arbitrary holiday chosen for when the weather's often good, I don't think it has any significance
02:00:08 <ais523> which is refreshing
02:01:36 -!- poiuy_qwert has joined.
02:08:25 <pikhq> alise: So, my intermediate code is now having an "offset from current pointer" argument for everything...
02:09:25 <pikhq> Which should open me up to a decent number of *other* optimisations.
02:11:57 <alise> Yes.
02:14:13 <pikhq> And splitting up the optimiser into multiple functions makes it much nicer-looking.
02:30:24 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
02:34:40 <alise> f
02:35:32 -!- poiuy_qwert has joined.
02:36:00 <Sgeo_> The root of the hierarchy of LambdaMOO is located in a package
02:36:11 <Sgeo_> A "rather unassuming cardboard box"
02:36:41 <alise> i still don't have my account
02:36:45 <alise> maybe i'll just imitate you
02:36:52 <Sgeo_> You can login as a guest
02:37:35 <pikhq> Testing this in GHCI, I can get this:
02:37:36 <pikhq> ">-[<->+++++++]<-.>++++[<+++++++>-]<+.+++++++..+++.>----[<+++>----]<.------------.>--[<->---]<+.--------.+++.------.--------.>----[<+++>----]<.>------[<---->+]<+."
02:37:39 <pikhq> into this:
02:37:42 <pikhq> [Add 1 (-1),Loop 1 [Add 0 (-1),Add 1 7],Add 0 (-1),Out,Add 1 4,Loop 1 [Add 0 7,Add 1 (-1)],Add 0 1,Out,Add 0 7,Out,Out,Add 0 3,Out,Add 1 (-4),Loop 1 [Add 0 3,Add 1 (-4)],Out,Add 0 (-12),Out,Add 1 (-2),Loop 1 [Add 0 (-1),Add 1 (-3)],Add 0 1,Out,Add 0 (-8),Out,Add 0 3,Out,Add 0 (-6),Out,Add 0 (-8),Out,Add 1 (-4),Loop 1 [Add 0 3,Add 1 (-4)],Out,Add 1 (-6),Loop 1 [Add 0 (-4),Add 1 1],Add 0 1,Out]
02:38:09 <Sgeo_> Holy. Crap.
02:38:27 <Sgeo_> I now contain a rather unassuming cardboard box.
02:38:29 <pikhq> Mmm, offset-from-current-pointer.
02:41:07 <Sgeo_> alise, are you Russet Guest?
02:41:38 <alise> i'm no guest -- why?
02:41:45 <alise> <Sgeo_> I now contain a rather unassuming cardboard box.
02:41:49 <alise> great, you are bigger than lambdamoo
02:41:52 <alise> you broke their topology
02:41:54 <alise> that's against the rules
02:42:03 * alise connects
02:42:08 <alise> pikhq: now make it bettar
02:42:12 <alise> pikhq: do linear loop optimisation
02:42:19 <alise> you can completely deloop any loop with balanced < and > and no io
02:42:32 <alise> Sgeo_: how do i get where you are
02:42:52 <Sgeo_> alise, try @join Sgeo
02:43:48 <alise> You join Sgeo.
02:43:48 <alise> You begin to move into the room but encounter some resistance. With a snap
02:43:49 <alise> you're catapulted back where you came from.
02:43:49 <alise> Either Yellow_Guest doesn't want to go, or La Cantina de los HARD AGAINST THE
02:43:49 <alise> GAYS didn't accept it.
02:43:54 <pikhq> alise: Let me make sure I get proper code output first. ;)
02:44:05 <pikhq> Currently, "Hello, world" doesn't work correctly.
02:44:09 * alise considers neuter or splat gender
02:44:18 <alise> Sgeo_: what's the private chat again?
02:44:25 <alise> does it have one
02:44:31 <Sgeo_> alise, I think there's a whisper thing
02:44:48 <alise> how do you use it
02:44:51 <pikhq> I'm assuming I've just done something rather stupid on the code generator.
02:46:21 <alise> Sgeo_: so how do i teleport somewhere >_>
02:46:25 <alise> also splat or neuter what do you think
02:48:30 <pikhq> Which of course I did.
02:48:31 <Sgeo_> *shrug*
02:48:35 <Sgeo_> alise, @go
02:48:43 <alise> go where
02:48:47 <Sgeo_> You can add rooms to your easy-@go list with @rooms
02:48:55 <Sgeo_> I'll show you a hotel like thing
02:48:59 <pikhq> The *end* of a loop also needs to keep track of its offset. XD
02:49:01 <alise> no i wanna see the library
02:49:09 <Sgeo_> Ok
02:49:10 <alise> pikhq: or just have that be a mutation...
02:49:16 <Sgeo_> BTW there's a map you can get to with help map
02:49:22 <pikhq> alise: Or that.
02:49:23 <alise> pikhq: [>>] will work right?
02:49:27 <alise> so it has to mutate anyway
02:49:27 <Sgeo_> It's not a perfect map
02:49:32 <Sgeo_> @rose makes things easy
02:49:38 <alise> i'm in library
02:49:53 <pikhq> alise: Shouldn't have to mutate for >[<->+]
02:49:56 <alise> how do i see people in thise room
02:50:00 <alise> pikhq: but [>>]
02:50:19 <pikhq> Yes, of *course* that does.
02:50:31 <Sgeo_> alise, look
02:51:30 <pikhq> The problem is that currently, I'm generating (psuedocode) "b: if(p[1]) goto e;--*p;p[1]++;e: if(*p) goto b"
02:51:37 <pikhq> Which is of course wrong.
02:52:05 <alise> pikhq: well that's a stupid way of modelling it
02:52:15 <pikhq> alise: It's called a *bug*.
02:52:27 <pikhq> Bugs tend to be stupid.
03:01:42 -!- pikhq_ has joined.
03:03:42 -!- pikhq has quit (Ping timeout: 260 seconds).
03:09:40 <pikhq_> Now is the time for linear loop optimisation!
03:10:10 <pikhq_> And then, make my code generation not a hack!
03:13:08 -!- pikhq_ has changed nick to pikhq.
03:13:14 <alise> pikhq_: btw [add n] terminates iff some extended euclidean algorithm on n returns some result
03:13:17 <alise> i forget exactly
03:19:18 <alise> 64 return Conjunction(*realranges)
03:19:18 <alise> 65 elif isinstance(cond, Conjunction):
03:19:18 <alise> 66 return Conjunction(*map(self.adoptcond, cond))
03:19:18 <alise> 67 elif isinstance(cond, Disjunction):
03:19:18 <alise> 68 return Disjunction(*map(self.adoptcond, cond))
03:19:20 <alise> esotope sure is complex
03:19:32 <alise> ah
03:19:39 <alise> pikhq: [add n] requires you to do extended euclidean algorithm
03:19:41 <alise> to get a loop that is basically
03:19:54 <pikhq> alise: Hmm? Explain further?
03:19:55 <alise> if (current tape cell % result_of_algo == 0) /* or something */ { infinloop }
03:20:09 <alise> or sth
03:20:14 <alise> [ as in loop
03:20:16 <alise> [+^n]
03:20:17 <Sgeo_> alise, you aren't here with me. Why not?
03:20:23 <pikhq> *Oh*.
03:20:59 <pikhq> So you can see whether or not that can terminate, and replace it with either Set 0 or infinloop.
03:21:10 <pikhq> Okay, I'll have to figure out how to do that.
03:21:18 <alise> pikhq: it's in esotope source
03:21:23 <alise> look for the extended euclidean algorithm
03:21:24 <pikhq> Awesome.
03:21:25 <Sgeo_> Utilitarian Utopia = #4965
03:21:40 <Sgeo_> In case both alise and myself forget, and we all steal everything
03:22:32 <pikhq> alise: Hmm. Just a few questions: low-hanging fruits ATM = ?
03:22:51 <alise> pikhq: linear loop -- definitely; and also more complex loops than while
03:22:51 <pikhq> Simple loop handling?
03:22:59 <alise> if, for instance -- and also recognizing seeks like [>>]
03:23:07 <CakeProphet> I like the idea of an if-where
03:23:08 -!- lament has joined.
03:23:12 <CakeProphet> Go does it... but with terrible syntax
03:23:22 <alise> if-where?
03:23:29 <CakeProphet> if (cond) where (binding)
03:23:43 <CakeProphet> instead of the weird (x=2)==2 idiom
03:24:11 <CakeProphet> Go does it... but it's stupid. the binding goes first
03:24:12 <CakeProphet> so it's like
03:26:03 <pikhq> alise: So, then. Try and get "-[<->+++++++]<-" into the more obvious thing. Got it. :)
03:26:08 <Sgeo_> alise stole all the library functions' containers
03:28:57 -!- CakeProphet has quit (Ping timeout: 264 seconds).
03:29:11 <poiuy_qwert> yay quine: "34SZSrOsDrFe
03:29:49 <alise> Sgeo_: CAN I EAT THEM
03:35:29 -!- CakeProphet has joined.
03:37:09 <alise> CakeProphet: any luck w/ my code?
03:38:37 <CakeProphet> yeah... no luck with the wireless though. it's storming.
03:38:54 <alise> ??
03:38:54 <CakeProphet> what was the macro code supposed to look like?
03:39:08 <CakeProphet> my wireless, that is. I did not give your compiler wireless support. :P
03:39:11 <alise> CakeProphet: http://www.vjn.fi/pb/p8884766854.txt
03:39:30 -!- pikhq_ has joined.
03:39:31 <alise> then
03:39:32 <alise> (#
03:39:32 <alise> Example:
03:39:32 <alise> def f(*args) { return args }
03:39:32 <alise> g = f&(1,2,3)
03:39:32 <alise> unless g(4,5,6) == [1,2,3,4,5,6] {
03:39:34 <alise> print "Something is seriously wrong!"
03:39:36 <alise> }
03:39:38 <alise> #)
03:39:48 <alise> CakeProphet: http://www.vjn.fi/pb/p5345871812.txt code and example in one
03:41:33 -!- pikhq has quit (Ping timeout: 264 seconds).
03:43:16 -!- CakeProphet has quit (Ping timeout: 240 seconds).
03:45:04 <Sgeo_> alise, we didn't get all the utilities
03:45:09 <alise> nuu
03:45:32 <Sgeo_> $wiz_utils is located in ur-Rog
03:50:40 -!- CakeProphet has joined.
03:52:21 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
03:52:23 <Sgeo_> alise, ping
03:52:58 <alise> pong
03:54:09 -!- pikhq_ has quit (Ping timeout: 264 seconds).
03:54:39 -!- zzo38 has joined.
03:55:06 -!- pikhq has joined.
03:55:14 <zzo38> Some people at FreeGeek like to say "Ping" and "Pong" to each-other, even.
03:58:47 <Sgeo_> Everything in the universe is ultimate a type of object currently being held in a package by alise
03:59:14 -!- CakeProphet has quit (Ping timeout: 260 seconds).
04:00:17 <alise> :D
04:00:20 -!- Oranjer has left (?).
04:01:11 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
04:12:52 <pikhq> "Lag: 99.76"
04:12:58 <pikhq> Fuck this connection.
04:15:20 -!- Oranjer has joined.
04:16:35 <alise> 4:16 am lah
04:18:03 <Sgeo_> alise, :/
04:18:09 <alise> eh
04:18:09 <alise> bed soon
04:18:46 -!- pikhq has quit (Read error: Connection reset by peer).
04:19:37 <Sgeo_> alise, give me the utilities now
04:19:51 <alise> NOA
04:19:54 <Sgeo_> alise, they don't seem to want to be moved
04:19:54 <zzo38> Do a mahjong game, you will flip over one tile even though is same upside-down, other player will think you don't have that one, and then you can win. (MCR has all-same-upsidedown as a scoring combination. MCR is full of bad stuff)
04:19:54 <alise> AND BESIDES I DISCONNECT
04:19:57 <alise> BY MISTAKE
04:20:03 <Sgeo_> ...
04:20:13 <Sgeo_> I think the utilities are stuck in a guest body
04:20:21 <alise> haha sweet
04:20:23 <alise> tell a wizard
04:21:43 <Sgeo_> No, I can get most of them out
04:21:48 <Sgeo_> Just not the Hydrolics
04:24:30 -!- MizardX- has joined.
04:26:14 <zzo38> Perhaps we can make a modern kind of the Abundance system, using Gforth. This way we can use a real free software license (Abundance includes non-free components and requires that it not be used for military use). Perhaps this new system can be called Exuberance?
04:27:40 -!- MizardX has quit (Ping timeout: 240 seconds).
04:27:56 <alise> Or perhaps not.
04:27:59 -!- MizardX- has changed nick to MizardX.
04:29:39 <zzo38> Do you think the MCR rules for mahjong is stupid? Riichi is superior. WSoM is also better than MCR
04:29:48 <zzo38> But I prefer AERM
04:30:03 <alise> SFIUHE
04:30:27 <zzo38> What does "SFIUHE" means?
04:30:47 -!- pikhq has joined.
04:31:16 <pikhq> Fuck this Internet connection.
04:33:10 -!- CakeProphet has joined.
04:35:13 <CakeProphet> mmm.. irssi is pretty sophisticated.
04:42:10 <alise> 4:41
04:42:15 <alise> Sgeo_: bed soon i swear. don't hit me
04:42:28 <Sgeo_> alise, I think I figured out how to get #1 out of the package
04:42:41 <CakeProphet> alise: you know, if you use __slots__ you could make a way to declare memory efficient instance variables on objects.
04:46:58 <CakeProphet> alise: I am now to the point that I have a massive, non-tested and most likely buggy compiler that's just a few more tweaks away from being done. :)
04:47:57 <alise> CakeProphet: show the code!
04:47:59 <alise> plz
04:51:10 <CakeProphet> alise: ...not yet. It's too crazy to make sense yet.
04:51:45 <CakeProphet> it's actually a legitimate parser though... and easy to extend
04:52:05 <CakeProphet> ...but untested. It's just the design that I like. :)
04:52:06 <alise> aww please? I'm going to bed like now, so...
04:52:35 <CakeProphet> alise: ...it's not really going to make any sense if you read it right now. I haven't implemented everything yet.
04:53:19 <CakeProphet> I'll show you tomorrow... if you're going to bed like now.
04:53:29 <CakeProphet> it's only midnight here. :)
04:55:07 <alise> I can read any code.
04:55:10 <alise> Even oklopol's.
04:55:15 <alise> it's 4:54 am here
04:55:59 <Sgeo_> Discovery: If you give someone the package, and the Root Class isn't in it, the package will grab the Root Class and put it in it
04:57:04 <alise> The Pyongyang Hardcore Resistance is an underground anarchist movement in North Korea. Their music has been smuggled from North Korea through underground contacts and can be downloaded from their MySpace page.
04:57:56 <CakeProphet> alise: I can't allow it to be seen in such a half-fucked-up condition
04:57:58 <pikhq> ... Wait what?
04:58:05 <alise> CakeProphet: /msg it then
04:58:09 <CakeProphet> I'm working on it though...
04:58:14 <CakeProphet> I mean... at all. Until I stabilize it.
04:58:15 <alise> “This is electronic hardcore music from Pyongyang’s underground anarchist movement! I have received these tracks on tapes and CDs from my North-Korean refugee contacts in China. They have helped to smuggle this material. PHR is an extreme electronic music duo in Pyongyang. The other part of the duo moved to North-Korea to his family and introduced hardcore techno to his friend who has lived his whole life in NK. I’m not Pyongyang Hardcore Resistance, o
04:58:15 <alise> r a member of it. Just spreading this to let the world know the underground resistance is fighting! My identity and my contacts’ identities shall remain secret as we are fucking paranoid about North-Korean spies! This is a FUCK YOU from North-Korean underground to corrupted leaders Kim Jong Il and Lee Myung Bak! This is also a FUCK YOU to both South-Korean and North-Korean popular music that try to keep the masses dumb and obedient! This is the bassdrum of
04:58:16 <alise> truth exported to you straight from Pyongyang! Peace in people, violence in music!”
04:58:20 <alise> CakeProphet: :'(
04:58:23 <alise> MAY KOED
04:58:26 <alise> I DESERVES'T
04:58:27 <CakeProphet> I'm working on it though.
04:59:07 <CakeProphet> alise: I'm having trouble thinking out the implementation
04:59:17 <CakeProphet> because it's like... a non-deterministic tree of sorts.
04:59:17 <alise> FAIN
05:01:45 <CakeProphet> basically you have coroutines as parser elements... if they see a pattern that they turn into a token... they'll start looking ahead in state until they either a) don't match their pattern completely or b) complete successfully and output the tokens they've constructed
05:02:33 <alise> Sgeo_: I'm not tired right now, because I got up at 12am last night. I'm talking to people. I promise I will go to bed at some point.
05:02:38 <alise> Can I request leave from bed-duty?
05:03:00 <Sgeo_> alise, don't you need to be not-tired during the week?
05:03:01 <CakeProphet> and the crawler is managing an arbitrary number of these things... communicating with them through each cycle of iteration
05:03:06 <CakeProphet> because coroutines are awesome like that.
05:03:08 <alise> Sgeo_: i have monday off
05:03:15 <alise> Sgeo_: and no, not really.
05:03:16 <Sgeo_> :D:D:D
05:03:51 <alise> Sgeo_: :D?
05:03:55 <alise> so as you can see
05:04:03 <alise> 5:03am but i am not tired, it is already as light as it will get anyway, and i am talking
05:04:04 <alise> so
05:04:11 <alise> leave from bed duty granted?
05:04:25 <Sgeo_> alise, if you think you'll be able to go to bed tonight, sure
05:04:37 <Sgeo_> <3 xkcd
05:06:05 <zzo38> My character is not big cockroach and has no exoskeleton. And Obkwag does not have a capability to fly, and they have no wings. (The DM sometimes forgets these things)
05:06:26 <coppro> <3 City of Reality
05:17:22 <alise> fr
05:18:30 -!- MizardX has quit (Ping timeout: 276 seconds).
05:18:46 -!- poiuy_qwert has joined.
05:19:27 <coppro> en
05:19:35 <coppro> or maybe ca
05:19:38 <coppro> fr is ambiguous
05:19:53 <coppro> also, bye alise
05:19:58 <coppro> see you next week
05:20:03 <Sgeo_> coppro, wrong
05:20:15 <alise> coppro: WRONG AGAIN SUNSHINE.
05:21:56 <coppro> oh wait, I see
05:22:05 <coppro> nice
05:22:11 <coppro> sweet sweet freedom
05:25:09 <alise> for a day.
05:32:13 <zzo38> What do *you* think about the things the DM nearly always forgets, like this?
05:34:30 <alise> i think of a hopeless cheesecake swimming in the ocean
05:35:24 <alise> CakeProphet: I will pay you five billion karma points to see the compiler
05:38:40 <alise> locoMOOOOTIVES
05:38:48 <alise> ais523: you are still here?
05:40:24 <ais523> sort-of
05:41:04 <ais523> I haven't been paying attention for hours
05:43:16 <alise> ais523: when'd you awaken?
05:43:55 <ais523> I haven't been asleep...
05:44:02 <ais523> I'll go to bed during the day, probably
05:44:09 <coppro> I see the compiler and raise the linker
05:44:11 <alise> ais523: so you woke at normal time yesterday
05:44:17 <alise> ais523: ok, do you have to be up on tuesday?
05:44:22 <alise> you are basically my model of a reasonable person
05:44:28 <alise> so i will base my life decisions on you
05:44:33 <alise> coppro: for Python?
05:44:41 <alise> it's just Braces (aka BS) :P
05:44:45 <ais523> alise: yes, on Tuesday
05:44:51 <alise> ais523: but not Monday?
05:44:53 <coppro> alise: poker joke
05:44:58 <alise> coppro: i know
05:45:04 <coppro> ok
05:45:14 <ais523> alise: no, it's a holiday
05:45:34 <alise> ais523: then you are clearly a reasonable man just like me
05:45:43 <alise> who just happens to have a crippling sleep disorder.
05:48:51 <alise> CakeProphet: we should probably do this for python 3
05:48:56 <alise> CakeProphet: Since we're throwing backwards compatibility away.
05:55:51 <CakeProphet> alise: alright...
05:56:00 <alise> CakeProphet: alright to what :P
05:58:04 <alise> CakeProphet: EH.
06:05:10 -!- augur has joined.
06:05:24 <augur> hey guyses
06:05:41 <alise> .
06:05:50 <augur> :x
06:13:40 <alise> `help
06:13:41 <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/
06:18:09 <zzo38> Is it broken?
06:18:24 <zzo38> It says there is "No output"?
06:18:28 <alise> it's broken.
06:27:42 -!- alise has quit (Remote host closed the connection).
06:45:43 -!- FireFly has joined.
07:14:54 -!- zzo38 has quit (Remote host closed the connection).
07:20:46 -!- relet has joined.
07:22:37 -!- kar8nga has joined.
07:57:14 -!- FireFly has quit (Quit: swatted to death).
07:59:48 -!- oerjan has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:30:42 -!- lament has quit (Ping timeout: 260 seconds).
08:31:58 -!- relet has quit (Quit: Leaving.).
08:33:06 -!- relet has joined.
08:46:15 -!- oerjan has quit (Quit: leaving).
08:47:40 -!- augur has quit (Remote host closed the connection).
08:47:48 -!- augur has joined.
08:48:18 -!- Oranjer has left (?).
08:48:50 -!- Phantom_Hoover has joined.
08:49:45 -!- Tritonio_GR has joined.
08:50:33 <Sgeo_> ali.. dangit
08:53:42 -!- lament has joined.
08:55:34 <Phantom_Hoover> Wow, Eliezer Yudkowsky is very odd.
08:56:59 <Phantom_Hoover> Apparently not signing your children up for cryonics makes you a bad person.
08:59:27 <Phantom_Hoover> OTOH, my philosophy makes cryonics pointless, so...
09:03:43 <Phantom_Hoover> SOMEONE SAY SOMETHING ABOUT ANYTHING.
09:09:34 -!- coppro has quit (Read error: Connection reset by peer).
09:28:04 <lament> strange philosophy
09:28:45 <lament> isn't working cryonics no different from any other medical treatment? does your philosophy make them all pointless too?
09:29:13 <Gracenotes> I did in fact read his fan fiction the other day
09:30:02 <Phantom_Hoover> lament: Doesn't cryonics work by freezing you after you die?
09:30:03 <Gracenotes> it started out well. though became somewhat less witty and more plot-laden as the tale progresses. nonetheless a satisfactory use of time.
09:31:13 <lament> Phantom_Hoover: sure
09:31:53 <lament> as long as you can be brought back to life, you're not really dead - just very sick
09:32:06 <lament> so you're frozen until treatment becomes available
09:32:42 <Phantom_Hoover> That's my main problem, really.
09:32:46 <lament> what
09:32:54 <Phantom_Hoover> You're assuming that treatment will definitely be available.
09:33:08 <lament> not really
09:33:46 <lament> same with other medical treatments - they don't always work
09:34:09 <lament> some operations have like 50% failure rates
09:34:24 <lament> but people still do them because 50% is better than 100%
09:34:34 <Phantom_Hoover> But they have been tried, and they have worked.
09:34:52 <Phantom_Hoover> It's different from saying that in the future everything will be curable.
09:34:58 <lament> sure
09:35:20 <lament> but in both cases there's a probability of success
09:35:37 <lament> we can't estimate it well for cryonics, and it's probably small
09:35:44 <Phantom_Hoover> But with cryonics, you have next to no idea what that probability is.
09:36:08 <lament> as long as you don't think it's exactly 0, there's utility in it
09:36:22 <Phantom_Hoover> And if there's only a small probability of it working, why spend a lot of money on it?
09:36:44 <lament> because some people have a lot of money and enjoy living?
09:37:00 <Phantom_Hoover> Yes, of course.
09:37:26 <Phantom_Hoover> But saying that you're a bad parent if you don't sign your children up for it is ridiculous.
09:37:58 <lament> i was just wondering if you actually had a philosophy that made cryonics pointless.
09:38:08 <lament> it doesn't seem like you do.
09:38:27 <Phantom_Hoover> Meh, I rethought it.
09:39:16 <lament> i just think it's a scam
09:39:24 <Phantom_Hoover> I rather agree.
09:39:24 <lament> and the probability is 0 after all
09:39:53 <Phantom_Hoover> Transhumanists in general often seem nearly religious, though.
09:46:18 -!- lament has quit (Ping timeout: 260 seconds).
09:47:30 <Phantom_Hoover> Cool, the British government recently considered giving AIs modified citizenship.
09:47:50 <Phantom_Hoover> Vote Labour to avoid the robot uprising?
09:50:16 <Phantom_Hoover> I am totally creating a party on those grounds.
09:51:59 <ec> Phantom_Hoover: Iโ€™d join, were I british.
09:52:33 <Phantom_Hoover> Damn this minimum age for standing for Parliament.
09:53:04 <ec> Phantom_Hoover: I stole that for a tweetโ€ฆ unfortunately, I couldnโ€™t /via without a Twitter username for you: http://tau.pe/15095694929
09:53:49 <Phantom_Hoover> I do not have a Twitter account.
09:54:35 <Phantom_Hoover> Also, "perceptron" is the coolest word ever.
10:03:16 <Quadrescence> perspex machine
10:09:59 <Phantom_Hoover> Wait, isn't that the guy who said he could divide by 0?
10:13:53 <augur> heh
10:14:06 <augur> i just realized that my little theorem proofer program happens to be turing complete
10:14:07 <augur> x3
10:14:22 <Phantom_Hoover> Let us see it?
10:14:25 <augur> its not done
10:15:04 <augur> but its TC precisely because it allows inference rules of the form XfY => XgY
10:15:37 <augur> where X and Y are arbitrary strings metavariables, and f and g are arbitrary strings
10:15:48 <augur> thus you can encode a type 0 grammar in it
10:16:24 <Phantom_Hoover> Are you implementing it in C?
10:16:28 <augur> right now, no
10:16:37 <augur> eventually itll probably be implemented in ObjC
10:17:01 <augur> but right now im writing a simple, easy-to-toy-with version in ruby
10:17:15 <Phantom_Hoover> And Ruby is implemented in C?
10:17:21 <augur> probably!
10:17:22 -!- tombom has joined.
10:17:24 <augur> why?
10:17:35 <Phantom_Hoover> THEN IT'S NOT TC.
10:17:45 <augur> oh hush your face
10:18:01 <augur> no programming language is TC if running in the real world
10:18:15 <Phantom_Hoover> That's not the point,
10:18:23 <augur> i think it is
10:18:29 <Phantom_Hoover> No it isn't!
10:21:45 <ec> yes it is!
10:21:51 <ec> (what are we arguing about?)
10:22:16 <Phantom_Hoover> Ruby being TC.
10:22:20 <Phantom_Hoover> WHICH IT ISN't.
10:22:32 <ec> ISNโ€™t.
10:23:22 <Phantom_Hoover> I turned my caps lock off.
10:23:26 <ec> ISNโ€™t.
10:23:32 <Phantom_Hoover> Typing in all caps is hard.
10:23:35 <ec> ISNโ€™t
10:24:21 <Phantom_Hoover> Cease that.
10:48:52 -!- ais523 has quit (Remote host closed the connection).
10:57:21 -!- augur has quit (Remote host closed the connection).
10:57:28 -!- augur has joined.
11:05:55 * Phantom_Hoover wonders if there's a thing that makes my console make random bleeps
11:21:10 <AnMaster> perhaps
11:21:21 <AnMaster> Phantom_Hoover, does this beep you?
11:22:40 <AnMaster> Phantom_Hoover, anyway it would be trivial to write such a thing. A background processes that does basically: while (1) { sleep(rand() % SOMECONSTANT); putchar(7); }
11:22:47 <AnMaster> well, not sure that will compile
11:22:50 * AnMaster checks man sleep
11:23:19 <AnMaster> hm will compile, maybe with warning
11:23:25 -!- hiato has joined.
11:23:42 <AnMaster> rand() returns int, sleep() takes unsigned int
11:24:23 <AnMaster> strange that rand() doesn't return unsigned int... after all it is always in the interval [0,RAND_MAX]
11:25:39 <Phantom_Hoover> gnome-terminal doesn't seem to support the ASCII bell.
11:26:29 <Phantom_Hoover> Or it doesn't work for me.
11:29:36 -!- relet1 has joined.
11:32:44 -!- SgeoN1 has quit (Ping timeout: 264 seconds).
11:32:44 -!- relet has quit (Ping timeout: 264 seconds).
11:47:28 -!- relet1 has changed nick to relet.
11:48:41 <relet> do the languages 'beglad' and 'netfunge' which are mentioned in the funge-98 specs actually still exist somewhere?
11:48:59 <Deewiant> AFAIK they never existed anywhere
11:49:14 <relet> not even as a spec?
11:49:58 <Deewiant> No, only as ideas
11:50:03 <relet> now that's esoteric. :D
11:50:07 <Deewiant> I'm not sure, but fairly
11:50:36 <Phantom_Hoover> Hmm, has anyone ever built an Analytical Engine?
11:50:40 <relet> that's a gap one could fill for instant fame.
11:54:10 <Phantom_Hoover> Hmm, according to Wikipedia the Analytical Engine would have been TC.
11:54:13 <Phantom_Hoover> I doubt that.
11:54:51 <Phantom_Hoover> Although "Turing-complete" here means something rather different to everywhere else.
12:00:48 <AnMaster> <Phantom_Hoover> gnome-terminal doesn't seem to support the ASCII bell. <-- think it is an option?
12:01:03 <Phantom_Hoover> It is, in fact, on.
12:01:07 <Phantom_Hoover> Stuff is broken.
12:01:12 <AnMaster> Phantom_Hoover, sound on? maybe gnome sound settings?
12:01:24 <Phantom_Hoover> Other stuff is fine.
12:02:14 <AnMaster> Deewiant, relet: weren't beglad supposed to be something like corewars?
12:02:21 <AnMaster> or do I misremember completely
12:02:26 <Deewiant> Yep, BEfunge GLADiators
12:02:33 <AnMaster> and netfunge?
12:02:38 <Deewiant> Dunno
12:02:59 <Deewiant> Never found anything about it as far as I can recall
12:03:54 <Deewiant> mtve: Got more of those mailing list archives by any chance? :-P
12:04:17 <AnMaster> heh
12:14:09 -!- Zuu has quit (Read error: Connection reset by peer).
12:19:09 -!- Zuu has joined.
12:19:09 -!- Zuu has quit (Changing host).
12:19:09 -!- Zuu has joined.
12:22:38 -!- kar8nga has quit (Remote host closed the connection).
12:51:12 -!- FireFly has joined.
13:25:37 -!- CakeProphet has quit (Quit: Reconnecting).
13:25:50 -!- CakeProphet has joined.
13:31:22 -!- MigoMipo has joined.
13:47:40 -!- oklopol has joined.
13:48:16 -!- MigoMipo has quit (Remote host closed the connection).
14:04:47 -!- MigoMipo has joined.
14:21:14 <relet> Deewiant: befunge gladiators... that sounds like something that should be done.
14:22:08 <Deewiant> The idea was core wars in befunge
14:22:54 -!- kar8nga has joined.
14:24:56 * CakeProphet wants a concurrency model so awesome that it can race condition on command.
14:29:20 <CakeProphet> It will race condition at O(n)... where n is the number of characters in a quine program that you submit to the master thread for review. If it deems your quine worthy... it will give you a memory address and REALLY WANT YOU TO WRITE A SHIT TON OF STUFF TO IT FUCK YEAH
14:29:24 -!- hiato has quit (Quit: underflow).
14:29:27 <CakeProphet> ...
14:30:18 <relet> just invent HQ9+R
14:30:25 <CakeProphet> in the past 36 hours I have gotten exactly 4 hours of sleep.
14:30:30 <CakeProphet> this might explain why I am making no sense.
14:30:33 <relet> the R command to enter a race condition.
14:31:51 -!- hiato has joined.
14:34:07 <CakeProphet> is there a concurrency model where you make a bunch of changes to a copied version of the shared state and then commit the changes atomically or whatever?
14:34:43 <CakeProphet> and then like... I don't know, threads engage in a thumb war upon trying to commit at the same time
14:51:04 -!- hiato has quit (Quit: quick reset).
14:51:27 -!- hiato has joined.
15:04:39 <Phantom_Hoover> I like the idea of threads having a thumb war
15:14:45 <Phantom_Hoover> I propose that it be the solution to all resource conflicts.
15:20:56 <Sgeo_> ali.. dammit
15:22:08 <relet> BeThumb?
15:22:54 <Phantom_Hoover> No, you could have it for everything.
15:23:09 <Phantom_Hoover> Running out of memory? Winner of the thumb war gets it.
15:23:12 <relet> I just liked the ring of it.
15:23:21 -!- hiato has quit (Quit: underflow).
15:23:25 <Phantom_Hoover> CPU time low? Thumb war!
15:23:50 <Phantom_Hoover> Both accessing a file? Thumb war!ฌ
15:24:03 <relet> Both accessing the same thumb - fail
15:24:44 -!- hiato has joined.
15:25:06 -!- relet has quit (Quit: Leaving.).
15:26:17 <Phantom_Hoover> No, you can have a thumb war over the thumb war.
15:26:39 * Phantom_Hoover starts writing THUMBIX
15:31:19 -!- BeholdMyGlory has joined.
15:31:59 <CakeProphet> rofl
15:32:11 <CakeProphet> ...so I just read some category theory and it's starting to make sense
15:32:42 <CakeProphet> but now it seems like a slightly disorganized clusterfuck... what with all these enriched categories and higher order categories.
15:41:26 -!- relet has joined.
15:42:59 -!- hiato has quit (Quit: switching to aterm).
15:43:28 -!- hiato has joined.
15:53:17 -!- alise has joined.
15:56:30 <Phantom_Hoover> alise?
15:56:46 <Phantom_Hoover> Wait, I thought you had to go to the unit today?
15:56:53 <Sgeo_> Phantom_Hoover, vacation today
15:56:59 <alise> Bank holiday -- but since I slept at 6am it's not much of one, seeing as it's 4pm.
15:57:03 <alise> Oh well.
15:57:05 <alise> Sgeo_: *holiday
15:57:08 <alise> Stupid Americans!
15:57:52 <Sgeo_> alise, I think I can make an object that lets you eval, even as a guest
15:58:15 <alise> I think lambdamoo is primarily based on the honour system
15:58:46 <Sgeo_> No, not really
15:59:59 <Phantom_Hoover> I think "perceptron" is the coolest word ever.
16:00:08 <CakeProphet> alise: sup... so, I decided I was making it way too complicated.
16:00:16 <alise> CakeProphet: I usually do that, too.
16:00:18 <Phantom_Hoover> The BF derivative?
16:00:22 <alise> Phantom_Hoover: No.
16:00:23 <alise> Braces.
16:00:27 <Phantom_Hoover> Ah.
16:00:28 <CakeProphet> probably had to do with me being sleep deprived and on Adderall to keep me awake.
16:00:52 <alise> When you're sleep deprived maybe you shouldn't try to stay awake :P
16:01:05 <Sgeo_> alise, being able to take something that can't be abused or destroyed just because you have it does not an honour system make
16:01:16 <Phantom_Hoover> Unfortunately, perceptrons are a fairly weak type of neural net.
16:01:18 <alise> Sgeo_: but topology and stuff
16:01:25 <alise> Phantom_Hoover: neural nets are shit btw
16:01:31 <Sgeo_> alise, there are topology twisting areas
16:01:35 <Sgeo_> Particularly the hotel
16:01:42 <Phantom_Hoover> alise: Yesyesyes.
16:01:44 -!- oerjan has joined.
16:02:03 <Phantom_Hoover> oerjan!
16:02:18 <Sgeo_> Non-thematic things are generally accepted at places like the hotel, and for more official additions, the owner of the room needs to add the link anyway
16:03:29 <oerjan> Phantom_Hoover: g'day
16:03:36 <alise> gay day LOL
16:03:57 <Phantom_Hoover> I am incapable of shaking off the feeling that it's the afternoon.
16:04:00 <oerjan> any australians here who can swat alise?
16:04:07 <CakeProphet> alise: was fixing my sleep cycle. I've been going to bed at like 8-10 AM
16:04:19 <CakeProphet> today I woke up at 8 AM. Like a normal person.
16:04:28 <CakeProphet> ...tired as fuck though. But I'll catch back up.
16:04:43 <oerjan> Phantom_Hoover: that's because it is, silly
16:05:08 <Phantom_Hoover> Damn, you're right.
16:05:33 <Phantom_Hoover> What do I do with this?
16:05:49 <alise> Phantom_Hoover: it is the afternoon!
16:05:51 <alise> oh
16:05:52 <alise> :P
16:05:54 <alise> CakeProphet: Oh, I've been on the 8pm to 4am schedule before
16:05:57 <alise> CakeProphet: that thing fucks you up
16:06:12 <CakeProphet> yes, yes it does
16:06:16 <alise> 10am to 6pm is almost as bad though
16:06:20 <CakeProphet> mine was getting worse than that too
16:06:30 <CakeProphet> no
16:06:32 <CakeProphet> other way around
16:06:35 <CakeProphet> 6 pm to 10 am
16:06:43 <alise> how do you sleep that long...
16:06:54 <alise> CakeProphet: have you considered taking melatonin to help with your sleep schedule? it must be great, it was recommended on less wrong :P
16:07:04 <CakeProphet> alise: ...I mean, 10 am is when I went to sleep
16:07:09 <alise> right
16:07:12 <CakeProphet> 6 pm is when I woke u
16:07:12 <CakeProphet> p
16:07:14 <alise> i mean start of sleep to end of sleep
16:07:15 <CakeProphet> 8 hours.
16:07:35 <CakeProphet> ...oh, okay.
16:07:37 <CakeProphet> rofl.
16:08:10 <CakeProphet> alise: I might. I'm ridiculous sleep deprived right now and it would still take me about an hour or two to fall asleep
16:08:18 <alise> also my usual way of resetting is to not sleep one night
16:08:24 <alise> then just stay on with willpower till the next night
16:08:28 <alise> this only works after being on a schedule for a while
16:08:28 <CakeProphet> mhm
16:08:36 <alise> anyway you'll wake up at a reasonable time
16:08:45 <alise> i doubt drugs will help :P
16:10:27 <Phantom_Hoover> LessWrong is a very odd place.
16:10:42 <alise> that it is
16:10:57 <alise> but the post recommending melatonin was well thought out and by someone i've talked to before and know from elsewhere
16:11:00 <alise> so I'm inclined to trust it
16:11:03 <Phantom_Hoover> And it seems not to be as rational as it makes out.
16:11:11 <Phantom_Hoover> Particularly the whole cryonics thing.
16:11:20 <alise> The probability of cryonics works out for the cost.
16:11:34 <Phantom_Hoover> How can you actually calculate that probability?
16:12:04 <alise> Well, pick whatever probability you think you have of actually being revived. It can be low, say p=0.01.
16:12:09 <CakeProphet> alise: I'm not even sure if this source code is even useful to modify off of. it's in a halfway state between like three different designs. :P
16:12:21 <alise> Then take the cost of cryonics -- $20,000 I believe, though it's paid for with health insurance.
16:12:22 <Phantom_Hoover> alise: That is intolerably low for the cost.
16:12:30 <CakeProphet> but I'm done with it. I need to focus on important things
16:12:38 <alise> Phantom_Hoover: then you don't value your life much
16:12:53 <alise> basically it's weighing probability-of-cryonics-working with cost-of-cryonics and how-much-you-value-life
16:13:02 <alise> but i'm not going to bother completing what i started because evidently you're already decided
16:13:06 <Phantom_Hoover> But how do you weigh the probability?
16:13:23 <Phantom_Hoover> Oh, yes, accuse me of irrationality.
16:13:24 <alise> Phantom_Hoover: how about you learn statistics? i hear less wrong are quite good at it...
16:13:29 <CakeProphet> alise: http://pastebin.com/fm218v1L
16:13:32 <alise> I wasn't accusing you of irrationality.
16:13:36 <alise> I was accusing you of not listening.
16:13:57 <CakeProphet> you can kind of see the craziness I was trying to do in Generator. SourceCrawler is the root pass-through parser part though
16:14:01 <Phantom_Hoover> But humanity is notoriously awful at predicting the future.
16:14:24 <alise> Phantom_Hoover: No future-prediction required -- and I hope you realise that the unpredictability of the future is one of Eliezer's main rags.
16:14:35 <alise> I'm not a religious LW-believer, but I do think they're more right about cryonics than some other things.
16:14:48 <CakeProphet> alise: if I had kept working on it... I was pretty much just going to delete Generator and just do everything monolithically in SourceCrawler... but with fancy look_ahead and position stacks
16:15:01 * CakeProphet is ashamed.
16:15:21 <CakeProphet> I actually kind of blame Python. I forgot how easy it is to impulsively design in Python
16:15:24 <alise> does it actually do anything?
16:15:26 <Phantom_Hoover> alise: You need to be able to predict to some extent what will happen in the future to calculate the probability, surely?
16:15:28 <alise> and yeah, that's one of my main problems with Python
16:15:30 <CakeProphet> alise: oh. No. It's skeleton code.
16:15:33 <alise> you think "oh, this is working first time" but then it dies
16:15:35 <alise> CakeProphet: right
16:15:56 <CakeProphet> alise: at one point it was more implemented... but then I deleted that part. :P
16:16:00 <alise> Phantom_Hoover: To work out how much cryonics is worth to YOU right now, just take whatever you believe the current probability of cryonics working is. Obviously, it is low, because you are very skeptical!
16:16:19 <Phantom_Hoover> Well, yes.
16:16:23 <oerjan> Phantom_Hoover: there is such a thing as lower bounds on probability, which don't require you to get predictions perfectly right
16:16:27 <alise> Phantom_Hoover: If you want to be convinced of another probability, well, that's a lot harder. It'd involve arguments about rate of improvement of technology, what has already been done (a vitrified kidney has been restored)
16:16:33 <Phantom_Hoover> But it is how to get an accurate probability that is the problem.
16:16:35 <alise> and some other things.
16:16:53 <Phantom_Hoover> Also, vitrified kidney /= brain.
16:16:55 <alise> I personally believe that cryonics works out to be at least breaking even, even for a quite low-probability estimate.
16:17:02 <alise> Phantom_Hoover: It's still living tissue. And of course it isn't possible now.
16:17:10 <alise> We HAVE to extrapolate in predicting the future. It's all you can do.
16:17:15 <Phantom_Hoover> But it's rather different in structure.
16:17:42 <oerjan> Phantom_Hoover: you don't need an _accurate_ probability. you need only to get the lower bound higher than your cost/value
16:17:42 <alise> Phantom_Hoover: Note that you don't pay the $20,0000.
16:17:44 <alise> *200
16:17:46 <alise> You get it with life insurance.
16:17:50 <alise> (not health insurance; i was mistaken)
16:18:08 <Phantom_Hoover> Wait, how does that work?
16:18:37 <alise> I'm not sure. America is weird.
16:18:41 <alise> Maybe it works here too. I don't know.
16:18:44 <alise> All my information is American.
16:19:29 <Phantom_Hoover> (Also, I have philosophical issues over whether cryonics is resurrection)
16:19:34 <alise> Phantom_Hoover: Dualist.
16:19:43 <Phantom_Hoover> Not really.
16:19:54 <alise> Phantom_Hoover: Yes.
16:20:06 <Phantom_Hoover> Teleport thingy?
16:20:35 <CakeProphet> alise: I realized what I was trying to do was entirely unnecessary. Basically SourceCrawler kept track of reading forward into the source, and to process it, it would invoke a list of coroutines that each have a reference to the crawler. There would be methods so that each coroutine could do things like look ahead from its current position, check to see if the next input matches such and such string. the output from the corouti
16:20:42 <CakeProphet> </tl;dr>
16:20:44 <alise> Phantom_Hoover: Same atoms, different place.
16:21:00 <alise> Unless you believe that /walking around/ kills you.
16:21:05 <Phantom_Hoover> If I blend you, then the atoms are the same.
16:21:11 <alise> No. No they're not.
16:21:17 <Phantom_Hoover> Yes they are.
16:21:23 <alise> They're certainly not in the same arrangement.
16:21:41 <CakeProphet> alise: it's similar semantics to how parser monads work in Haskell, except in crazy dynamic Python world. :P
16:21:46 <oerjan> Phantom_Hoover: if you believe the near-death stories, then you _could_ argue medical science is _already_ doing resurrection ;D
16:21:54 <alise> CakeProphet: maybe we could use a ~REAL PARSER~
16:21:56 <alise> ...nawww
16:22:04 <CakeProphet> alise: ...I don't even know wtf a real parser is
16:22:07 <CakeProphet> never made one.
16:22:14 <alise> Phantom_Hoover: And you do realise that all your cells are being replaced all the time?
16:22:20 <alise> I doubt you share a single atom with your six-month-old self.
16:22:21 <Phantom_Hoover> Indeed.
16:22:25 <alise> Phantom_Hoover: So, how's dying been?
16:22:32 <Phantom_Hoover> IIRC some atoms are carried over.
16:22:34 <alise> Oh wait, you haven't noticed it because we have a wonderful brain that keeps a continuous experience going.
16:22:38 <alise> Even when our hearts stop we resume.
16:22:42 <oerjan> (and if you don't believe in spirituality then i don't see why you should consider resurrection anything special at all)
16:22:47 <alise> Phantom_Hoover: Great! So our entire consciousness is contained in a few tiny atoms.
16:22:55 <oerjan> *something spiritual
16:22:56 <alise> That's reassuring. It makes sense, all these sentient atoms.
16:22:57 <Phantom_Hoover> No, I'm bein pedantic.
16:23:07 <CakeProphet> alise: well... it's not reall a parser at this point. The whole point is to match specific parts of the code.... but most of it you can ignore (right?)
16:23:11 <Phantom_Hoover> And you're just being rude now.
16:23:15 <alise> CakeProphet: It's a half-parser, basically.
16:23:20 <alise> Phantom_Hoover: I'm ridiculing a ridiculous hypothesis.
16:23:24 <CakeProphet> oh... and I did not realize anyone else knew who the fuck Emperor Norton the First was. :D I am pleased.
16:23:37 <alise> CakeProphet: A real parser -- the easiest would be recursive descent.
16:23:40 <Phantom_Hoover> It's not a hypothesis. I never claimed it was.
16:23:48 <alise> Since you can actually manually-write those.
16:23:55 <alise> But I think I'll just keep writing this.
16:24:21 <alise> CakeProphet: We will need to recurse in this one, because we need to pre-parse the contents of {}.
16:24:24 <alise> So we can pass it to a block.
16:24:30 <CakeProphet> A recursive descent parser is a top-down parser built from a set of mutually-recursive procedures (or a non-recursive equivalent) where each such procedure usually implements one of the production rules of the grammar. Thus the structure of the resulting program closely mirrors that of the grammar it recognizes.
16:24:36 <CakeProphet> alise: that kind of sounds like what I was doing.
16:26:07 <alise> CakeProphet: I like how this thing became self-hosting in under one day.
16:26:50 <oerjan> alise: i recall many neurons are not replaced. although whether the atoms in them still are, i'm not sure. maybe atoms in their dna last throughout life...
16:27:01 <CakeProphet> def macro_rule(proc) { yield proc.match_forward("@compiler"); if (not proc.look_ahead("I don't even know)) { yield someOtherGenerator(proc); }
16:27:27 <CakeProphet> recursive decent?
16:28:19 <Phantom_Hoover> Also, slow exchange of atoms is not the same as total cessation of all brain activity.
16:28:38 <oerjan> alise: although i realize that probably still has no relevance to memory
16:28:56 <alise> CakeProphet:
16:29:03 <alise> (#
16:29:03 <alise> if wut { abcdef; quux; print "abc"; bar { ... } }
16:29:03 <alise> is parsed as
16:29:03 <alise> [Block('if', 'wut', [Stmt('abcdef'), Stmt('quux'), Stmt('print "abc"'),
16:29:03 <alise> Block('bar', [], [...])])]
16:29:04 <alise> *but* we should parse it as
16:29:06 <alise> ('if', 'wut', 'abcdef; quux; print "abc"; bar { ... }')
16:29:08 <alise> first, since that's what block handlers will take (they won't need more,
16:29:10 <alise> will they?)
16:29:12 <alise> #)
16:29:14 <alise> ^ thoughts on the above?
16:29:20 <oerjan> CakeProphet: note that recursive descent parser implemented naively have trouble with left-recursive grammar rules
16:29:26 <oerjan> *parsers
16:30:03 <CakeProphet> alise: so just split into tokens first?
16:30:13 <CakeProphet> or only?
16:30:17 <oerjan> (haskell's parsec, which is _essentially_ recursive descent, has specially made combinators for handling those)
16:30:23 <alise> CakeProphet: basically the /only/ thing we should do at first
16:30:24 <alise> is change
16:30:28 <alise> A B { C } into (A,B,C)
16:30:34 <alise> oerjan: isn't it PEG?
16:30:37 <alise> hmm, I guess not
16:30:45 <CakeProphet> aaaaah
16:30:46 <oerjan> what's PEG
16:30:54 <alise> popular with the hipsters parsing thing
16:30:59 <alise> http://en.wikipedia.org/wiki/Parsing_expression_grammar
16:31:02 <CakeProphet> alise: yeah, then recurse into C to do the same
16:31:09 <alise> CakeProphet: no!
16:31:12 <CakeProphet> ...why not?
16:31:15 <alise> CakeProphet: because if A is a registered block, we do A_handler('B','C')
16:31:19 <alise> and then compile /that/
16:31:26 <alise> if A isn't registered, though, we recurse into C, yes.
16:31:33 <CakeProphet> ah okay.
16:31:41 <AnMaster> alise, CakeProphet hm? what are you doing? :)
16:32:07 <CakeProphet> :)
16:32:20 <CakeProphet> making Python esoteric
16:32:25 <AnMaster> ouch
16:32:27 <CakeProphet> and by esoteric... I mean awesome.
16:32:29 <AnMaster> and fun
16:33:03 <AnMaster> CakeProphet, how does it look currently?
16:33:08 <alise> CakeProphet: Lemme show you the current source.
16:33:19 -!- tombom has quit (Ping timeout: 258 seconds).
16:33:24 <oerjan> alise: "A parsing expression grammar essentially represents a recursive descent parser in a pure schematic form ..."
16:33:24 <alise> AnMaster: http://www.vjn.fi/pb/p1257459481.txt
16:33:25 <alise> Erm, AnMaster.
16:33:30 <alise> AnMaster: Note the glorious self-hostingness.
16:33:32 <CakeProphet> alise: I realized you could support instance variable declarations in Python using the __slot__ thing. It would actually make Python more memory efficient if you did __slots__ with everything
16:33:42 <alise> AnMaster: Feature not seen there: (# nestable (# inline #) comments #)
16:33:48 <CakeProphet> alise: feel free to completely ditch what I was doing. I think it's too disorganized to work with.
16:33:57 <AnMaster> alise, hm, got any good example showing the esotericness of it?
16:34:00 <alise> CakeProphet: I already have :D
16:34:05 <AnMaster> oh wait
16:34:07 <alise> AnMaster: you can use gnu indentation style with python.
16:34:09 <AnMaster> self hosting in *that* sense
16:34:14 <alise> yep
16:34:16 <alise> written in itself!
16:34:40 <alise> AnMaster: http://www.vjn.fi/pb/p6558475366.txt lovely example~
16:35:05 <AnMaster> alise, okay the { } indeed. can't spot anything else obvious in the self hostingness
16:35:09 <AnMaster> ah changed comments too
16:35:17 <alise> AnMaster: Look at the indentation.
16:35:18 <alise> Isn't it beautiful.
16:35:22 <alise> AnMaster: Anyway we're adding more.
16:35:37 <alise> AnMaster: Ever wanted to create your own Python operators and control structures?
16:35:40 <AnMaster> alise, well the indentation doesn't matter any longer I presume now that you have {}
16:35:43 <alise> AnMaster: http://www.vjn.fi/pb/p4242397287.txt This should work sometime.
16:35:59 <AnMaster> alise, hm (# nested (# comments #) indeed #) <-- I have seen this comment style somewhere, I can't remember where
16:35:59 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
16:36:02 <AnMaster> any idea?
16:36:09 <alise> my inspiration was (# putting the #-style line comments in brackets #)
16:36:13 <alise> Anyway, gawp at http://www.vjn.fi/pb/p4242397287.txt
16:36:15 <CakeProphet> alise: might want to change the syntax up though to make it easier to parse
16:36:16 <alise> s/$/./
16:36:21 <alise> CakeProphet: nu.
16:36:24 <oerjan> alise: parsec has a strange default backtracking rule that's slightly similar to PEG, but the try combinator selects full backtracking
16:36:31 <AnMaster> alise, now that seems to approach perl in some aspects
16:36:41 <alise> AnMaster: Ah, but it's more like it's approaching Lisp!
16:36:57 <AnMaster> alise, maybe feature-wise, but not syntax-wise
16:37:39 <AnMaster> syntax-wise it is approaching some mix of llvm asm (iirc it is filled with @foo kind of stuff) and perl
16:38:43 <CakeProphet> I think if I had kept going with my crazy parser system it would have ended up being similar to parsec in some ways.
16:38:44 <oerjan> (you can backtrack from a non-try sub-parser only if it has consumed no characters)
16:39:20 <AnMaster> CakeProphet, parsec is haskell iirc?
16:39:27 <CakeProphet> yes.
16:39:28 <AnMaster> hm, quite a horrible pun
16:39:51 <alise> carser pombinators
16:40:04 <CakeProphet> alise: at one point I had it save copies of the parser state onto a stack... like perfectly, so you could basically time travel.
16:40:22 <alise> CakeProphet: infinite-lookahead!
16:41:13 <alise> CakeProphet: You know, maybe we should drop the compiling-to-Python thing and just make this a language.
16:41:24 <CakeProphet> alise: also, if you're ever dealing with a stream of characters that you just need to accumulate and not really search through and stuff... consider StreamIO
16:41:38 <AnMaster> hm is lex tc?
16:41:49 <CakeProphet> alise: nah... it's fun to abuse Python.
16:41:50 <alise> AnMaster: doesn't it have { ... }
16:41:58 <alise> CakeProphet: :( But this is so close to a good language :P
16:41:59 <AnMaster> alise, I can't say I'm very good at lex
16:42:15 <alise> separate lexers/parsers are for fags :P
16:42:18 <AnMaster> alise, I wonder if you could do some dirty tricks in the style of factorial with C++ templates in pure lex
16:42:19 <AnMaster> or such
16:42:23 <alise> Of whom I've NOTHING AGINST
16:42:31 <alise> It is a perfectly acceptable lifestyle choice to separate a lexer and a parser
16:42:36 <alise> It's just an abomination against nature, is all
16:42:46 <CakeProphet> alise: so if the compiler were self-hosting... would it be possible to write the compiler hooks in the language itself?
16:43:09 <CakeProphet> alise: I mean you certainly could make a language... but that greatly increases the amount of time and effort.
16:43:23 <CakeProphet> but it should definitely have an awesome type awesome
16:43:28 <CakeProphet> -ahem-
16:43:37 <alise> <CakeProphet> alise: so if the compiler were self-hosting... would it be possible to write the compiler hooks in the language itself?
16:43:39 <alise> yes
16:43:45 <alise> <CakeProphet> but it should definitely have an awesome type awesome
16:43:45 <alise> what
16:43:52 <CakeProphet> ....it should.
16:43:57 <alise> what does that even
16:44:01 <CakeProphet> a type awesome
16:44:03 <CakeProphet> is like a type system
16:44:06 <CakeProphet> but better, and typo'd
16:44:18 <alise> but but but types are like grawt
16:44:33 -!- lament has joined.
16:44:35 <CakeProphet> ....grawt?
16:45:01 <oerjan> AnMaster: i was under the impression that lex converted stuff into a FSA, so the rules themselves can only be regular. but you can probably to weird stuff in the { ... } actions.
16:45:26 <AnMaster> oerjan, oh right, it is the "insert C" right?
16:45:33 <alise> Automatic character creation for LambdaMOO:
16:45:34 <alise> A character has been created, with name "alise" and password [REDACTED]
16:45:34 <alise> ^_^
16:45:34 <AnMaster> oerjan, okay what about yacc/bison?
16:45:37 <CakeProphet> alise: I guess variable declarations is fine
16:45:37 <AnMaster> could it be TC
16:46:01 <CakeProphet> alise: but typeclasses in imperitive languages? It'd be like interfaces but better.
16:46:02 <oerjan> AnMaster: yacc/bison is LALR(1), deterministic pushdown automata
16:46:28 <alise> CakeProphet: But... you don't need them...
16:46:31 <alise> *imperative, also
16:46:42 <CakeProphet> ...right
16:46:45 <oerjan> so definitely not TC in the parsing itself either
16:47:56 <CakeProphet> alise: it would suck if your latest object-code version of the self-hosting compiler had a terrible bug and could no longer compile your languages compiler... and you had no backup.
16:48:08 <alise> CakeProphet: I have braces_orig.py
16:48:16 <alise> Strip the (# ... #) comments and it'll parse the {}; stuff
16:48:31 <alise> And I won't be using custom control structures in the compiler
16:48:35 <alise> So I've bootstrapped this one safely
16:48:36 <oerjan> (LALR(1) is a subset of LR(1), which is up to grammar rearrangement equivalent to LR(k) and all deterministic pushdown automata in power)
16:48:40 <alise> Good thing my language is so close to its parent :P
16:48:48 <CakeProphet> I mean... I would just emit human-readable Python. I know it's difficult and all with that enforce indentation.
16:48:56 <alise> It is human-readable.
16:49:13 <CakeProphet> you're a towel though... so you can't read it.
16:49:14 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
16:49:14 <oerjan> and _non-deterministic_ pushdown automata <=> context-free languages, still not TC
16:49:16 <alise> Just replace the first N spaces of a line with 4N spaces.
16:49:30 <alise> Voila, it's identical to braces_orig.py apart from some newlines.
16:49:58 <CakeProphet> Braces should be called Emperor Norton.
16:50:42 <alise> no :P
16:50:49 <alise> it should be called
16:50:55 <alise> Braces -- Clean up your BS
16:52:03 <alise> You know, .bs is a TLD...
16:52:04 <alise> braces.bs
16:52:12 <alise> http://braces.bs/braces.bs :P
16:52:41 <CakeProphet> ...
16:53:03 <CakeProphet> so how about lazy variables/function parameters?
16:53:16 <alise> That would be ... a big change
16:53:29 <CakeProphet> nah...
16:54:52 <CakeProphet> two words: lambda hacks
16:55:48 <CakeProphet> it'd be like io... which is awesomeness.
16:56:04 -!- lament has quit (Ping timeout: 240 seconds).
16:56:15 <CakeProphet> alise: I meant explicitly lazy by the way. you'd declare the parameter or variable that way.
16:56:43 -!- Phantom_Hoover has joined.
16:56:45 <alise> Maybe we should JUST USE IO.
16:56:45 <CakeProphet> branch(cond, lazy truecode, lazy falsecode)
16:56:55 <CakeProphet> it is pretty much what we want, right?
16:56:59 <oerjan> alise: i still want a pun on python, braces and teeth in there.
16:57:23 <CakeProphet> alise: How about instead of hacking Python we just support the io community?
16:57:46 <CakeProphet> and then hack that.
16:58:17 <CakeProphet> also there's the possibility of hacking the CPython interpreter itself. It's quite a monster though.
16:58:31 <CakeProphet> hand-coded struct polymorphism and stuff
16:58:35 <alise> CakeProphet: Meh, the Io community is almost non-existent :-)
16:58:41 <alise> CakeProphet: and the stdlib is piss poor
16:58:51 <alise> And Steve Dekorte believes piracy is stealing :-(
16:58:51 <CakeProphet> right... WHICH IS WHY IT NEEDS OUR AWESOME CODING POWERS
16:59:00 <alise> I refuse to support a project by such a man!
17:00:32 * oerjan gets disappointing results on a google image search for "python with braces"
17:00:38 <alise> hahaha
17:01:03 <alise> CakeProphet: We should make "from __future__ import braces" say "You already have them!" instead of "Not a chance."
17:01:36 <CakeProphet> rofl
17:01:52 <CakeProphet> I didn't even realize there was a thing in Python
17:02:25 <alise> http://timhatch.com/projects/pybraces/ the previous art
17:02:35 <alise> it's LAME though, LAME
17:03:25 <oerjan> <AnMaster> Phantom_Hoover, does this beep you? <-- i am pretty sure beeps are one of the things censored by channel mode +c
17:03:41 <CakeProphet> hmmm
17:03:46 <CakeProphet> I'm going to make a language called
17:03:56 <CakeProphet> Eager Haskell with gotos
17:04:22 <oerjan> (given that it's probably at least as irritating as everything else +c is intended to censor, combined)
17:04:45 <CakeProphet> and repopularize goto-oriented programming a solution for fast business software development.
17:05:12 <CakeProphet> ......what. censoring?
17:05:15 <CakeProphet> what the fuck is that shit.
17:05:31 <oerjan> CakeProphet: the c is for color, i think
17:05:38 <CakeProphet> rofl. I see.
17:06:09 <CakeProphet> I actually think come from is a cool idea
17:06:22 <CakeProphet> come from with a return to
17:06:37 <CakeProphet> goto => returnfrom
17:06:42 <CakeProphet> comefrom => returnto
17:07:15 <oerjan> isn't come from the essence of aspect-oriented programming, or something ( oerjan doesn't really know the latter )
17:07:23 <CakeProphet> hmmm... what's a language like that missing though. OH I KNOW. MONADS. FUCK YEAH.
17:07:46 <CakeProphet> oerjan: I'm pretty sure aspect oriented programming is just vaporware
17:07:52 <CakeProphet> but it's similar I guess
17:08:01 <CakeProphet> come from is "reactive" programming or event-driven
17:08:50 <CakeProphet> so you could just have some crazy type system, and equally crazy pattern matching syntax to specify come from events.
17:09:08 <CakeProphet> that I don't feel like thinking about right now.
17:09:19 <oerjan> CakeProphet: come to think of it haven't heard it mentioned recently - did the fad just die?
17:09:41 <CakeProphet> I think it's been dead for a few years now. It didn't last long.
17:10:58 <oerjan> CakeProphet: i'm pretty sure you could make a goto monad transformer. someone probably did. a vague bell rings about "labels"
17:11:14 <CakeProphet> oerjan: I've thought about it would work
17:12:11 <CakeProphet> it'd be like ST/IO ( Map String (ST/IO)) -- very rough type signature to illustrate idea
17:12:51 <oerjan> hm or maybe you can just make it a combinator in any continuation monad...
17:13:13 <CakeProphet> oerjan: essentially AOP is just a way to partially declare methods elsewhere, so you can organize code by functionality into different source files but have it all run together when compiled.
17:13:19 <alise> <CakeProphet> oerjan: I'm pretty sure aspect oriented programming is just vaporware
17:13:20 <alise> er, no
17:13:30 <alise> aspect oriented programming just lets you:
17:13:31 <alise> - wrap functions
17:13:35 <alise> - run some code before a function
17:13:36 <alise> - run some code after a function
17:13:37 <alise> (well, methods)
17:13:39 <alise> in a class.
17:13:42 <alise> well, subclas.
17:13:44 <alise> it's not much
17:13:54 <alise> it basically lets you do a lot of what redefining a method would do except copy-paste.
17:13:57 <alise> it's a bit naff though.
17:14:02 <CakeProphet> yeah... I made a plugin system in Python that worked like that.
17:14:16 <alise> CLOS does it
17:14:20 <alise> it wasn't called AOP back then though
17:14:23 <alise> and they did it properly
17:15:17 <CakeProphet> yeah, EMACS does it a lot.
17:15:50 <oerjan> alise: reinventing lisp is a time-honored tradition, right?
17:15:59 <oerjan> *stuff from
17:16:03 <alise> oerjan: there's even a law about it!
17:16:12 <alise> CakeProphet: *Emacs, and Emacs doesn't use Common Lisp
17:16:32 <CakeProphet> right, but it does AOP-like stuff is what I meant.
17:16:38 <oerjan> well i'm a bit green, but i guess someone must have spun up a law yeah
17:17:22 * alise swats oerjan -------------###
17:17:30 <alise> the swatter returns! now with a longer handle!
17:17:31 <oerjan> ouch
17:17:37 -!- MizardX has joined.
17:17:37 <alise> and it's MINE! all MI--
17:17:39 <oerjan> impostor!
17:17:41 * alise snaps off the longer handle by mistake
17:17:44 <alise> Oops, it's normal length now.
17:17:44 <alise> ...
17:17:46 * alise runs
17:18:18 <CakeProphet> hmmm... here's an idea
17:18:29 <CakeProphet> what about a programming language that you program by playing a text-based game.
17:18:34 <alise> no :P
17:19:09 <CakeProphet> "You put on your rob and wizard cap" declares an int or something
17:19:52 <CakeProphet> or actually that puts it on the stack. You have to allocate it first by going to the shop and buying it. :)
17:20:04 <Sgeo_> The LambdaMOO 'nopoly board is gone!
17:20:09 <Sgeo_> There was a hotel in there!
17:20:11 <oerjan> http://esoteric.voxelperfect.net/wiki/TRANSCRIPT has a dead link :(
17:20:12 <alise> rob and wizard cap
17:20:16 <alise> Rob, and wizard cap.
17:20:34 <CakeProphet> .....
17:20:44 <CakeProphet> I must re-iterate
17:20:46 <CakeProphet> I'm very tired.
17:21:00 <CakeProphet> which is probably indicated by my programming language ideas at the moment.
17:21:58 <CakeProphet> but yeah equipment=memory... doing things are basic operations. Do stuff with equipment is like calling a function with the values as parameters. :)
17:22:02 <alise> i have an island for a programming language that is also an island for a cheese
17:22:08 <alise> by island, i mean idea
17:22:15 <oerjan> darn wayback is slow
17:22:16 <CakeProphet> I think going through dungeons would specify classes.
17:22:17 <Sgeo_> Portable rooms can go on the Geography shelf
17:22:21 <alise> oerjan: yes.
17:22:28 <CakeProphet> there's a lot to define... so you've got to make it a quest.
17:22:49 <CakeProphet> and then when you get to end and slay the dungeon boss you get the equipment that represents your data structure. :)
17:22:54 <oerjan> CakeProphet: http://web.archive.org/web/20071011215948/www.corknut.org/code/transcript/samples/helloworld.txt
17:23:58 <CakeProphet> ha...
17:24:05 <CakeProphet> people are IO streams. :)
17:24:20 <alise> deep.
17:25:13 <CakeProphet> I guess technically a text-based game is already an interactive programming language with a very limited instruction set
17:25:33 <CakeProphet> but your commands change state and produce IO.
17:26:06 <alise> x y f
17:26:06 <alise> q
17:26:32 <CakeProphet> hmmm... I should make factorial in Glass
17:28:14 <AnMaster> <oerjan> <AnMaster> Phantom_Hoover, does this beep you? <-- i am pretty sure beeps are one of the things censored by channel mode +c <-- sure, but that was a plain highlight
17:28:26 <AnMaster> so +c or not was completely irrelevant
17:28:46 <oerjan> oh
17:29:05 <oerjan> i somehow thought you had tried to put a beep in there
17:29:11 <alise> "The specifics of this language (up to version 4.4.0) are the absence of loops as such. This is excusable - after all, gnuplot is not a general-purpose language but a graph plotting software. A loop can be simulated by creating a separate file with loop body, which then should be "read" to start the loop and "reread" for each iteration."
17:29:34 <alise> "Haskell is nowhere near an esoteric or unpopular language"
17:29:37 <alise> Ah, so nice to read those words.
17:33:47 <AnMaster> alise, they added loops in 4.4.0?
17:33:51 <alise> nope.
17:33:53 <alise> it's an abuse
17:33:56 <AnMaster> ah
17:33:56 <alise> read 'file'
17:33:58 <alise> then in the file
17:33:58 <alise> reread
17:33:59 <AnMaster> true
17:34:03 <alise> to... restart reading it :D
17:34:04 <alise> it's brilliant
17:34:07 <alise> well
17:34:09 <alise> reread is just like import
17:34:10 <alise> i think
17:34:13 <alise> except it will load a file twice
17:34:39 <AnMaster> alise, it was "(up to version 4.4.0)" that made me think that either a) "added after that" or b) "last version at time of that being written"
17:35:27 <alise> ah
17:36:41 <AnMaster> alise, btw what is your opinion on lego? With that I don't mean the cooperation or such. I mean the "idea world" lego, if you see what I mean. Good or bad?
17:36:58 <alise> It's... of course lego is good...
17:37:05 <alise> Why on earth would it be bad
17:37:07 <AnMaster> alise, so what about bacon lego
17:37:10 <AnMaster> just an idea
17:37:38 <alise> what
17:37:45 <AnMaster> bacon lego. good or bad idea?
17:38:23 <AnMaster> it would obviously need to be fried so it is stiff.
17:38:25 <oerjan> <relet> just invent HQ9+R <-- hm i sense an item for the List of Ideas
17:38:33 <AnMaster> oerjan, R standing for?
17:38:44 <oerjan> Race condition
17:38:50 <Sgeo_> alise, your player object physically exists
17:38:53 <AnMaster> oerjan, heh
17:39:07 <AnMaster> hm I think I broke alise's mind there
17:39:12 <oerjan> except my idea is a language like HQ9+ where the commands are all _bugs_ of some kind
17:39:24 <alise> HQ9+B(ug)
17:39:26 <Sgeo_> Time now: 9:37 a.m. Monday 05/31/10
17:39:26 <Sgeo_> Last login: 7:14 p.m. Monday 01/18/38
17:39:26 <Sgeo_> Last logout: 12:00 a.m. Monday 05/31/10
17:39:29 <AnMaster> oerjan, such as?
17:39:36 <alise> B is a no-operation, but occasionally is a bug whereby it runs a brainfuck interpreter
17:39:39 <oerjan> alise: no it should _not_ be an extension of HQ9+
17:39:51 <oerjan> well N could be null pointer dereferencing
17:39:57 <oerjan> P could be page fault
17:39:58 <alise> http://psychology.wikia.com/wiki/Fibonacci_numbers what has this got to do with psychology
17:40:00 <relet> D ivision by zero
17:40:11 <alise> relet: relent
17:40:12 <AnMaster> oerjan, ick has that random bug
17:40:23 <oerjan> AnMaster: i know
17:40:29 <AnMaster> can be disabled with -b, love that
17:40:35 <oerjan> C could be cosmic ray
17:40:50 <oerjan> AnMaster: i know, i did it for the unlambda interpreter
17:41:03 <Sgeo_> alise, if you're not logging in now, I'm going to go watch some SG-2
17:41:08 <Sgeo_> *SG-1
17:41:18 <AnMaster> oerjan, hm I wonder if you could make such a language where you could actually use the bugs to compute something
17:41:30 <oerjan> BCDPR so far...
17:41:31 <alise> Sgeo_: i'm looking in
17:41:31 <relet> it must be turing complete, of course.
17:41:33 <alise> *logging
17:41:43 <alise> relet: you must have that + increases the accumulator
17:41:48 <AnMaster> oerjan, S = Stack Smashing
17:41:55 <AnMaster> due to overflow
17:42:00 <oerjan> relet: um that would require it to have actual _useful_ commands
17:42:06 <AnMaster> of buffer
17:42:08 <alise> oerjan: or just very good interaction of death
17:42:12 <alise> INTERACTION OF DEATHS
17:42:17 <AnMaster> oerjan, no?
17:42:30 <relet> no, just deterministic enough to produce something useful after being repeated long enough
17:42:32 <oerjan> AnMaster: BCDPRS then...
17:42:47 <relet> or combined well
17:42:58 <AnMaster> oerjan, I = Illegal instruction
17:43:23 <oerjan> oh i forgot N
17:43:33 <relet> every instruction could at least put its corresponding error code on the stack.
17:43:40 <alise> fib =: (-&2 +&$: <:) ^: (1&<) ;; fibonacci in J
17:43:45 <alise> fib =: (-&2 +&$: <:) ^: (1&<) M. ;; memosising fibonacci in J
17:43:46 <CakeProphet> !glass {M[m(_o)O!<4>f?(_o)o.?] [f(_n)0=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)a.?(_n)1=(_n)*<1>(_a)s.?(_x)1=\(_n)*]}
17:43:47 <alise> *memoising
17:43:47 <oerjan> BCDINPRS
17:43:48 <relet> after manipulating it in some way
17:43:49 <alise> "That Was Easy"
17:43:52 <alise> s/$/./
17:43:56 <CakeProphet> ....
17:43:57 <AnMaster> relet, most of these would be fatal to the intperter
17:44:00 <CakeProphet> Glass is so hard to debug
17:44:02 <AnMaster> interpreter*
17:44:14 <AnMaster> CakeProphet, a lot of esolangs are
17:44:18 <relet> AnMaster: write an interpreter that survives the race
17:44:51 <AnMaster> relet, how would that help with I?
17:44:59 <alise> AnMaster: catch the signal!
17:45:01 <relet> hmmm
17:45:17 <relet> or fork before every page fault
17:45:18 <AnMaster> oerjan, oh wait, what about M for Memory Leak
17:45:21 <alise> haha wow
17:45:38 <alise> (1 1; 1 0)^(n-1) = (F(n) F(n-1); F(n-1) F(n-2)), we know this
17:45:39 <alise> NB. mm is matrix multiplication
17:45:39 <alise> mm =: +/ .*
17:45:39 <alise> NB. mp is a general function to raise an object x to an integer power y
17:45:39 <alise> NB. using the repeated squaring algorithm
17:45:39 <alise> NB. (it can use any named multiplication function in place of 'mm')
17:45:41 <alise> mp =: 4 : 'mm / ( mm ~^: (I.|.#: y ) x)'
17:45:43 <alise> NB. fib n raises the 2x2 matrix (1,1)(1,0) to the n-1 power and returns the top left value
17:45:45 <alise> fib =: {.&,&((2 2$1x 1 1 0)&mp&<:)
17:45:47 <alise> pretty literal thinking in implementatio nthere
17:45:48 <alise> *implementation there
17:45:50 <AnMaster> alise, NB?
17:45:53 <alise> AnMaster: comment in J
17:45:56 <AnMaster> heh
17:45:59 <alise> the whole page is just tons of ways to do fibonacci in J :D
17:45:59 <AnMaster> alise, Nota Bene?
17:46:07 <alise> fib =: {:&([+/\@|.@]^:[1x 0"0) NB. this is called the imperative loop version
17:46:11 <alise> sure looks like an imperative loop to me!
17:46:12 <alise> AnMaster: yes
17:46:18 <alise> or as my brain always expands it, "Note by"
17:46:21 <AnMaster> alise, PLEASE NOTA BENE!
17:46:26 <alise> >_<
17:46:46 <alise> PLEASE NOT NB. THIS IS AN INTERCAL/J POLYGLOT
17:46:47 <AnMaster> hm where is ais when you need him
17:47:13 <AnMaster> alise, does intercal handle the NOT even when leading part of the word? or?
17:47:15 <AnMaster> I forgot
17:47:17 <Sgeo_> PLEASE NOT in J?
17:47:19 <alise> AnMaster: yes
17:47:24 <alise> that's why PLEASE NOTE works
17:47:28 <AnMaster> ah yes
17:47:30 <AnMaster> forgot
17:47:31 <CakeProphet> !glass {M[m(_o)O!(_f)F!<4>(_f)f.?(_o)o.?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)a.?(_n)1=(_n)*<1>(_a)s.?(_x)1=\(_n)*]}
17:47:36 <AnMaster> alise, PLEASE NOTA BENE would also work
17:47:42 <AnMaster> nicely
17:47:45 <alise> AnMaster: no because that's not a J comment
17:47:47 <CakeProphet> !glass {M[m(_o)O!(_f)F!<4>(_f)f.?(_o)(on).?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)a.?(_n)1=(_n)*<1>(_a)s.?(_x)1=\(_n)*]}
17:47:48 <Sgeo_> How does PLEASE NOT not confuse J?
17:47:55 <EgoBot> terminate called after throwing an instance of 'std::bad_alloc'
17:47:55 <alise> Sgeo_: not at all if you define PLEASE and NOT!
17:47:58 <AnMaster> alise, well obviously not for J, I meant for intercal in genera
17:48:00 <AnMaster> general*
17:48:11 <Sgeo_> Ah
17:48:13 <EgoBot> terminate called after throwing an instance of 'std::bad_alloc'
17:48:21 <Sgeo_> alise, your body is still in Limbo
17:48:25 <pikhq> Oh yeah; that's in C++, isn't it?
17:48:29 <CakeProphet> man this error messages are just... zen
17:48:38 <CakeProphet> ......
17:48:44 <CakeProphet> my grammar is terrible.
17:48:58 <AnMaster> pikhq, chances are std::[a-z_]+ is C++ ;P
17:49:04 <oerjan> CakeProphet: you're grammar are fines
17:49:11 <alise> huh why can't I get PLEASE NOT working
17:49:17 <CakeProphet> but I am disappoint. :(
17:49:19 <pikhq> AnMaster: Yeah.
17:49:21 <alise> fib=: 3 : 0
17:49:21 <alise> if. 2 >: y do. 1<.y else.
17:49:21 <alise> if. y = 2*n=.<.y%2
17:49:21 <alise> do. (n+1) -&*:&fib n-1
17:49:21 <alise> else. (n+1) +&*:&fib n end.
17:49:22 <alise> end.
17:49:24 <alise> )
17:49:26 <alise> Well that looks rather more conventional.
17:49:34 <alise> haha i has binet's formula
17:49:37 <AnMaster> alise, anyway would PLEASE NOT NB really work in J?
17:49:42 <alise> NB. Although J does not have arbitrary precision floating point numbers,
17:49:42 <alise> NB. it makes it possible to calculate this precisely by defining
17:49:42 <alise> NB. multiplication in ring extensions of Z and Q.
17:49:45 <alise> AnMaster: *NB.
17:49:49 <alise> and yes, if you can get PLEASE NOT working
17:49:56 <alise> which I'm trying to do and suffering puzzling difficulty
17:50:03 <AnMaster> alise, what do you mean "*NB"?
17:50:08 <AnMaster> I said NB
17:50:10 <AnMaster> ??
17:50:15 <oerjan> AnMaster: "NB."
17:50:26 <alise> PLEASE =: +
17:50:26 <alise> NOT =: 0
17:50:26 <alise> PLEASE NOT
17:50:26 <alise> 0
17:50:26 <alise> PLEASE NOT NB. LOL DEATH BUTTS
17:50:27 <alise> 0
17:50:30 <oerjan> i presume that's J's actual comment iniator
17:50:35 <alise> AnMaster: "NB." is the comment indicator, not "NB".
17:50:36 <AnMaster> alise, that won't be valid intercal though
17:50:36 <oerjan> *initiator
17:50:41 <AnMaster> alise, ah, right
17:50:43 <alise> AnMaster: well that's the challenge of a polyglot isn't it...
17:50:43 <AnMaster> I see
17:50:50 <AnMaster> alise, well yes
17:51:07 <oerjan> alise: PLEASE NOT NB. is a bit ungrammatical
17:51:07 <alise> could we make this valid intercal as the first line:
17:51:10 <alise> x =: monad define :
17:51:17 <alise> oerjan: yes :P
17:51:27 <AnMaster> alise, was that question to me?
17:51:34 <AnMaster> bugger if I know
17:51:43 <AnMaster> we need ais523 for this
17:52:01 <alise> ais is probably sleeping now
17:52:35 <AnMaster> alise, what? 18:52?
17:52:37 <CakeProphet> !glass {M[m(_o)O!(_f)F!<4>(_f)f.?(_o)(on).?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)a.?(_n)1=(_x)*<1>(_a)s.?(_x)1=\(_n)*^]}
17:52:37 <EgoBot> 10
17:52:41 <CakeProphet> :)
17:52:53 <oklopol> that was fast
17:52:55 <oklopol> or wait was it
17:52:57 <alise> AnMaster: he was awake at 6am yesterday
17:53:00 <alise> and said he'd sleep in the day
17:53:00 <CakeProphet> just 4!
17:53:01 <alise> so yes.
17:53:01 <oklopol> i don't see time tags
17:53:12 <alise> it /is/ a holiday...
17:53:19 <CakeProphet> !glass {M[m(_o)O!(_f)F!<10>(_f)f.?(_o)(on).?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)a.?(_n)1=(_x)*<1>(_a)s.?(_x)1=\(_n)*^]}
17:53:20 <EgoBot> 55
17:53:24 <CakeProphet> :o
17:53:27 <AnMaster> ah
17:53:52 <CakeProphet> !glass {M[m(_o)O!(_f)F!<100>(_f)f.?(_o)(on).?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)a.?(_n)1=(_x)*<1>(_a)s.?(_x)1=\(_n)*^]}
17:53:52 <EgoBot> 5050
17:53:58 <oerjan> CakeProphet: er you realize 4! is 24 not 10
17:54:12 <CakeProphet> oh... I always forget it's * :P
17:54:35 <AnMaster> eh
17:54:56 <alise> CakeProphet: you invented the triangular numbers
17:54:57 <alise> congrats
17:54:59 <AnMaster> glass is sure hard to read
17:55:20 <alise> CakeProphet: you could also have just written n(n+1) / 2
17:55:30 <alise> AnMaster: not as much as brainfuck
17:55:32 <alise> or underload
17:55:41 <alise> just rearrange the code P
17:55:42 <alise> *:P
17:55:43 <AnMaster> alise, well sure.
17:55:57 <AnMaster> and intercal beats it too
17:56:13 <alise> intercal is quite easy to read apart from those hideous oneliners
17:56:17 <alise> *one-liners
17:56:26 <CakeProphet> !glass {M[m(_o)O!(_f)F!<10>(_f)f.?(_o)(on).?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)m.?(_n)1=(_x)*<1>(_a)s.?(_x)1=\(_n)*^]}
17:56:26 <EgoBot> 3.6288e+06
17:56:29 <CakeProphet> ....
17:56:39 <AnMaster> alise, intercal commonly seems to consist of a number of one liners + a bit of flow control
17:56:50 <oerjan> alise: is DON'T a legal J identifier? it may be easier to start with that
17:57:21 <oerjan> since then at least INTERCAL will skip the line
17:57:27 <AnMaster> alise, wait, can you end a statement in J without ending the line
17:57:28 <alise> AnMaster: true that's just a modern abomination
17:57:32 <alise> oerjan's intercal isn't like that!
17:57:33 <AnMaster> you don't need please on the first line
17:57:44 <alise> oerjan: well DON'T ' will work
17:57:49 <AnMaster> just as long as you have a valid PLEASE ratio
17:57:54 <alise> oerjan: can't assign to that ofc
17:57:58 <alise> wait
17:57:59 <AnMaster> alise, NOT =: +
17:58:01 <alise> DON'T ' =: a
17:58:01 <alise> โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”
17:58:01 <alise> โ”‚DONโ”‚aโ”‚
17:58:01 <alise> โ””โ”€โ”€โ”€โ”ดโ”€โ”˜
17:58:06 <alise> vat the fack xD
17:58:12 <AnMaster> alise, what happened there?
17:58:16 <AnMaster> nice line art btw
17:58:21 <alise> yeah that's how it draws nested expressions
17:58:25 <alise> I just have no idea how that... did... anything
17:58:28 <alise> That... shouldn't work
17:58:36 <alise> DON'T ' =: a; bc
17:58:36 <alise> โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
17:58:36 <alise> โ”‚DONโ”‚โ”Œโ”€โ”ฌโ”€โ”ฌโ”€โ”€โ”โ”‚
17:58:36 <alise> โ”‚ โ”‚โ”‚aโ”‚;โ”‚bcโ”‚โ”‚
17:58:36 <alise> โ”‚ โ”‚โ””โ”€โ”ดโ”€โ”ดโ”€โ”€โ”˜โ”‚
17:58:37 <alise> โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
17:58:40 <AnMaster> heh
17:58:44 <alise> it isn't assigning anything either
17:58:55 <alise> AnMaster: ok now the problem is that =: has infinite binding basically
17:58:56 <oerjan> alise: hm intercal isn't really line oriented, or is it?
17:58:56 <AnMaster> alise, anyway my point is you can define NOT before you define please
17:58:58 <alise> and I can't put a ( in front of it can I
17:59:02 <alise> oerjan: it isn't, whitespace is irrelevant
17:59:05 <alise> even in between words
17:59:12 <AnMaster> alise, and the first line doesn't need to be PLEASE
17:59:28 <alise> AnMaster: ah, so NOT foo will work in intercal?
17:59:32 <alise> as long as you have sufficient pleases later
17:59:40 <AnMaster> alise, I'm not 100% sure
17:59:49 <oerjan> alise: no, NOT is not a legal start of statement iirc
17:59:51 <AnMaster> alise, it could require DO NOT
17:59:55 <AnMaster> hm
18:00:15 <alise> DO NOT =: sex
18:00:15 <alise> โ”Œโ”€โ”€โ”ฌโ”€โ”€โ”€โ”
18:00:15 <alise> โ”‚DOโ”‚sexโ”‚
18:00:15 <alise> โ””โ”€โ”€โ”ดโ”€โ”€โ”€โ”˜
18:00:15 <alise> NOT
18:00:16 <alise> โ”Œโ”€โ”€โ”€โ”
18:00:18 <alise> โ”‚sexโ”‚
18:00:20 <alise> โ””โ”€โ”€โ”€โ”˜
18:00:22 <alise> It works!
18:00:24 <alise> And yes, I always use lewd identifiers to spot them easily when testing. :P
18:00:24 <AnMaster> this is spammy
18:00:30 <alise> You're spammy
18:00:38 <AnMaster> alise, so is your mom
18:00:49 -!- oklopol has changed nick to oktolol.
18:01:13 <CakeProphet> !glass {M[m(_o)O!(_f)F!<10>(_f)f.?(_o)(on).?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)m.?(_n)1=(_x)*<1>(_a)s.?(_x)1=\(_n)*^]}
18:01:14 <EgoBot> 3.6288e+06
18:01:24 <alise> lol but
18:01:25 <alise> DO NOT =: 0
18:01:26 <alise> fails
18:01:29 <alise> so NOT has to be non-0 :D
18:01:32 <CakeProphet> !glass {M[m(_o)O!(_f)F!<4>(_f)f.?(_o)(on).?]} {F[f(_n)1=(_a)A!(_n)*<1>(_a)s.?(_x)1=/(_x)(_n)*(_x)*(_a)m.?(_n)1=(_x)*<1>(_a)s.?(_x)1=\(_n)*^]}
18:01:33 <EgoBot> 24
18:01:35 <alise> DO NOT =: + works
18:01:36 <CakeProphet> bam
18:01:44 <AnMaster> alise, did you clear the earlier definitions?
18:01:44 <alise> DO NOT =: +; 3
18:01:45 <alise> |value error: DO
18:01:45 <alise> | DO NOT=:+;3
18:01:46 <alise> crap :D
18:01:49 <alise> AnMaster: redefinition is allowed
18:01:58 <alise> i'm not entirely sure this isn't just a REPL sideeffect
18:02:05 <CakeProphet> the OO in Glass actually makes it harder to read... there's a lot of stack-based boiler plate stuff
18:02:09 <AnMaster> alise, well sure, but I meant it might have affected results
18:02:11 <AnMaster> of later expressions
18:02:16 <alise> NOT
18:02:17 <alise> โ”Œโ”€โ”
18:02:17 <alise> โ”‚+โ”‚
18:02:17 <alise> โ””โ”€โ”˜
18:02:17 <alise> ah!
18:02:17 <alise> maybe
18:02:27 -!- oktolol has changed nick to oklopol.
18:02:31 <alise> oklopol
18:02:36 <alise> what is it with J.
18:02:45 <alise> DO NOT =: +
18:02:46 <alise> โ”Œโ”€โ”€โ”ฌโ”€โ”
18:02:46 <alise> โ”‚DOโ”‚+โ”‚
18:02:46 <alise> โ””โ”€โ”€โ”ดโ”€โ”˜
18:02:46 <alise> NOT
18:02:46 <alise> โ”Œโ”€โ”
18:02:48 <alise> โ”‚+โ”‚
18:02:50 <alise> โ””โ”€โ”˜
18:02:52 <alise> AnMaster: works even w/o NOT being defined
18:02:54 <alise> er
18:02:56 <alise> w/o DO
18:02:58 <AnMaster> sure?
18:03:00 <AnMaster> hm
18:03:04 <alise> hmm... /me has idea
18:03:23 <AnMaster> alise, btw make this polygot a polygot quine
18:03:27 <alise> DO NOT =: 3 : 'y'
18:03:30 <alise> then NOT 3 = 3
18:03:34 <alise> just a matter of defining please now
18:03:36 <alise> and I have an idea for that
18:03:50 <alise> yep
18:03:52 <alise> DO NOT PLEASE =: works
18:04:04 <AnMaster> alise, that doesn't count as a please line of course
18:04:06 <AnMaster> afaik
18:04:06 <oerjan> alise: idea. you will have trouble defining PLEASE i think, since it will start an INTERCAL statement there. but you can define PLE and ASE, say.
18:04:08 <alise> doesn't matter
18:04:17 <alise> hmm
18:04:26 <alise> you can have all your comment lines non-please
18:04:30 <alise> can't you?
18:04:32 <AnMaster> oerjan, oh so comments don't end at end of line? Right
18:04:34 <alise> as long as other lines are non please
18:04:38 <alise> AnMaster: whitespace is completely irrelevant
18:04:43 <alise> DONOTPLEASE is equiv.
18:04:44 <AnMaster> right
18:04:48 <alise> <alise> as long as other lines are non please
18:04:50 <alise> are please, rather
18:05:07 <oerjan> alise: i think DO NOT PLEASE is two statements DO NOT and PLEASE
18:05:27 <oerjan> i'm not sure of course
18:06:05 <alise> mm
18:06:07 <alise> but what i mean is
18:06:08 <alise> DO NOT ...
18:06:09 <alise> DO NOT ...
18:06:10 <alise> DO NOT ...
18:06:13 <alise> PLEASE real code
18:06:13 <alise> PLEASE real code
18:06:13 <alise> PLEASE real code
18:06:14 <AnMaster> I feel that INTERCAL should not just check please ratio, it should also check that the distribution of the PLEASE over the file is fairly even
18:06:15 <alise> is this acceptable?
18:06:21 -!- hiato has quit (Quit: underflow).
18:06:36 <AnMaster> alise, hard to say
18:06:37 <CakeProphet> I don't know why I love glass so much.
18:06:49 <oerjan> alise: i doubt that the PLEASE ratio ignores comments, after all it is runtime dependent whether a statement _is_ a comment
18:07:15 <oerjan> (statements can be reinstated)
18:07:19 <alise> oerjan: but if your actual code is sufficiently ass-kissing, is it okay to be rude about comments?
18:07:25 <alise> i guess so
18:07:45 -!- hiato has joined.
18:08:02 * CakeProphet should make aspect-oriented Glass. :)
18:08:11 <oerjan> alise: can't you define things so both DO NOT and PLEASE DO NOT work?
18:08:25 <AnMaster> CakeProphet, wth does that buzz word even mean?
18:08:26 <alise> i don't think so
18:08:31 <alise> defining PLE and ASE won't work
18:08:32 <AnMaster> I never managed to find out
18:08:35 <alise> oh wait
18:08:36 <alise> in intercal
18:08:39 <alise> PLE ASE works doesn't it
18:08:42 <alise> so I /can/ define PLE and ASE
18:08:43 <oerjan> it should
18:09:01 <AnMaster> alise, if you can then do meta-programming to combine those?
18:09:04 <alise> great! I got it working
18:09:07 <alise> DO NOT PLE =: +
18:09:10 <alise> DO NOT ASE =: +
18:09:16 <alise> then "PLE ASE stuff" just returns it boxed
18:09:25 <alise> AnMaster: remember: whitespace doesn't matter
18:09:26 <oerjan> alise: also note that you can have as many J lines _not_ containing a DO or PLEASE as you want inside an INTERCAL comment
18:09:40 <AnMaster> alise, and how do you plan to make PLEASE work? Just by putting DO NOT NB. PLEASE Foo ?
18:09:48 <AnMaster> not sure that would work
18:10:05 <alise> it would
18:10:05 <oerjan> that should surely work
18:10:09 <alise> makes a j comment and lets intercal see it
18:10:20 <alise> oh so I don't even /need/ to define PLE and ASE
18:10:22 <CakeProphet> I don't think I've ever made a Glass program that used the constructor method
18:10:30 <alise> ah wait
18:10:34 <alise> I still need PLEASE DO NOT
18:10:53 <AnMaster> alise, just put that in NB every time?
18:10:57 <AnMaster> crude but would work
18:11:03 <oerjan> alise: wait, i think you can make _everything_ inside each other's comments
18:11:09 <AnMaster> alise, the tricky thing will be making this a quine in both language
18:11:19 <alise> DO NOT 0
18:11:19 <alise> 0
18:11:21 <alise> DO NOT does nothing to numbers
18:11:22 <oerjan> NB. PLEASE ...here is running intercal...
18:11:23 <alise> could be useful
18:11:30 <oerjan> er
18:11:32 <alise> DO NOT DO =: +
18:11:32 <alise> DO NOT NOT =: +
18:11:32 <alise> DO NOT NB. PLEASE ...INTERCAL...
18:11:32 <alise> DO NOT ...J code...
18:11:39 <oerjan> NB. PLEASE ...here is running intercal... DO NOT
18:11:44 <AnMaster> oerjan, yes I'm pretty sure, the only tricky part is the initial mess around at the start
18:11:51 <alise> oerjan: this is amazing
18:11:51 <AnMaster> so you can hide NB. for intercal
18:12:09 <alise> DO NOT NB. PLEASE intercal
18:12:09 <alise> done
18:12:17 <AnMaster> alise, I suggested that yeah
18:12:21 <alise> DO NOT NB. PLEASE dsofjsdo h98r
18:12:22 <alise> โ”Œโ”€โ”€โ”ฌโ”€โ”€โ”€โ”
18:12:22 <alise> โ”‚DOโ”‚NOTโ”‚
18:12:22 <alise> โ””โ”€โ”€โ”ดโ”€โ”€โ”€โ”˜
18:12:27 <alise> DO NOT NB. PLEASE #';"$)(*!&"
18:12:27 <alise> โ”Œโ”€โ”€โ”ฌโ”€โ”€โ”€โ”
18:12:27 <alise> โ”‚DOโ”‚NOTโ”‚
18:12:27 <alise> โ””โ”€โ”€โ”ดโ”€โ”€โ”€โ”˜
18:12:28 <alise> good
18:12:32 <pikhq> DO NOT PLEASE
18:12:33 <pikhq> :)
18:12:35 <alise> DO NOT 2+2
18:12:35 <alise> 4
18:12:36 <alise> good
18:12:51 <AnMaster> pikhq, that is DO NOT | PLEASE in intercal I think
18:13:09 <pikhq> AnMaster: Aaaw.
18:13:23 <AnMaster> pikhq, as in different statements
18:13:43 <alise> DO NOT ('flatulence' (1!:2) 2)
18:13:44 <alise> flatulence
18:13:44 <alise> |domain error: NOT
18:13:44 <alise> | DO NOT('flatulence'(1!:2)2)
18:13:44 <alise> darn
18:13:55 <alise> because NOT takes numbers...
18:14:04 <alise> hmm, I'll have to see if I can make DO NOT just spit its output back
18:14:14 <CakeProphet> rofl... I just Facebook'd my Glass program. None of my friends are CS... I hope they don't think that's what all programming languages look like. :P
18:14:16 <AnMaster> oerjan, how do you plan to make a quine in both languages out of this?
18:14:29 <CakeProphet> AnMaster: magic
18:15:02 <alise> DO NOT #('flatulence' (1!:2) 2)
18:15:02 <alise> flatulence
18:15:02 <alise> 10
18:15:08 <oerjan> AnMaster: um i'm not planning it, but surely once you have a way of intertwining arbitrary code in both languages the rest is just technicalities :D
18:15:23 <alise> AnMaster: fixed point theorem Q.E.D.
18:16:12 <Sgeo_> alise, I'm going to go watch SG-1
18:16:13 <oerjan> alise: also apart from the first lines it is better to have DO NOT at the _end_ of the INTERCAL lines, then you have almost no restriction on the J on the following line
18:16:14 <AnMaster> alise, wait, how does that apply to this?
18:16:24 <AnMaster> alise, anyway text IO is tricky in intercal
18:16:28 <alise> AnMaster: fixed point theorem guarantees quines
18:16:31 <oerjan> iiuc
18:16:41 <alise> given textual output
18:16:52 <alise> or, even, outputting its source in encoded roman numerals.
18:16:53 <alise> DO NOT PLE =: +
18:16:53 <alise> DO NOT ASE =: +
18:16:53 <alise> PLE ASE DO NOT DO =: +
18:16:53 <alise> PLE ASE DO NOT NOT =: +
18:16:53 <alise> DO NOT #('Hello, world!' (1!:2) 2)
18:16:55 <alise> DO NOT NB. PLEASE ...some intercal code...
18:16:58 <oerjan> and then switching back is just starting a line with NB. PLEASE or so
18:16:59 <alise> valid J and, I think, valid intercal.
18:17:07 <AnMaster> alise, is that true for polygots too?
18:17:26 <AnMaster> could there not be a polygot of two languages such that no quine exist
18:17:27 <alise> AnMaster: polyglots are just a restricted common subset of both languages.
18:17:27 <alise> so yes.
18:17:30 <pikhq> AnMaster: Uh, yes, you construct quines in the same way for a polyglot.
18:17:33 <alise> only pathological ones
18:17:39 <alise> actually, no
18:17:44 <alise> you can always construct another language to polyglot it with
18:17:46 <alise> that doesn't impede it
18:17:48 <alise> such as the NOP language
18:18:34 <pikhq> That is, you store a string containing (part of) the program and a function to output that string in such a way that you get the program out.
18:18:46 <alise> http://pastie.org/985974.txt?key=gd8gxkx2jxokgj26drzg oh yeah
18:18:55 <AnMaster> alise, let language X be such that on + it always output the input file, but at _ it outputs a space. Let language Y be such that + outputs a space, but _ outputs the input file
18:18:56 <alise> # is length
18:19:00 <alise> and the outputting returns the string it outputs
18:19:01 <AnMaster> alise, I doubt you could make a quine of those
18:19:01 <alise> :-)))
18:19:03 <alise> which is why we get 13
18:19:06 <AnMaster> quine polygot that is
18:19:12 <oerjan> AnMaster: unless the languages are such that there is a strong restriction on what kinds of ordinary programs you can combine into a polyglot, then there should surely be a quine polyglot
18:19:17 <pikhq> AnMaster: Requires TC-ness.
18:19:18 <alise> AnMaster: it's not TC
18:19:23 <AnMaster> pikhq, ah right
18:19:25 <AnMaster> bbl food
18:19:26 <alise> and X+Y doesn't have full textual output
18:19:30 <alise> Q.E.D.
18:19:35 <CakeProphet> you know it would be cool to make an esolang that had multiple interpreters running on the game gun
18:19:40 <CakeProphet> so that it's always ployglotic
18:20:15 <alise> isn't that just wierd
18:21:23 <oerjan> alise: did you not notice my repeatedly pointing that you _don't_ need DO NOT at the start of every J line, just put it at the end of INTERCAL lines
18:21:38 <alise> oerjan: indeed but that's boring... also, what do you mean?
18:21:41 <alise> just put NB.?
18:21:43 <alise> that can't work...
18:21:47 <alise> DO NOT NB. PLEASE ...some intercal code...
18:21:48 <alise> NB.
18:21:49 <alise> so end of line
18:21:52 <alise> so we can't put any J in there
18:21:59 <alise> Qed, pronounced qwed.
18:22:01 <alise> kwed.
18:22:17 <oerjan> alise: DO NOT should be at the _end_ of intercal lines, not the beginning
18:22:22 <CakeProphet> brainfuck is a pretty easy polyglot language. :)
18:22:30 <oerjan> to "turn off" intercal
18:22:32 <alise> oerjan: then how do we hide it from J?
18:22:44 <oerjan> alise: NB. PLEASE at the start
18:22:49 <alise> NB. PLEASE
18:22:53 <CakeProphet> alise: in an open relationship you're not supposed to hide anything. :P
18:22:54 <alise> so it can't go at the end of intercal lines
18:22:55 <alise> oh i see
18:22:57 <alise> oerjan: um that's the same thing
18:23:01 <alise> fop fop DO NOT
18:23:02 <alise> fop fop
18:23:03 <alise> DO NOT
18:23:04 <CakeProphet> don't hide things from J... be open about what you're doing with INTERCAL
18:23:06 <alise> i guess it's easier for j this way
18:23:20 <oerjan> alise: no, because the way you do it you cannot have arbitrary J on the _next_ line
18:23:25 <alise> oerjan: you still need DO NOT in front of intercal lines
18:23:27 <alise> for the NB.
18:23:33 <CakeProphet> alise: sometimes honesty is the best policy. It'll be much easier for J
18:23:45 <oerjan> alise: oh NB. is not legal to start a J line?
18:24:02 <alise> oerjan: it is
18:24:03 <alise> DO NOT DO =: +
18:24:03 <alise> DO NOT NOT =: +
18:24:03 <alise> DO NOT NB. PLEASE ...some intercal code... PLEASE DO NOT
18:24:03 <alise> 'Hello, world!' (1!:2) 2
18:24:03 <alise> DO NOT NB. PLEASE ...some intercal code... PLEASE DO NOT
18:24:08 <alise> oerjan: just not an intercal line :-)
18:24:38 <oerjan> alise: intercal isn't line based, so in NB. PLEASE the actual intercal statement doesn't start until the PLEASE
18:24:44 <alise> yes
18:24:47 <alise> ok, the above works
18:24:52 <alise> but there'll be a LOT of DO NOTs
18:24:56 <alise> so the intercal code better be very polite
18:25:13 <oerjan> alise: you can use PLEASE NOT as well, you know
18:25:21 <oerjan> or wait
18:25:31 <oerjan> PLEASE DON'T
18:25:50 <oerjan> there's one of the "obvious" possibilities that is illegal, i vaguely recall
18:25:51 <oklopol> yeah use something else
18:25:58 <alise> oerjan: no because i dropped the PLE ASE definitions from j :D
18:25:59 <alise> but i guess i can
18:26:04 <alise> DON'T would be bad
18:26:23 <oerjan> alise: um i mean at the end of INTERCAL lines, where J won't even see them
18:26:23 <alise> DO NOT PLE =: +
18:26:23 <alise> DO NOT ASE =: +
18:26:23 <alise> PLE ASE DO NOT DO =: +
18:26:23 <alise> PLE ASE DO NOT NOT =: +
18:26:23 <alise> PLE ASE DO NOT NB. PLEASE ...some intercal code... DO NOT
18:26:24 <alise> 'Hello, world!' (1!:2) 2
18:26:26 <alise> PLE ASE DO NOT NB. PLEASE ...some intercal code... DO NOT
18:26:29 <alise> is this polite enough? too polite?
18:26:33 <alise> oerjan: i did that but it's still a lot of do nots...
18:26:35 <alise> what's the ratio?
18:27:02 <oerjan> alise: you cannot escape putting DO NOT's or PLEASE DON'Ts whenever you switch back to J
18:27:15 <alise> i know!!
18:27:18 <alise> i'm only asking about politeness
18:27:37 <oerjan> i don't recall. 1/4 or something like that
18:27:50 <CakeProphet> this conversation makes me think of two very demanding women I know.
18:28:39 <alise> oerjan: the maximum is pretty high right?
18:28:41 <alise> it accepts ass-kissing
18:29:02 <oklopol> CakeProphet: yeah girls yell PLEASE DON
18:29:07 <oklopol> 'T to me all the time too
18:29:35 <oerjan> alise: no, it's a fairly narrow bound.
18:29:41 <alise> oerjan: intercal is a bitch :D
18:29:58 <oerjan> i'm not sure if 1/4 is the upper bound or if 1/4 is a safe average with 1/3 the upper bound
18:30:35 -!- tombom has joined.
18:30:43 <alise> i meant the lower bound
18:30:44 <alise> or...
18:30:45 <alise> like
18:30:48 <alise> it complains if you say PLEASE too much
18:30:51 <alise> that figure.
18:30:54 <alise> oerjan: so uh do you know an intercal hello world :D
18:31:02 <alise> printing a nice roman numeral is acceptable :D
18:31:09 <oerjan> not really
18:31:36 <oerjan> alise: also did you say DO NOT was a legal, if vacuous J statement?
18:31:39 <alise> "an INTERCAL de-obfuscator" --C-INTERCAL's Debian summary
18:31:46 <alise> oerjan: iff we do this first:
18:31:49 <alise> DO NOT DO =: +
18:31:49 <alise> DO NOT NOT =: +
18:31:56 <alise> well i guess if we do other things first too but they'd be less obvious
18:32:02 <alise> (and btw i have no idea why that assignment works)
18:32:04 <oerjan> alise: well i'm thinking about _as_ the first line
18:32:07 <alise> (without DO or NOT being previously assigned)
18:32:08 <alise> oerjan: no.
18:32:31 <oerjan> alise: what is the minimum thing starting with DO NOT which is a legal, fairly vacuous J statement?
18:32:40 <alise> DO NOT foo =: bar
18:32:45 <alise> DO NOT x=:+
18:32:46 <alise> perhaps
18:33:10 -!- pikhq_ has joined.
18:33:12 <oerjan> ok. then you can start the file with that. and you don't even need to _use_ the definitions
18:33:43 <Sgeo_> alise, I'm going to go watch SG-1
18:33:47 <alise> oerjan: ...why?
18:33:51 <alise> you mean put all the intercal on one line?
18:33:54 <alise> that's totally cheating dude.
18:34:03 <oerjan> alise: yeah
18:34:08 <alise> you're horrible for thinking of that :<
18:34:22 <oerjan> or rather, not _all_ the intercal
18:34:51 -!- pikhq has quit (Ping timeout: 252 seconds).
18:34:58 <oerjan> but each intercal line would be of the form NB. PLEASE ... DO NOT or NB. DO ... DO NOT
18:35:40 <oerjan> (half of each would give 1/4 politeness, i should think)
18:36:20 <alise> wait, how does intercal accept the NB.?
18:36:22 <alise> oh, because of the DO NOT
18:36:43 <oerjan> well you also have labels, so there would be things like NB. (3000) PLEASE ... DO NOT
18:36:48 <oerjan> (iirc)
18:37:48 <alise> https://bugzilla.mozilla.org/show_bug.cgi?id=476766 The fools! Mozilla added a Chinese government CA certificate!
18:38:04 <alise> Yes, because the one person we can trust to be honest about claiming to be a certain entity on the motherfucking INTERNET is the CHINESE GOVERNMENT.
18:38:57 <oerjan> the obvious compromise would be to allow it only for .cn domains...
18:39:19 <oerjan> it would be rather ridiculous not to trust the chinese government for _that_
18:39:31 <relet> well, or any less than the other governments. ;)
18:40:22 <alise> I don't think I'd let _anything_ to do with the Chinese government anywhere near any of my software.
18:40:29 -!- pikhq_ has quit (Ping timeout: 245 seconds).
18:40:36 <alise> "Please remove this root CA! We Chinese users don't trust CNNIC.
18:40:36 <alise> Liu Yan said: 2)CNNIC is not a Chinese Government organization.
18:40:36 <alise> He is cheating! CNNIC is an infamous organ of the Chinese Communist government
18:40:36 <alise> to monitor and control the Internet in China. For secrete reasons they even
18:40:36 <alise> distributed spyware by making advantage of their administration privilege:"
18:40:38 <oerjan> alise: like, most of your hardware anyway ;D
18:40:42 <alise> ^ Oh look at that.
18:40:50 <alise> oerjan: I think computer hardware is mostly made in Taiwan and the like.
18:40:56 -!- pikhq has joined.
18:41:10 <alise> pikhq: The Chinese government has a root certificate in Mozilla.
18:41:16 <alise> Moreso:
18:41:17 <alise> [[Please remove this root CA! We Chinese users don't trust CNNIC.
18:41:17 <alise> Liu Yan said: 2)CNNIC is not a Chinese Government organization.
18:41:17 <alise> He is cheating! CNNIC is an infamous organ of the Chinese Communist government
18:41:17 <alise> to monitor and control the Internet in China. For secrete reasons they even
18:41:17 <alise> distributed spyware by making advantage of their administration privilege:]]
18:41:24 <alise> [[They're one of the tools used by the CCP government to censor the Internet
18:41:24 <alise> users. If CNNIC root certificate is added by default as Builtin Object, they
18:41:24 <alise> can forge verified gmail certificates to cheat the Chinese users by using MITM
18:41:24 <alise> attack against the SSL protocol.]]
18:41:29 <alise> Ho ho ho.
18:41:38 <oerjan> alise: also, isn't this old news. i am sure i saw it on reddit months ago.
18:41:42 <alise> oerjan: who knows.
18:41:45 <alise> it's from jan
18:42:05 <alise> CNNIC produces one of the best-known malwares in China: the Chinese-Language-Surfing Official Edition(ไธญๆ–‡ไธŠ็ฝ‘ๅฎ˜ๆ–น็‰ˆ่ฝฏไปถ). The software is frequently bundled with other adware/sharewares. It was declared malware by Beijing Network Industry Association(ๅŒ—ไบฌๅธ‚็ฝ‘็ปœ่กŒไธšๅไผš)[9] and San Ji Wu Xian Co Ltd., the company behind 360 Safeguard(360ๅฎ‰ๅ…จๅซๅฃซ), an anti-virus software. San Ji Wu Xian was sued by CNNIC for 150,000 RMB[10][11] and the c
18:42:06 <alise> ourt ruled out favorably towards CNNIC.
18:43:14 <alise> Oh!
18:43:16 <oerjan> food ->
18:43:17 <alise> pikhq: Debian has OSSv4!
18:43:21 <alise> Happiness!
18:43:27 <pikhq> alise: Awesome.
18:43:36 <alise> p oss4-base - Open Sound System - base package
18:43:45 <alise> ^_^
18:43:47 <pikhq> Also, I mostly grok those bits of Chinese.
18:43:54 <pikhq> I know approximately one word of Chinese. :P
18:45:50 <alise> pikhq: Oh dear, and right after I learn that I find a reason to dislike 4Front intensely.
18:45:52 <alise> http://thieta.wordpress.com/2010/04/28/what-ever-happened-to-xmms-org/
18:46:01 <alise> They sold off xmms.org to a spammer company without asking the XMMS developers.
18:46:09 <alise> "The old XMMS.ORG website, now maintained by Doug Collins, hosts a fake copy of the XMMS website with an added Answers section linking to a fake FAQ created to generate AdSense revenue. There is of course no guarrantee that the code distributed on that domain does not contain malware."
18:48:04 <alise> pikhq: does jack work for general audio stuff?
18:48:20 -!- pikhq has quit (Ping timeout: 265 seconds).
18:48:22 <alise> It's real-time, at least, so it would be cool if it did
18:48:25 <alise> AnMaster uses it doesn't he
18:48:30 -!- pikhq has joined.
18:48:45 <alise> "JACK can use ALSA, PortAudio, CoreAudio, FreeBoB, FFADO and OSS as hardware back-ends."
18:48:50 <alise> Huh, I thought JACK could be the endpoint.
18:49:09 <alise> WHY DO ALL SOUND SERVERS EITHER SUCK OR HAVE THE PROPERTY OF BEING DEVELOPED BY AN EVIL COMPANY ;_;
18:50:55 <AnMaster> alise, I only use jack because I need low latency when I do audio stuff on my desktop
18:51:00 <AnMaster> it is a PITA to get it working
18:51:18 <alise> Do you think I could buy OSS v4 off 4Front so that I can use it and sleep soundly at night
18:51:20 <AnMaster> but if you do sound recording it is worth it
18:51:28 -!- pikhq_ has joined.
18:51:33 -!- pikhq has quit (Read error: Connection reset by peer).
18:51:38 <alise> pikhq_: Internet connection, eh?
18:51:40 <pikhq_> ROUTER STOP RESETTING
18:51:42 <AnMaster> alise, what license? And couldn't you fork it if it went wrong
18:52:00 <alise> AnMaster: Oh, I'd fork it but it wouldn't be developed.
18:52:19 <alise> AnMaster: I just don't want to use anything 4Front controls because they sold the xmms.org domain to spammers without the XMMS devs permission and showed no remorse.
18:52:24 <AnMaster> alise, yeah I can't imagine you lead a project with many devleopers
18:52:28 <alise> So basically they're spammer-enablers.
18:52:33 <pikhq_> It's all "Fuck you, I'm just going to stop now".
18:52:38 <alise> AnMaster: Hey, I could easily pay tons of people just to get on with it, except I have no money.
18:52:44 <alise> That's what CEOs do, right?
18:52:56 <AnMaster> alise, ah I meant lead an open source project where no one is paid
18:53:03 <AnMaster> that requires good people skills you see
18:53:05 <alise> That produces PulseAudio :P
18:53:09 <alise> AnMaster: Yeah, like Linus has.
18:53:10 <alise> Oh wait.
18:53:15 <alise> I guess that's why Linux is unpopular...
18:53:35 <alise> If I lead a project I'd just do it Linus-style, get sent tons of patches and reject most of them because I don't like them, then reject most of the rest because they made a mistake, then rewrite the rest and merge them in.
18:53:42 <AnMaster> alise, well, he has carisma. It can sometimes replace people skills
18:53:44 <alise> Then just flame people who disagree with me.
18:53:48 <alise> *charisma.
18:53:55 <alise> AnMaster: Hey, people still use ion3.
18:54:03 <AnMaster> alise, statistical fluke
18:54:07 <alise> The key to running a successful open source project is being an asshole while producing good code.
18:54:18 <alise> esr: Asshole, but he doesn't even produce good code
18:54:25 <AnMaster> alise, oh yes good code is required too. Charisma is a huge plus.
18:54:25 <alise> rms: I'm not sure he can even program
18:54:31 <alise> Linus: Asshole, good code
18:54:41 <alise> Tuomov: Asshole, haven't read the code but ion3 is quite nice to use
18:54:43 <AnMaster> alise, and charisma, don't forget that
18:54:50 <alise> Suckless guys: *Huge* assholes (see e.g. uriel), brilliant code
18:54:53 <alise> AnMaster: Nope, charisma is optional
18:54:56 <alise> The suckless guys don't have any
18:55:08 <AnMaster> alise, their code is not quite as popular
18:55:10 <AnMaster> I mean
18:55:14 <AnMaster> it isn't widespread popular
18:55:22 <alise> Guido van Rossum isn't an asshole, but Python is crap.
18:55:34 <alise> So he's an extreme statistical anomaly: "Nice guy" (I don't really like him), bad code.
18:55:38 <AnMaster> alise, what about Theo de Raat (spelling?)
18:55:45 <alise> AnMaster: Asshole, good code.
18:55:48 <alise> No charisma.
18:55:52 <AnMaster> alise, well agreed on that
18:56:02 <AnMaster> alise, but openbsd is sucky still
18:56:03 <alise> matz: ok matz is an exception because he's just so nice that he makes everyone around him kinda happy
18:56:06 <AnMaster> in lots of other ways
18:56:09 <AnMaster> alise, matz?
18:56:11 * CakeProphet nice guy. Decent code (when not sleep deprived, which is becoming less frequent these days)
18:56:13 <alise> AnMaster: Certainly not as far as security goes.
18:56:16 <alise> matz made Ruby.
18:56:22 <alise> He's infamous for his sheer niceness.
18:56:26 <AnMaster> alise, ah, so matz is like Carrot from Discworld?
18:56:30 <alise> He's a mormon too, probably that has an effect.
18:56:43 <alise> Einstein? He's smart? So he's a bit like (random obscure Discworld character), then.
18:57:14 <AnMaster> alise, carrot is not obscure. Main character
18:57:20 <alise> shaddap :P
18:57:34 * alise wonders whether xmms2 or MPD is better.
18:57:35 -!- pikhq_ has quit (Read error: Connection reset by peer).
18:57:40 <alise> Probably NEITHER because I didn't write either.
18:58:03 -!- pikhq has joined.
18:58:04 <AnMaster> alise, for i in *.ogg; do mplayer "$i"; done
18:58:14 <alise> you fail
18:58:26 <CakeProphet> hmmm... but see
18:58:42 <AnMaster> alise, in which way? yes that code is bad, but it is a simplification
18:58:50 <CakeProphet> being an asshole helps you obtain women. But we all know those guys don't get any...
18:58:53 <AnMaster> reasons of brevity and so on
18:58:54 <CakeProphet> so. paradox?
18:59:23 <alise> AnMaster: I like to be able to check which track I'm listening to. If you added the appropriate seds, well, this sure is a complicated shell script to replace perfectly decent software. Furthermore, most of the time I just play everything on a big jumble of shuffle because I basically have ADHD.
18:59:54 <CakeProphet> I'm too picky for shuffle... even with my own collection
18:59:58 <alise> Also, I like to be able to select a specific track to listen to without typing in a long pathname -- which, indeed, even your script wouldn't support
19:00:08 <AnMaster> alise, $RAND
19:00:15 <alise> Also, it's nice to be able to ... you know, your script is pretty much shit so just shut up.
19:00:27 <CakeProphet> I need to get a larger hard drive. My meager 60 gigs is stacked full with music. Only 10 gigs left
19:00:31 <alise> You're doing the thing you so often accuse me of: generalising from a sample of YOU.
19:00:34 <AnMaster> alise, I didn't say it would fit you
19:00:44 <alise> AnMaster: Then don't tell me it!
19:00:53 <AnMaster> alise, adding data point
19:01:00 <alise> Suuure
19:01:04 <CakeProphet> AnMaster: needs more continuation passing style
19:01:18 <AnMaster> CakeProphet, that bash script? or what?
19:01:24 <CakeProphet> I am disappoint. :(
19:01:30 <CakeProphet> :( :( :(
19:01:36 <AnMaster> CakeProphet, wait, 60 GB? how old is that
19:01:48 <CakeProphet> It's PATA.
19:01:53 <alise> *IDE
19:01:56 <alise> PATA is an abomination of a name!
19:02:00 <CakeProphet> ...indeed
19:02:02 <CakeProphet> but yes. IDE
19:02:02 <AnMaster> CakeProphet, yes but even my old PATA was 80 GB
19:02:05 <AnMaster> alise, why?
19:02:05 <alise> Unless it's SCSI.
19:02:07 <AnMaster> it is ATA
19:02:09 <alise> In which case PATA is acceptable.
19:02:11 <AnMaster> over IDE
19:02:11 <AnMaster> sure
19:02:14 <alise> AnMaster: Because fuck you, it's IDE.
19:02:14 -!- pikhq has quit (Ping timeout: 240 seconds).
19:02:17 <alise> Nobody called it PATA back then.
19:02:22 <AnMaster> well okay
19:02:26 <CakeProphet> I just say "parallel"
19:02:29 <alise> Besides, PATA is even retroactive.
19:02:31 <AnMaster> alise, but PATA for SCSI doesn't make a lot of sense
19:02:34 <alise> If you must be pedantically correct, say ATA.
19:02:52 <alise> Or howsabout not talking about it at all because it sucks :P
19:03:33 <AnMaster> alise, Parallel ATA
19:03:33 <AnMaster> From Wikipedia, the free encyclopedia (Redirected from Integrated Drive Electronics)
19:03:39 <alise> Yes, read the damn page.
19:03:46 <alise> PATA is a retroactive name.
19:03:52 <AnMaster> alise, nothing wrong with that
19:03:59 <alise> Yes it is
19:04:03 <AnMaster> why?
19:04:14 <AnMaster> alise, do you say "world war one"?
19:04:26 <AnMaster> it wasn't called that until after WWII
19:04:39 <AnMaster> well perhaps during WWII
19:04:46 <AnMaster> but not in the time between the world wars
19:04:58 <alise> That's a stupid comparison. You're stupid.
19:05:06 <AnMaster> alise, why is it a stupid comparison
19:05:17 <AnMaster> because you can't find a good response to it?
19:05:26 <AnMaster> that is usually the cause when you act like that
19:05:30 <alise> go away from my irc window i did not invite you into this font :|
19:05:41 <alise> AnMaster: Usually, actually, it's just the point where you come up with something so stupid that I realise I shouldn't even bother
19:05:48 <AnMaster> well feel free to /ignore me
19:06:05 <AnMaster> that, or you /parting, is the only way I'm going to go away from your irc window
19:06:16 <AnMaster> well /quit on your side would work too
19:06:18 <alise> Rage against the machine *grrrr*
19:06:22 <alise> We will not back down!
19:07:22 <CakeProphet> Anyone know Grizzly Bear?
19:07:32 <CakeProphet> (a band, btw)
19:07:47 <alise> Yes.
19:07:53 <alise> I am all up-to-date with the hipster garabe
19:08:08 <alise> ((stupid last.fm meme btw... well, last.fm is stupid in itself))
19:08:23 <CakeProphet> ...but it's quality. I don't even give a fuck about hipsters
19:09:37 <alise> I never contradicted any of those words :P
19:10:26 <alise> I wish you could get Foobar200 for Linux (don't say Wine).
19:10:29 <alise> *2000
19:11:22 <alise> Also what the fuck is it with Quod Libet not even doing gapless playback
19:11:35 <alise> I'd try Aqualung but....... it's fugly
19:11:40 <Deewiant> alise: Wine
19:11:49 <alise> Deewiant: I said don't say Wine
19:11:51 <Deewiant> alise: Wine
19:12:03 <alise> Deewiant: Don't say avocado
19:12:07 <Deewiant> alise: Wine
19:12:10 <alise> Deewiant: Don't say devil's avocado
19:12:13 <alise> Deewiant: Say Wine
19:12:13 <Deewiant> alise: Wine
19:12:17 <alise> Deewiant: Say Wine
19:12:25 <Deewiant> I think 4 times is enough
19:12:30 <alise> \o/
19:13:46 <oerjan> devil's guacamole
19:15:58 <Phantom_Hoover> alise: Wine.
19:16:04 <Phantom_Hoover> Also guacamole.
19:16:23 <CakeProphet> alise: but you can use Wine to get Foobar200
19:16:43 <alise> *2000
19:16:45 <Phantom_Hoover> Music is for the weak!
19:16:47 <alise> and yes, but only in a shitty form
19:16:52 <alise> native-windows software > the former emulated with wine
19:17:05 <alise> foobar > linux players > wine/foobar
19:17:13 <Phantom_Hoover> Wine Is Not An Emulator.
19:18:09 <alise> shut up
19:18:52 -!- pikhq has joined.
19:19:29 <alise> i am so pissed off that 4front had to be evil :D
19:19:46 -!- MizardX has quit (Quit: Dead pixels in the sky.).
19:20:20 <Deewiant> alise: It's not shitty
19:20:36 <alise> http://deadbeef.sourceforge.net/ Oh, this looks good.
19:20:42 <alise> Deewiant: you're shitty :|
19:20:50 <alise> I just feel evil whenever I use wine
19:20:51 <alise> dunno why
19:21:17 <alise> MAYBE I'LL JUST USE KJOFOL.
19:21:53 <AnMaster> alise, hm does vlc or mplayer give you gapless playback?
19:22:02 <AnMaster> just for debugging the issue I mean
19:22:03 <alise> "mplayer x; mplayer y" definitely not
19:22:06 <alise> I think mplayer x y has a gap
19:22:09 <alise> while it loads the file
19:22:12 <alise> AnMaster: it's def. quod libet
19:22:14 <alise> most players aren't gapless
19:22:17 <AnMaster> alise, ah I thought you meant stuttering
19:22:22 <AnMaster> gaps in that way
19:22:28 <alise> AnMaster: gapless = track x finishes, track y is already buffered and so streams immediately
19:22:31 <alise> segues are preserved
19:22:39 <AnMaster> right
19:22:59 <AnMaster> alise, doesn
19:23:01 <CakeProphet> hmmm... can I run this IRC in a debugger?
19:23:03 <AnMaster> doesn't* vlc do that
19:23:07 <CakeProphet> I don't think we compiled it for that.
19:23:11 <alise> CakeProphet: lol
19:23:17 <AnMaster> alise, at least when playing back from cd with 0 gap between tracks
19:23:21 <alise> AnMaster: dunno. vlc is not really a good music manager though :P
19:23:23 <CakeProphet> Maybe I could fix some of my HORRID TYPOS
19:23:26 <CakeProphet> THAT I ALWAYS HAVE
19:23:28 <AnMaster> alise, also rythmbox?
19:23:30 <alise> rhythm
19:23:32 <CakeProphet> AND CRUISE CONTROL LIKE THIS
19:23:36 <CakeProphet> also... rhythmbox is the shit.
19:23:38 <alise> i don't know if rhythmbox does but i don't like the progam
19:23:39 <alise> *program
19:23:48 <AnMaster> alise, oh I see, I found it quite okay
19:23:50 <CakeProphet> rhythmbox has gapless playback, yes.
19:23:51 <AnMaster> does the basic stuff
19:24:01 <alise> it has some stupid ubuntu one cloud music storage thing integrated now
19:24:12 -!- MizardX has joined.
19:24:12 <CakeProphet> yeah, but you can just ignore it.
19:24:17 <AnMaster> alise, even on non-ubuntu distros?
19:24:19 <alise> i don't care I like trusting my players :P
19:24:21 <alise> AnMaster: well, no.
19:24:32 <alise> anyway i just don't like the ui
19:24:34 <AnMaster> alise, patch package then
19:24:36 <AnMaster> alise, ah okay
19:24:49 <AnMaster> I found rythmbox to be quite reasonable in jaunty at least
19:24:49 <alise> IMO something like mpd or xmms2 is definitely the "future" technologically
19:25:04 <alise> having the actual track-browser-adder-editor-deleter-switcher thing /do the actual audio commands/ is... ludicrous
19:25:07 <alise> from an architectural perspective
19:25:22 <alise> what if you want multiple clients, say over a network? what about multiple interfaces, for different purposes? a web interface, say?
19:25:29 -!- MizardX has quit (Client Quit).
19:25:29 <AnMaster> alise, isn't mpd just a server?
19:25:31 <alise> GUI libraries aren't all that reliable sometimes, too...
19:25:35 <alise> AnMaster: Yes; and xmms2 as well.
19:25:41 <AnMaster> oh, interesting
19:25:47 <AnMaster> alise, which GUIs do you use for them?
19:25:55 <alise> They maintain the music library and do playing/shuffling/etc, and you can use any client you want.
19:26:01 <alise> AnMaster: I don't know -- I'm not sure they have decent clients!
19:26:13 <alise> I tried to write my own mpd client a while back which suggests to me I was dissatisfied with the existing crop.
19:26:28 <alise> Wait! There's that -- what was it called -- that nick guy made it
19:26:36 <AnMaster> ah
19:26:36 <alise> Corn. A lovely name...
19:26:42 <alise> Makes me think of feet.
19:26:55 <alise> http://incise.org/corn.html
19:26:56 <AnMaster> uhu
19:26:58 -!- MizardX has joined.
19:27:04 <alise> Flaws:
19:27:08 <AnMaster> alise, corn makes me think of... corn
19:27:10 <alise> - uses xine
19:27:10 <AnMaster> :P
19:27:14 <alise> - does it do gapless??
19:27:20 <AnMaster> alise, okay xine is shit
19:27:20 <alise> AnMaster: yeah but i had corns on my feet at one point so
19:27:32 <AnMaster> alise, I see. I had shoes more often
19:27:35 <alise> actually i think they're still there, they've just sort of died... gross
19:27:42 <alise> AnMaster: lol
19:27:48 <alise> "I'M DRESSED ENTIRELY IN CEREAL. HI."
19:28:07 <AnMaster> alise, I was thinking of the corn you find at fields in the country
19:28:12 <alise> Yes :P
19:28:24 <AnMaster> alise, not as processed cereal
19:28:41 <AnMaster> alise, so it is some disease as well? or what?
19:28:43 <alise> Corn is a cereal.
19:28:52 <alise> AnMaster: corns are just like... I don't even know what they are, just hard skin things on your feet
19:29:07 <alise> http://en.wikipedia.org/wiki/Callus#Corns
19:29:07 <AnMaster> alise, isn't cereal the thing in a box saying "breakfast cereal"?
19:29:09 <alise> Callus of dead skin.
19:29:10 <alise> Lovely!
19:29:14 <alise> AnMaster: yes, but also the crops
19:29:38 <AnMaster> ah
19:30:32 <alise> Maybe I'll try Aqualung, with the plain skin it doesn't look *too* bad: http://aqualung.factorial.hu/screenshots/plain.png
19:31:23 <AnMaster> alise, reminds me of windowmaker
19:31:31 <AnMaster> not sure why
19:31:42 -!- augur has quit (Remote host closed the connection).
19:31:46 <alise> Here's the fugly default skin: http://aqualung.factorial.hu/screenshots/default.png
19:31:51 <alise> Looks like Acorn RISC OS, with that background pattern.
19:31:55 <alise> And that antialiasing.
19:31:58 <AnMaster> alise, marble
19:32:04 <AnMaster> marbelus
19:32:07 <alise> xD
19:32:24 <AnMaster> alise, or one step further: marbelus marvel
19:32:28 <alise> `addquote <AnMaster> alise, marble <AnMaster> marbelus
19:32:32 <alise> I don't know if addquote works
19:32:39 <alise> Nope.
19:32:48 <HackEgo> No output.
19:32:55 <AnMaster> alise, anyway, I like "marbelus marvel"
19:33:05 <alise> Sounds like a bad comic character.
19:33:20 <alise> AnMaster: Here! You! Be my Richard Stallman:
19:33:24 <AnMaster> wait it is spelled marvellous... so "mabellous mavel"
19:33:26 <AnMaster> alise, ^
19:33:32 <AnMaster> argh
19:33:37 <AnMaster> marbellous mavel
19:33:43 <AnMaster> marbellous marvel
19:33:44 <AnMaster> even
19:33:46 <AnMaster> XD
19:33:50 <alise> AnMaster: Is it immoral to use an open-source product by a company if one of that company's developers, approvedly, sold the XMMS.org domain to spammers?
19:33:54 <AnMaster> alise, what do you mean "Be my Richard Stallman:"
19:33:56 <alise> AnMaster: I need guidance, O Wise One.
19:34:05 <alise> AnMaster: Well, that virtual rms program that complains about non-free packages.
19:34:15 <AnMaster> alise, who developed that product? Community?
19:34:15 <alise> AnMaster: You're ever-so-slightly more intelligent than a simple program, so you can handle this more complex question.
19:34:21 <alise> AnMaster: It's OSSv4, by 4Front.
19:34:30 <alise> It was developed by the company.
19:34:35 <alise> It's in Debian and all.
19:34:42 <AnMaster> alise, so not much by external contributors?
19:34:44 <alise> Nope.
19:34:52 <AnMaster> alise, I never much liked xmms
19:34:55 <alise> The product is perfectly fine, and I assume the developers on that product.
19:34:58 <alise> But it gives me a bad taste.
19:35:01 <alise> AnMaster: So what? The developers are nice guys.
19:35:03 <pikhq> It has a bizarre history.
19:35:10 <AnMaster> yep
19:35:10 <alise> http://thieta.wordpress.com/2010/04/28/what-ever-happened-to-xmms-org/
19:35:19 <AnMaster> alise, and I don't know
19:35:22 <alise> That all changed a couple of weeks ago when the XMMS.org webserver admin received a email from 4Front CEO Dev Mazumdar, stating that he had sold the domain to a company and wanted a full webpage dump. Needless to say, that was pretty surprising! We immediately responded that we where interested in taking over the domain instead, since a lot of us where still actively using it for email and personal webspace. The reply was “We invested a lot of money into X
19:35:22 <alise> MMS development”, which is an interesting reply on all accounts. Quickly after that the domain was moved and we barely had time to move all our accounts away from the addresses, Dev told us that we should just use xmms.se and xmms2.org instead.
19:35:23 <alise> [...]
19:35:24 <alise> That list of domains are pretty interesting, note the zinf.org in the end, it’s another open source media player, that has been mostly abandoned as well. It took us a while, but finally we spotted something odd on both goftp.com and zinf.org, linked from the first page there is a new button called “Answers” if you follow it you end up on http://www.zinf.org/qna, I bet the original zinf site didn’t have that on there. So far nothing like this has been
19:35:25 <AnMaster> alise, alsa + jack works for me
19:35:29 <alise> added to the xmms.org site, but I guess it’s just a matter of time. Buying these sites just seems to be a way to drive his ad revenue.
19:35:31 <AnMaster> or alsa + pulsecrap
19:35:31 <alise> Recent digging also shows that the same guy have registered xmms3.org and xmms3.com as well!
19:35:33 <alise> I must say that I don’t really believe that this company will restart development of XMMS or pay any money to 4Front for continue the development. I really hope that Dev lied to us directly about it, otherwise he is pretty dense.
19:35:37 <pikhq> Lessee. Developed by that company, got put into Linux, forked into proprietary product, and remade free software.
19:35:59 <alise> Supposedly the code isn't very good, but come on, it does everything ALSA does but better and with really low latency
19:36:03 <alise> (competitive with JACK iirc)
19:36:11 <alise> (and has an ALSA compatibility layer (ha!))
19:36:16 <alise> isn't very good as in
19:36:20 <alise> doesn't obey kernel module coding standards
19:36:20 <pikhq> alise: Better than ALSA.
19:37:35 <AnMaster> I find alsa works quite well for my hardware
19:37:38 <AnMaster> I guess I'm lucky
19:38:01 <pikhq> I've had decent luck with ALSA's *drivers*. It's just a royal pain in userspace.
19:38:04 <AnMaster> alise, and jack uses alsa as the backend afaik
19:38:11 <pikhq> There's just too damned much to it!
19:38:16 <AnMaster> as in, it doesn't do it's own kernel drivers
19:38:36 <alise> AnMaster: anyway, I'm only asking about morals.
19:38:38 <alise> pikhq: you can answer too :P
19:38:43 <pikhq> And this is why we've *still* got myriad abstraction layers that try and make it cleaner!
19:39:03 <AnMaster> alise, do whatever maximises the total good in the universe
19:39:08 <pikhq> alise: Even RMS doesn't go so far as to forever condemn a company for a single evil act.
19:39:12 <alise> AnMaster: Repugnant Conclusion
19:39:17 <alise> you mean whatever minimises the total harm
19:39:24 <AnMaster> alise, *googles "Repugnant"*
19:39:28 <alise> no
19:39:31 <alise> Repugnant Conclusion
19:39:37 <alise> repugnant just means foul
19:39:43 <alise> pikhq: but they sold a domain to a spammer, knowingly!
19:39:56 <alise> without asking the xmms people!
19:40:05 <alise> then justified it after the found out by saying they'd "spent a lot of money on xmms.org"!
19:40:18 <pikhq> alise: Yes, that makes them either temporarily evil or absolutely freaking *dense*.
19:40:31 <alise> So... I can sleep at night?
19:40:34 <alise> >_>
19:40:37 <pikhq> I see nothing wrong with just using OSSv4, no.
19:40:50 <pikhq> *Worst* case scenario, you'll have to go back to ALSA.
19:40:52 <alise> IT SHALL BE DONE, as soon as I figure out how to disable pulseaudio.
19:41:00 <pikhq> (if they do a bizarro bait-and-switch)
19:41:17 <alise> Maybe a bait and BITCH.
19:41:25 <AnMaster> alise, ah right
19:41:43 <AnMaster> alise, not only that, but it is also an useless suggestion in practise
19:41:55 <alise> utilitarianism only works for broader moral decisions :P
19:42:00 <AnMaster> alise, yep
19:42:01 <alise> not "can i sleep at night while doing this"
19:42:23 <AnMaster> alise, what was the name of that one that looked at character traits or something
19:42:35 <alise> ?
19:42:52 <AnMaster> different groups of ethics philosphy
19:42:55 <AnMaster> spelling
19:43:00 <alise> ??
19:43:20 <AnMaster> Aristotle invented it iirc
19:43:28 <alise> your mother invented aristotle
19:43:46 <AnMaster> ah found it with interwiki:
19:43:48 <AnMaster> http://en.wikipedia.org/wiki/Virtue_ethics
19:43:49 <AnMaster> alise, ^
19:44:09 <AnMaster> of course, just as useless
19:44:13 <AnMaster> if not more
19:44:15 <alise> I refuse to accept any non-consequentialist moral system :P
19:44:25 <AnMaster> alise, ah I see
19:44:27 <alise> I'm a utilitarian but that has nothing to do with OSSv4 :D
19:44:41 <AnMaster> alise, then I will recommend: Do whatever you want (nihilism)
19:44:49 <alise> that isn't nihilism!
19:44:55 <alise> WHY DOES NOBODY UNDERSTAND NIHILISM
19:44:58 <AnMaster> alise, applied nihilism
19:45:15 <alise> touche
19:46:47 -!- cheater99 has quit (Ping timeout: 240 seconds).
19:49:18 -!- alise has left (?).
19:49:20 -!- alise has joined.
19:49:23 <alise> oops.
19:51:48 <alise> sudo update-rc.d pulseaudio stop 50 2 3 4 5 .
19:51:49 <alise> ~
19:52:07 <alise> hmm that doesn't work
19:53:59 <AnMaster> alise, btw wikipedia lists a number of interesting arguments against the repugnant conclusion
19:54:24 <alise> You mean the "it isn't actually repugnant one"?
19:54:34 <alise> Look at the two equivalent societies. Decide which you'd rather live in.
19:54:42 <alise> It's not the one where everyone's just barely happy.
19:54:45 <alise> Q.E.D.
19:54:49 <AnMaster> alise, I meant the "comparison is incompatible"
19:54:54 <AnMaster> so not the one you thought I meant
19:54:59 <alise> That goes against utilitarianism, then.
19:55:27 <AnMaster> "The comparison between A and A+ was partly dependent on their separation."
19:55:47 <AnMaster> sure there is counter-criticism on that again
19:56:11 <alise> Hmm - is removing ubuntu-desktop really so bad?
19:56:11 <AnMaster> alise, as for "Of course one can simply accept the Repugnant Conclusion. Torbjรถrn Tรคnnsjรถ argues that we have a false intuition of the moral weight of billions upon billions of lives "barely worth living". He argues that we must consider that life in Z would not be terrible, and that in our actual world, most lives are actually not far above, and often fall below, the level of "not worth living". T
19:56:11 <AnMaster> herefore the Repugnant Conclusion really isn't so repugnant."
19:56:14 <AnMaster> well
19:56:19 <AnMaster> depends on how selfish you are
19:56:32 <alise> not really. the best society has /everyone/ being happy
19:56:34 <AnMaster> alise, lots of things depend on it or something iirc
19:56:41 <alise> AnMaster: no, it just depends on everything
19:56:46 <AnMaster> alise, yes, here is a one way ticket to utopia
19:56:47 <alise> it's for updates or something
19:56:47 <AnMaster> have fun
19:56:50 <alise> but is that really so bad?
19:57:00 <AnMaster> alise, don't know
19:57:05 <alise> AnMaster: it's not utopia unless everyone else is there and it's post-singularity and people aren't left behind
19:57:14 -!- sshc has quit (Quit: leaving).
19:57:16 <alise> so if I really knew it was utopia I'd go through -- since it would basically let us all time-travel to post-Singularity
19:57:20 <alise> if not, it's not actually utopia for me.
19:57:39 <AnMaster> alise, wrong. My utopia would not have you in it. So "everyone but ehird" ;P
19:57:45 <AnMaster> every utopia is personal IMO
19:58:06 <alise> I'm sure CEV would solve this problem by either separating us entirely, or modifying us to not dislike each other (god I hope not).
19:58:10 <alise> Or, you know, improving you so you're more like me.
19:58:16 <AnMaster> alise, CEV?
19:58:48 <AnMaster> alise, you mean improving _you_ of course. Not me. ;P
19:59:03 <AnMaster> I'm already perfect and so on
19:59:22 <alise> Coherent Extrapolated Volition.
20:00:20 <AnMaster> alise, eh. Is this like "<insert deity of your choice if you choice>"?
20:00:31 <AnMaster> if you choose'
20:00:35 <AnMaster> s/'/*/
20:01:27 <alise> no
20:01:36 <alise> it's the architecture proposed in Creating Friendly AI for resolving conflict in human desires
20:01:45 <alise> http://singinst.org/upload/CEV.html
20:01:54 <alise> "WARNING: Beware of things that are fun to argue." :-)
20:03:16 -!- ws has joined.
20:13:13 -!- alise has quit (Remote host closed the connection).
20:16:09 * pikhq is being too lazy to add further optimisations.
20:16:16 <pikhq> This is probably not a good thing.
20:16:43 -!- alise has joined.
20:16:57 <alise> Does anyone know how to disable ALSA?
20:17:06 * pikhq is being too lazy to add further optimisations.
20:17:07 <pikhq> This is probably not a good thing.
20:17:15 <pikhq> alise: Which distro?
20:17:24 <alise> Ubuntu.
20:17:35 <pikhq> You *should* be able to unload the ALSA modules.
20:17:46 <alise> Right, but what about freaky autoload-at-startup stuff.
20:17:46 <pikhq> rmmod.
20:17:52 <alise> aha
20:17:53 <alise> Blacklisting ALSA Kernel Modules
20:17:53 <alise> sudo dpkg-reconfigure linux-sound-base
20:18:05 <alise> lol it uninstalls alsa altogether
20:18:07 <alise> ok maybe i'll just do that
20:18:23 <pikhq> Ahahah.
20:18:49 <alise> <alise> Flannel: It's a good thing I know what I'm doing, or this would arguably be insanely stupid.
20:19:02 <alise> ehird@ehird-desktop:~$ sudo apt-get purge pulseaudio gstreamer0.10-pulseaudio
20:19:06 <alise> i am doing a reasonable thing here
20:19:18 <alise> HA HA THE PULSEAUDIO IS DEAD
20:19:27 <pikhq> Yes, yes. Purge Pulseaudio.
20:19:40 <alise> GOODBYE ALSA-BASE! GOODBYE ALSA-UTILS!
20:19:42 <alise> MWAHAHAHAHAHAHA
20:19:51 <alise> ROCKET BRAIN SURGERY ON UBUTNU
20:19:53 <alise> *UBUNTU
20:20:00 <alise> "Blacklisting ALSA Kernel Modules"
20:20:02 <alise> WE'RE NOT DONE YET
20:20:46 <alise> In general, it's better to have applications use the OSS API or a higher level sound API/library with OSS4, but if you have the libasound2-plugins package (it's pre-installed on standard Ubuntu installs), it is possible to have ALSA applications output to OSS with this workaround (the first method).
20:20:51 <alise> Nothing supports OSS any more, though :P
20:20:55 <alise> mplayer does. Anything else?
20:21:00 <alise> Hmm... do things like xine?
20:21:19 <pikhq> Actually, *most* things support OSS.
20:21:40 <alise> That's not what I wanted to hear! I DO NOT WANT TO HAVE TO CONFIGURE MORE! :P
20:21:40 <pikhq> ALSA only exists on Linux. OSS exists on almost every other UNIX.
20:21:49 <pikhq> Xine supports OSS, yes.
20:22:37 <pikhq> alise: See, if this were Gentoo, you'd just do USE="-alsa oss", rebuild, and call it a day.
20:22:40 <pikhq> :P
20:23:07 <alise> Hmm, the OSSv4 in Ubuntu is one build behind. I do not feel like using their binaries
20:23:09 <alise> So I'll use it!
20:23:21 <alise> I know gstreamer can use oss
20:23:44 <alise> http://www.opensound.com/wiki/index.php/Configuring_Applications_for_OSSv4
20:24:30 <alise> pikhq: Sweet, I just realised I'm gonna have to use their custom mixer application
20:24:34 <alise> This is the good fight I'm fighting right??
20:25:02 <alise> For OSS to work on a system with a given sound card, there must be an OSS
20:25:02 <alise> driver for that card in the kernel. For Linux 2.6, a custom oss4-modules
20:25:02 <alise> package can be built from the sources in the oss4-source package using the
20:25:02 <alise> module-assistant utility.
20:25:05 <alise> sure hope it supports my onboard
20:25:20 <alise> I wonder what I'll have to do
20:25:39 <alise> Error! Bad return status for module build on kernel: 2.6.32-22-generic (x86_64)
20:25:39 <alise> Consult the make.log in the build directory
20:25:40 <alise> /var/lib/dkms/oss4/4.2-build2002/build/ for more information.
20:26:18 <alise> For OSS to work on a system with a given sound card, there must be an OSS
20:26:18 <alise> driver for that card in the kernel. For Linux 2.6, a custom oss4-modules
20:26:18 <alise> package can be built from the sources in the oss4-source package using the
20:26:18 <alise> module-assistant utility.
20:26:20 <alise> Guess I have to do this then
20:27:37 <alise> pikhq: Haha what am I doing to my system.
20:30:38 <alise> โ”‚ cp: cannot stat โ–’
20:30:38 <alise> โ”‚ `/lib/modules/2.6.32-22-generic/source/include/linux/limits.h': No such โ–’
20:30:39 <alise> โ”‚ file or directory โ–’
20:30:41 <alise> THIS IS PROBLEM?
20:31:06 <alise> is alrdy installed :<
20:31:12 <alise> i so confused
20:31:33 <relet> NO NO! NO NONONO! There's no limits nono!
20:32:16 <pikhq> alise: Oh. You don't have kernel headers installed.
20:32:33 <alise> I do
20:32:39 <alise> relet: NO :<
20:32:50 <pikhq> alise: Not the ones for module building.
20:32:58 <alise> YESS I DO.
20:33:00 <Phantom_Hoover> oerjan, topology man.
20:33:06 -!- uorygl has quit (Ping timeout: 252 seconds).
20:33:16 <alise> "Topology, man. Like... what the shit, man..."
20:33:21 <pikhq> ls /lib/modules/2.6.32-22-generic/source/include/linux
20:33:23 <Phantom_Hoover> Does the Moore neighbourhood work with spheres?
20:33:31 <alise> ls: cannot access /lib/modules/2.6.32-22-generic/source/include/linux: No such file or directory
20:33:34 <alise> NUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU#
20:33:37 <alise> s/#$//
20:33:44 <pikhq> See, don't have it.
20:33:51 <alise> but there no packaj :<
20:34:09 <pikhq> Kernel source or kernel-build or something.
20:35:02 -!- uorygl has joined.
20:35:15 <alise> installin kernel source :<<<< but it already there
20:35:16 <alise> no wai
20:35:19 <alise> No candidate version found for kernel-source
20:35:19 <alise> No candidate version found for kernel-source
20:35:20 <alise> WUT WUT
20:35:24 <oerjan> Phantom_Hoover: i don't really know
20:35:31 * alise cry
20:36:24 * alise unstal oss to use packaj
20:36:29 <oerjan> the "obvious" way of making a sphere from squares ends up with some squares at the poles that don't have 8 neighbors
20:36:30 <Phantom_Hoover> oerjan: OK. Me and AnMaster had an argument about it a while ago.
20:36:42 <alise> toooooo traumattic
20:36:43 <Phantom_Hoover> And that's what I was thinking.
20:37:04 <Phantom_Hoover> I also thought that the hairy ball theorem came into it
20:37:16 <Phantom_Hoover> Since you need to have a pole somewhere.
20:37:16 <oerjan> yeah i think i recall that discussion
20:37:22 * alise see .deb
20:37:23 * alise lick deb
20:37:32 <alise> Why am I pretending to be a small, fluffy, retarded animal?
20:37:35 <oerjan> Phantom_Hoover: there might be an argument there. hm.
20:37:44 <Phantom_Hoover> alise: Because you are one?
20:37:46 <alise> gahahahahahaha hairy ball theorem :D
20:37:53 <Phantom_Hoover> I have no idea why I said that...
20:38:06 <alise> ahahahahahahahah hairy ball theorem
20:38:16 * Sgeo_ fell asleep in the middle of the day
20:38:23 <alise> Sgeo_
20:38:27 <alise> hairy ball theorem
20:38:31 <alise> agahgahgahahahahaja :D
20:38:33 <alise> ahem
20:38:35 <oerjan> well he's said he's small, he might well be fluffy. and the State says he's retarded
20:38:50 <alise> is mentally ill strictly the same thing as retarded
20:38:54 * alise mew
20:38:56 <Phantom_Hoover> alise: I never thought it was funny when I first heard of it.
20:38:56 <Sgeo_> The theorem that you are a hairy ball? It's been mathematically proven?
20:38:57 <alise> i make mewing noises too!
20:39:05 <oerjan> alise: give or take a few marbles
20:39:07 <alise> Sgeo_: IT IS FUNI BECAUSE IT IS LIKE GENITALIA
20:39:16 <alise> ...but i'm a FLUFFY ball tyvm
20:39:18 <Phantom_Hoover> Sgeo_: No, it's something boring with vector fields on spheres.
20:39:49 <oerjan> Phantom_Hoover: oh hm i remembered another reason
20:39:57 <Sgeo_> alise, get out of Limbo, dangit
20:40:06 <alise> NO
20:40:18 <alise> ************************************************************
20:40:18 <alise> * NOTE! You are using trial version of Open Sound System *
20:40:18 <alise> ************************************************************
20:40:20 <Phantom_Hoover> The Pope said Limbo doesn't exist.
20:40:21 <alise> The prebuilt packages available for download on this page are licensed under the 4Front Commercial License. These packages contain drivers which are not licensed under the various Open Source license. The packages come with a 1 year time limited license key and a permanant license key that will entitle you to free support and upgrades can be ordered here
20:40:22 <alise> lol
20:40:22 <Phantom_Hoover> QED.
20:40:35 <Phantom_Hoover> oerjan: What is it?
20:41:19 <alise> --enable-libsalsa=NO: Don't build libsalsa (Linux only - other OSs don't build libsalsa).
20:41:23 <alise> BUT I WANT LIBSALSA :((
20:42:05 <oerjan> Phantom_Hoover: http://en.wikipedia.org/wiki/Planar_graph#Euler.27s_formula
20:42:39 <alise> emacs23: Depends: libasound2 (> 1.0.22) but it is not installable
20:42:40 <alise> WHAT.
20:43:12 <Phantom_Hoover> oerjan: Because the Moore neighbourhood would violate it for a polyhedron?
20:43:24 <oerjan> Phantom_Hoover: i suspect so
20:43:53 <oerjan> lessee all faces are squares
20:43:56 * Phantom_Hoover tries to visualise it
20:44:19 <oerjan> each vertex borders 4 squares
20:44:39 <oerjan> each edge is shared between 2 faces
20:45:00 <oerjan> each squares has 4 vertices. so f = v
20:45:14 <alise> i think i on oss nao
20:45:24 <alise> i am
20:45:25 <alise> happy
20:45:41 <oerjan> each square has 4 edges, so um, 2f = e
20:45:45 <alise> all i have to do now is swappy chans ^_^
20:46:02 <alise> pikhq: the problem is that gentoo sucks :P
20:46:17 <alise> osspartysh, i hope that is really a party in oss
20:46:18 <pikhq> alise: :P
20:46:25 <alise> osspartysh - reverse "telnet" utility for OSs technical support
20:46:31 <oerjan> for a polyhedron you have one more face than for just a planar graph (the outside)
20:46:33 <alise> I love commercial software, it's so queer
20:46:39 <alise> The osspartysh is an utility that makes it possible to a remote suport
20:46:39 <alise> engineer to share the session with a customer. The session runs in cusโ€
20:46:39 <alise> tomer's computer but both the customer and the support engineer can
20:46:39 <alise> type comands and see the output. It is possible to run commands like vi
20:46:39 <alise> to edit files.
20:46:52 <oerjan> so v - e + f = 3
20:47:11 <Phantom_Hoover> And v=f and e=2f.
20:47:26 <Phantom_Hoover> So f-2f+f=0
20:47:28 <oerjan> um i think that 3 is wrong
20:47:29 <Phantom_Hoover> QED.
20:47:38 <Phantom_Hoover> Q. E. D.
20:47:44 <oerjan> um that's not qed
20:47:48 <alise> xD
20:47:53 <alise> "1+1=2. Q.E.D."
20:47:53 <oerjan> oh wait
20:48:11 <alise> Phantom_Hoover: ITYM โˆŽ
20:48:23 <Phantom_Hoover> QED is LATIN!
20:48:36 <alise> Personally I'd write "Quod erat demonstrandum." out in full if I ever proved, say, the Riemann hypothesis.
20:48:51 <oerjan> er for a cube v = 8, e = 12, f = 6 so v - e + f = 2
20:48:59 <Phantom_Hoover> I'd write the whole proof in Latin.
20:49:13 <Phantom_Hoover> oerjan: 2!=0.
20:49:15 <oerjan> Phantom_Hoover: oh wait, the wikipedia formula _includes_ the outer region
20:49:16 <Phantom_Hoover> QED
20:49:27 <alise> Phantom_Hoover: xD
20:49:33 <oerjan> Phantom_Hoover: agree
20:49:36 <pikhq> alise: I doubt anyone ever would blame you.
20:49:43 <alise> "Yes, I agree, 2 is not 0."
20:49:55 <alise> pikhq: Can you imagining finishing such a proof with a โˆŽ? Pfft.
20:50:13 <alise> And why would you ABBREVIATE it when this is, like, the biggest thing in mathematics ever? YOU'RE ALLOWED TO MASTURBATE IN THIS PAPER
20:50:47 <Phantom_Hoover> OTOH, if I was proving arithmetic inconsistent I'd probably write "sorry".
20:50:47 <alise> me guesses to restart now would be good.
20:50:48 <pikhq> I'd even accept Wolfram using cellular automatons to do the proof.
20:50:51 <alise> 'justincase'
20:50:52 <alise> Phantom_Hoover: :D
20:50:58 <pikhq> (if he pulled it off)
20:51:02 <pikhq> Phantom_Hoover: Same.
20:51:12 <pikhq> Perhaps even "Mea culpa".
20:51:28 <Phantom_Hoover> Hence proving the RH undecidable is also apology-worthy.
20:51:52 <alise> I'd end "ZFC is inconsistent" with a partial list of Obsoleted References, ending in "..."
20:52:00 <alise> Which would just be a random selection of famous papers that... used ZFC.
20:52:01 <pikhq> alise: LMAO
20:52:24 <oerjan> alise: i was just confused by the constant in wikipedia's version of the formula
20:52:41 <alise> reboot time now!!
20:52:53 <alise> btw you guys /may/ also see me on wednesday.
20:53:01 <alise> since i come back home in tuesday
20:54:23 -!- alise has quit (Read error: Connection reset by peer).
20:55:44 <oerjan> Phantom_Hoover: http://en.wikipedia.org/wiki/Euler_characteristic#Examples
20:56:54 <oerjan> which shows us that from those examples, only the torus, mobius strip and klein bottle have a chance of working perfectly with moore neigborhoods
20:57:14 <Phantom_Hoover> Yes, indeed.
20:57:28 <Phantom_Hoover> Bah, Real Projective Life seemed neat.
20:57:35 <relet> hmmm. have there been any esoteric languages proposed which would correspond to BASIC in an esoteric natural language?
20:57:46 <uorygl> Why wouldn't you do Real Projective Life?
20:57:50 <oerjan> and i think we checked that all those work previously
20:57:59 <Phantom_Hoover> Euler characteristic 1.
20:58:08 <uorygl> s/wouldn't/couldn't/
20:58:08 <Phantom_Hoover> Moore neighbourhood has EC 0.
20:58:17 <oerjan> uorygl: we cannot cover it properly with squares such that each square has 8 neighboors
20:58:20 <oerjan> *bors
20:58:34 * uorygl briefly attempts to do so.
20:58:35 -!- alise has joined.
20:58:42 <alise> Who wants to see the OSS v4 graphical mixer?
20:58:49 <alise> http://i.imgur.com/e7qN6.png
20:58:50 <alise> FOOLS!
20:58:55 <alise> You cannot see it without going insane!
20:59:05 * uorygl decides he cannot do it.
20:59:12 <uorygl> alise: good thing I didn't look at it.
20:59:14 * uorygl looks at it.
20:59:23 <alise> All I want is a single slider.
20:59:25 <uorygl> What if an insane person looks at it?
20:59:29 <oerjan> relet: erm "natural" as in non-programming?
20:59:40 <alise> They go so insane they wrap back around again, become sane again, then it goes so far they become insane again.
20:59:43 <alise> Overall, no change.
20:59:45 <oerjan> oh hm
20:59:59 <uorygl> Mathematics: the natural programming language.
21:00:05 <uorygl> All other programming languages are constructed.
21:01:48 <alise> hey oerjan
21:01:52 <alise> what's an anagram of banach-tarski?
21:02:21 <oerjan> !haskell sort "banach-tarski"
21:02:37 <oerjan> sheesh
21:02:41 <alise> oerjan: "I kan hat a crabs"
21:02:50 <alise> you were meant to take the bait and say "banach-tarski banach-tarski" :(
21:02:53 <oerjan> !haskell import Data.List;main=print$sort "banach-tarski"
21:02:55 <EgoBot> "-aaabchiknrst"
21:03:06 <uorygl> alise: yes, but that answer is also correct.
21:04:01 <Deewiant> Ransack habit
21:04:46 <alise> Anyone know how to swap channels in oss4?
21:04:50 <uorygl> Good one!
21:04:59 <alise> YOU'RE ALL DOING IT WRONG
21:05:03 <oerjan> barack's hatin'
21:05:04 <Phantom_Hoover> The argument list for defgeneric includes fun-name.
21:05:08 <Phantom_Hoover> Must abuse.
21:05:12 <Deewiant> Why do you need to swap channels?
21:05:25 <alise> Phantom_Hoover: Lithping, are we?
21:05:31 <alise> Deewiant: my speaker cable only reaches the wrong way around
21:05:32 <alise> so yeah.
21:05:35 <Deewiant> heh
21:05:41 <Phantom_Hoover> Indheed.
21:05:46 <alise> i could maybe stretch it to work but.. nah
21:05:49 <alise> *but...
21:05:52 <alise> Phantom_Hoover: that is not how lisps work.
21:05:55 <alise> Phantom_Hoover: also scheme is better
21:06:04 <Phantom_Hoover> I do not care.
21:06:08 <alise> *\m/ Knights of the Lambda Calculus forever \m/*
21:06:35 <Phantom_Hoover> \o/
21:06:35 <myndzi> |
21:06:35 <myndzi> >\
21:06:52 <Phantom_Hoover> myndzi: What manner of creature are you?
21:06:58 <alise> he's half-bot, half-human
21:06:59 <Sgeo_> alise, so no LambdaMOO today?
21:07:02 <alise> like the terminator if he was half-human
21:07:06 <alise> Sgeo_: well i have an account...
21:07:19 <Sgeo_> So go on it?
21:07:24 <alise> why?
21:07:28 <alise> there's nobody there!
21:07:50 <alise> wow, osstest(1) uses really cheesy music
21:08:56 <oerjan> satanic barakh - where did i cheat?
21:08:56 <alise> ah, /dev/dsp
21:08:57 <alise> wonderful
21:09:03 <alise> oerjan: lol
21:09:09 <alise> you can use letters twice, they proved that
21:09:11 <alise> :P
21:09:18 <oerjan> hey good point :D
21:09:52 <Sgeo_> I'll go continue watching SG-1 then
21:10:25 <oerjan> alise: hey it's more plausible than most 666 attempts
21:10:42 <alise> hey, listen!
21:11:00 <Sgeo_> 666 attempts?
21:11:32 <oerjan> Sgeo_: number of the beast
21:13:08 <oerjan> "Let him that hath understanding count the number of the beast: for it is the number of a man; and his number is Six hundred threescore and six."
21:14:48 <oerjan> (from Revelations 13:18)
21:16:04 <alise> that's an incorrect translation btw :P
21:16:05 <alise> it's 616
21:16:55 <oerjan> basically every man christians have ever disliked, they've tried to find some way to connect that number with him. usually by turning letters into numbers, since that's what the ancients used to do
21:17:13 <oerjan> alise: [dubious; discuss]
21:17:21 <Phantom_Hoover> alise: IT'S POETIC.
21:17:52 <Phantom_Hoover> "Six hundred threescore and six" > "six hundred and sixteen"
21:18:07 <alise> oerjan: yeah yeah i know
21:18:08 <alise> :P
21:18:12 <alise> the whole bible is dubious though
21:18:17 <alise> also, Sgeo_ knows you know
21:18:21 <alise> someone ping me plz
21:18:44 <Phantom_Hoover> I regret that now.
21:19:12 <alise> no
21:19:13 <alise> as in nickping
21:19:36 <Phantom_Hoover> "Unknown command"
21:19:52 -!- ws has quit (Quit: ...).
21:20:30 <alise> grr
21:20:32 <alise> just mention my name
21:20:39 <Phantom_Hoover> alise
21:20:44 <alise> It works yay
21:20:52 <Phantom_Hoover> Why?
21:21:00 <alise> Switched sound system to OSSv4.
21:21:38 <oerjan> !haskell sum . map (subtract 96 . fromEnum) $ "barackobama"
21:21:40 <EgoBot> 68
21:21:52 <oerjan> hm
21:22:07 <oerjan> !haskell sum . map (fromEnum) $ "barackobama"
21:22:09 <EgoBot> 1124
21:22:14 <oerjan> needs work there
21:22:28 <oerjan> ah!
21:22:41 <alise> brackko bama
21:23:00 <alise> clearly we need a function solver
21:23:04 <alise> f("barackobama") = 666
21:23:10 <alise> then we can justify it :P
21:23:33 <oerjan> !haskell main = print (sum (map (fromEnum) beast) - 666)/length beast where beast="barackobama"
21:23:45 <oerjan> ouch
21:24:18 <alise> WHO
21:24:19 <alise> a
21:24:23 <alise> flac -d --stdout "foo.flac" >/dev/dsp
21:24:26 <alise> it's the slow remix :DDD
21:24:36 <alise> this is sweet
21:24:39 <alise> AHAHAHA
21:24:44 <alise> so deep
21:24:48 <oerjan> !haskell main = print (sum (map (fromEnum) beast) - 666)//length beast where beast="barackobama"; a//b = fromIntegral a/fromIntegral b
21:25:10 <oerjan> eek
21:25:15 <oerjan> !haskell main = print $ (sum (map (fromEnum) beast) - 666)//length beast where beast="barackobama"; a//b = fromIntegral a/fromIntegral b
21:25:18 <EgoBot> 41.63636363636363
21:25:32 <oerjan> very plausible
21:25:35 <alise> wat.
21:26:01 <oerjan> !haskell main = print $ (sum (map (fromEnum) beast) - 666)//length beast where beast="barack obama"; a//b = fromIntegral a/fromIntegral b
21:26:03 <EgoBot> 40.833333333333336
21:26:25 <alise> this is terrifying
21:27:40 <oerjan> !haskell main = print $ (sum (map (fromEnum) beast) - 666)//length beast where beast="barackhobama"; a//b = fromIntegral a/fromIntegral b
21:27:49 <EgoBot> 46.833333333333336
21:27:55 <Phantom_Hoover> Why the hell do you have to put * around CL globals?
21:28:01 <Phantom_Hoover> It's so hard to type!
21:28:10 <alise> Phantom_Hoover: *it's-not-globals-it's-special-variables-iirc*
21:28:17 <alise> *they're-like-dynamic-scoping*
21:28:27 <Phantom_Hoover> Yesyesyes
21:28:31 <alise> (let ((*bastard* ploop)) (foo))
21:28:35 <alise> foo has *bastard* = ploop
21:28:40 <Phantom_Hoover> *it's-still-hard*
21:30:09 <alise> Why just a music player?
21:30:09 <alise> A lot of people ask us about video. But video will not be included, nor will it be supported in XMMS2 - in fact video-support is even less possible than in XMMS1. This choice has numerous reasons. Music and video are very separate things, despite what many people like to think. The architecture of XMMS2 is designed such that it handles audio wonderfully well - handling video is simply not part of this project's scope and will not be added. And we believe tha
21:30:10 <alise> t we can make the best music player out there, but not the best video player, so we stick to what we are best at. There are other choices, if you wish to play video and audio via the same application.
21:30:10 <alise> But XMMS stands for X MultiMedia System, that includes video!
21:30:12 <alise> Wrong. In "XMMS2", XMMS stands for X(cross)platform Music Multiplexing System.
21:30:14 <alise> Backronyms to the rescue
21:30:16 <alise> s/$/./
21:32:32 <oerjan> barackonyms
21:33:49 -!- pikhq has quit (Ping timeout: 245 seconds).
21:34:09 <Phantom_Hoover> pikhq!
21:34:12 <oerjan> as opposed to palindromes
21:34:26 <oerjan> !haskell main = print $ (sum (map (fromEnum) beast) - 666)//length beast where beast="sarahpalin"; a//b = fromIntegral a/fromIntegral b
21:34:33 <EgoBot> 39.3
21:34:42 <alise> XMMS2 is not working. What should I do?
21:34:43 <alise> You should do it right, of course. Stop doing it wrong, and it'll start working.
21:34:51 -!- pikhq has joined.
21:35:00 <Phantom_Hoover> pikhq!
21:35:07 <alise> I added some music and started playing, but I can't hear anything!
21:35:07 <alise> "Did you try turning it off and on?" This checklist might help:
21:35:07 <alise> Are you deaf? In the future, try to remember this when using media players.
21:35:21 <pikhq> Phantom_Hoover: Yes!
21:35:28 <pikhq> That is my appelation!
21:35:31 <oerjan> alise: is that an actual faq?
21:35:39 <alise> yes
21:35:40 <alise> :D
21:35:42 <alise> the xmms2 one
21:35:45 <alise> (i'm eliding a lot of course)
21:36:08 <Phantom_Hoover> Music is for the weak!
21:36:40 <alise> Not when you pipe the output of flac -d to /dev/dsp
21:36:43 <alise> IT MAKES IT SO DEEP AND SLOW
21:39:05 <alise> Maybe I'll write my OWN music daemon.
21:40:14 -!- pikhq has quit (Ping timeout: 240 seconds).
21:40:46 -!- pikhq has joined.
21:42:02 <pikhq> This appears to not understand the concept of delivering packets.
21:44:54 -!- uorygl has quit (Ping timeout: 240 seconds).
21:46:51 -!- uorygl has joined.
21:53:29 -!- coppro has joined.
21:59:28 <alise> a
21:59:49 <oerjan> b
22:01:02 <alise> coppro: amend
22:01:19 <coppro> what of it?
22:02:37 <alise> coppro: just haven't said anything about it for N years :P
22:02:40 -!- pikhq_ has joined.
22:02:54 -!- pikhq has quit (Read error: Connection reset by peer).
22:04:24 -!- pikhq_ has changed nick to pikhq.
22:04:42 <coppro> well now you have. congratulations
22:04:53 <alise> coppro: yay
22:04:54 <alise> Reply to ซ Reply to "Reply to 'Reply to 'Continued Thoughts on Collections" ป
22:04:55 <alise> that's some title
22:06:42 <alise> Huh.
22:06:51 <alise> Anyone heard of this C coding style: Linux, except a space before function arguments?
22:09:13 -!- pikhq has quit (Read error: Connection reset by peer).
22:09:40 -!- pikhq has joined.
22:09:49 <pikhq> FUCK THIS SHIT
22:09:57 -!- kar8nga has quit (Remote host closed the connection).
22:10:28 <alise> pikhq: Is that legal?
22:11:12 <pikhq> alise: Lessee: not child porn, not copyright violation, and not prostitution...
22:11:15 <pikhq> Yes.
22:11:27 <alise> pikhq: But I'm underage... wait, do you mean literal shit?
22:11:35 <alise> Okay, new question: Is that... hygienic?
22:11:52 <pikhq> alise: I never said anything about video-taping it.
22:11:59 <pikhq> Which makes it not child porn.
22:12:11 <pikhq> Also: not at all.
22:12:19 <alise> Right, I was assuming there was another sentient party, i.e. that "this shit" was metaphorical.
22:12:54 * pikhq wants a 300 baud Internet connection
22:13:04 <pikhq> It'd work better.
22:13:33 <pikhq> 16:13 -!- Irssi: Join to #esoteric was synced in 231 secs
22:14:09 <Sgeo_> alise, I just lept inside the housekeeper
22:14:17 <alise> Sgeo_: Hawt
22:15:05 <alise> pikhq: Should I write my own music server? Would that be a PERFECTLY CROMULENT idea??
22:16:02 <Sgeo_> My effort to end up in a recycling plant has failed
22:16:24 <alise> pikhq: Would you be able to load a png?
22:16:38 <alise> Sgeo_: Was this directly linked to leaping inside the housekeeper
22:16:42 -!- CakeProp1et has joined.
22:16:46 <Sgeo_> No
22:16:52 <alise> pikhq: If so: BEHOLD: http://i.imgur.com/lXhC0.png
22:16:55 <alise> CakeProp1et, also: http://i.imgur.com/lXhC0.png
22:16:56 <alise> BEHOLD
22:16:57 <Sgeo_> It was related to me panicking about kidnapping the housekeeper
22:17:03 <Sgeo_> So I tried to go to the housekeeper's home
22:17:09 <Sgeo_> And instead ended up inside her
22:17:23 <alise> Sgeo_: Are you deliberately making these innuendi?
22:17:31 <alise> (Yes, innuendi. Or is it innuendii?)
22:17:56 <Sgeo_> Actually, I'm not sure that the housekeeper is a her
22:17:57 -!- pikhq_ has joined.
22:18:08 -!- CakeProphet has quit (Ping timeout: 240 seconds).
22:18:38 <alise> Sgeo_: I do hope you realise that I'm mercilessly quoting these out of context.
22:18:41 <alise> pikhq: http://i.imgur.com/lXhC0.png
22:18:47 <Sgeo_> Gender: neuter
22:18:56 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:19:02 <alise> How do you fuck a neuter?
22:19:39 -!- pikhq has quit (Ping timeout: 276 seconds).
22:19:57 <Sgeo_> Also inside the housekeeper: Someone's panties
22:20:12 -!- pikhq_ has quit (Read error: Connection reset by peer).
22:21:48 <alise> Wait, you have CLOTHES in lambdamoo?
22:23:12 <Sgeo_> I think so, but I haven't particularly paid attention
22:23:47 <alise> Wow, there's an Arch Linux fork that uses OSSv4 and BFS by default.
22:26:24 <alise> ...unfortunately, it appears to be maintained by a 17-year-old who has a long rambling blog post about how he's met the most perfect person in the world and nobody could be more perferecter and computing now seems so boring that he stopped working on the distro for a while.
22:28:32 -!- pikhq has joined.
22:30:31 <Phantom_Hoover> alise: Linky?
22:30:48 <alise> Did you not see my last line? :)
22:31:08 <alise> http://icadyptes.org/ anyway.
22:32:14 <Phantom_Hoover> I collect titanic egos.
22:32:21 <Phantom_Hoover> I'm the best at it EVER,
22:32:41 <alise> It's more like titantic-someone-else's-ego.
22:32:52 <alise> http://diyist.blogspot.com/2009/04/major-updates.html
22:32:59 <alise> Note the authentic white-on-black background for a teenager.
22:33:00 <oerjan> Phantom_Hoover: i hear wolfram is better than titan
22:33:04 <oerjan> *ium
22:33:09 <alise> "As per the title, I have been the lead Linux distribution developer for two distributions. I believe I used to be the world's youngest lead distribution developer at 14 while I was making Zenserver."
22:33:11 <alise> Oh, faggot.
22:33:19 <Phantom_Hoover> oerjan: Indeed.
22:33:28 <alise> The only reason I didn't consider a distro before trying to make that static one is because I realised it was fucking pointless :P
22:33:52 <Phantom_Hoover> Wolframs ego is about infinity logarthmic Wolframs.
22:34:15 <Phantom_Hoover> Two different typos.
22:35:43 <alise> Logarthmic.
22:37:11 <Phantom_Hoover> It sounds all right if you have a non-rhotic accent.
22:38:39 <AnMaster> for some prototyping: C (using brickOS) or NQC (using official lego firmware)?
22:39:08 <AnMaster> I haven't coded against brickOS before... I have a working toolchain however
22:39:27 <AnMaster> and it was ages ago I last coded in nqc
22:39:37 <alise> C is probably better than Not Quite C.
22:39:50 <alise> For that is what it stands for.
22:39:52 <AnMaster> alise, hm did you just google what nqc was? ;P
22:40:09 <alise> Maybe
22:40:43 -!- Oranjer has joined.
22:40:57 <AnMaster> alise, and well yeah, it uses a C like syntax. But it has the idiosyncrasies and of the bytecode interpreter of the official firmware. On the other hand it handles memory management for you
22:41:32 <AnMaster> and it is probably faster to get something quick and dirty working in it
22:42:06 -!- zzo38 has joined.
22:42:11 <AnMaster> alise, oh and what to call the program. Maybe you can help.
22:42:25 <alise> What does it do?
22:42:38 <alise> Also, do they /have/ enough memory to be managed?
22:42:39 <AnMaster> alise, Quick test program to figure out the mapping between the rotation sensor and the turntable angle
22:42:42 <alise> Surely you would just use static buffers.
22:42:46 <alise> AnMaster: That doesn't need a name!
22:42:56 <alise> measure_mapping
22:43:03 <AnMaster> alise, rotation_mapping maybe?
22:43:08 <AnMaster> oh the woes of naming!
22:43:26 <zzo38> I added some more ideas now in list of ideas
22:43:30 <alise> rotationMapping
22:43:33 <alise> rotation-mapping
22:43:37 <alise> rotty
22:43:43 <AnMaster> alise, _ > - > camelCase
22:43:52 <AnMaster> well for C
22:43:58 <alise> - > _ > camelCase
22:44:02 <alise> C doesn't apply, it can't do - :P
22:44:06 <AnMaster> for lisp it would obviously be - > _ > camelCase
22:44:13 <alise> - is certainly the nicest on the eyes for humans to read.
22:44:18 <alise> And gels best with English.
22:44:25 <AnMaster> alise, and that is just a cultural thing
22:44:34 <AnMaster> - works in C filenames however
22:44:34 <alise> No, it's an eyeballs thing :P
22:44:42 <alise> I definitely wouldn't write a configuration file format with underscores
22:45:03 <AnMaster> alise, as for memory management. iirc the official firmware just gives you a few (32? something like that) variable slots
22:45:08 <AnMaster> *shudder*
22:45:30 <AnMaster> alise, anyway brickOS has dynamic linking. Uses coff file format.
22:45:30 <alise> Okay, use C and just do ... foo[big]
22:45:32 <alise> and the like
22:45:38 <AnMaster> alise, and it has malloc
22:46:00 <alise> Yes, but don't use it
22:46:08 <alise> (Or floating point)
22:46:43 <AnMaster> alise, well, dynamic linking I need to use, since it is that or link statically to firmware. And downloading a new firmware version takes about 3 minutes
22:46:48 <zzo38> I have two new ideas:
22:46:55 <zzo38> * Casino Viagra program language, where the programs are going to be caught by spam-filter program and/or by anti-virus program.
22:47:00 <zzo38> * Ones with music (like Choon or Fugue), but using Bohlen-Pierce scales.
22:47:07 <zzo38> Do you like this?
22:47:13 <AnMaster> zzo38, why not combine them
22:47:38 <zzo38> Of course you can combine any of these ideas, like the last list item said: A combination of all of the above (and more).
22:47:48 <AnMaster> XD
22:47:50 <alise> AnMaster: don't use malloc though
22:48:03 <AnMaster> alise, well probably a good idea.
22:48:47 <AnMaster> alise, on the other hand, I'm not sure how static buffers are allocated. As in, is space reserved or something silly like that
22:49:16 -!- Oranjer1 has joined.
22:49:17 <AnMaster> alise, iirc there is some special attribute or such now to force a variable to be stored between program runs
22:49:24 <AnMaster> need to read up on the API docs really
22:49:44 <alise> Of course space should be reserved
22:49:47 <alise> This is embedded programming
22:50:05 <alise> btw, who are lego robots targeted at? No average kid could do this.
22:50:08 -!- Oranjer has quit (Ping timeout: 240 seconds).
22:51:09 <AnMaster> alise, in other news, my university had a "database crash", losing about 12 hours of data. And it took 2 days to get things working again.
22:51:22 <AnMaster> considering the long time it took it sounds more like hardware dying
22:51:35 <AnMaster> (database server perhaps?)
22:51:36 <alise> Should I name my sound daemon Belial??
22:51:55 <AnMaster> alise, what is wrong with jack?
22:52:02 <alise> Erm, music daemon.
22:52:04 <alise> Not sound daemon.
22:52:06 <AnMaster> ah
22:52:10 <alise> And jack sucks, OSSv4 directly ftw :P
22:52:12 -!- pikhq_ has joined.
22:52:44 <AnMaster> alise, most "professional" sound apps support jack and only jack on linux
22:52:51 <alise> AnMaster: fmod :P
22:52:58 <AnMaster> alise, ?
22:53:03 <alise> anyway yeah but jack outputs to alsa or oss or whatever of course.
22:53:07 <AnMaster> perhaps pure alsa as well
22:53:09 <alise> it's just that ossv4 is already low-latency :P
22:53:10 <AnMaster> _maybe_
22:53:17 <alise> also ossv4 emulates alsa... but it's slower
22:53:20 <alise> fmod = http://www.fmod.org/
22:53:41 <alise> the 'industry standard'.
22:53:47 -!- pikhq has quit (Ping timeout: 276 seconds).
22:53:50 <AnMaster> alise, I can't find any "about"
22:54:02 <alise> they don't need an about. because they're the industry standard
22:54:04 <alise> commercial ofc.
22:54:10 <AnMaster> alise, oh for windows?
22:54:12 <alise> no
22:54:15 <AnMaster> alise, huh?
22:54:15 <alise> all platforms
22:54:18 <alise> (pretty much)
22:54:23 <AnMaster> alise, why .org ....
22:54:26 <alise> AnMaster: all the games for linux, basically (which is more than you think), use it
22:54:27 <AnMaster> if it is commercial
22:54:29 <alise> AnMaster: who knows
22:54:53 <alise> FMOD Ex (including Designer)First Platform$ 6,000 USD
22:54:53 <alise> FMOD Ex (including Designer)Subsequent Platforms$ 3,000 USD
22:54:57 <AnMaster> alise, darwinia? That is like the only non-open source linux game I ever played
22:55:06 <alise> for "budget title":
22:55:06 <alise> FMOD Ex (including Designer)First Platform$ 3,000 USD
22:55:07 <alise> FMOD Ex (including Designer)Subsequent Platforms$ 1,500 USD
22:55:10 <alise> $$$$$
22:55:16 <alise> AnMaster: probably, let me look it up.
22:55:19 <AnMaster> alise, you posted same price twice
22:55:23 <alise> nope
22:55:24 <alise> look again
22:55:26 <AnMaster> oh
22:55:30 <AnMaster> ah I see
22:55:30 <alise> the latter one is for budget releases
22:55:31 <alise> :)
22:55:37 <AnMaster> alise, but what do pro audio apps use?
22:55:38 <alise> the makers of darwinia made a nice game earlier, uplink
22:55:44 <alise> it was a "hacking" game but actually quite realistic
22:55:49 <alise> the shells acted like real linux to a point
22:56:00 <alise> and if you deleted the core system files on a server
22:56:03 <alise> it'd disappear and not come back
22:56:04 <alise> ever
22:56:05 <alise> for the rest of the game
22:56:11 <alise> had to route around to make tracking slower, etc.
22:56:12 <AnMaster> heh
22:56:13 <alise> was fun
22:56:20 <alise> available for windows, os x, and linux, one purchase, one disc
22:56:22 <alise> circa 2001
22:56:28 <alise> and one extra purchase got you a developer disk
22:56:29 <alise> with FULL SOURCE CODE
22:56:34 <AnMaster> wow
22:56:37 <alise> and you were allowed to modify it and release modifications
22:56:42 <AnMaster> they didn't do that for darwinia iirc?
22:56:48 <alise> dunno, don't think so
22:56:52 <alise> the company's cool
22:57:02 <AnMaster> yep
22:57:08 <AnMaster> well, to a degree
22:57:22 <alise> to a degree? :P
22:57:25 <AnMaster> alise, iirc they never released the latest patches for darwinia to linux
22:57:26 <alise> Introversion has a relatively small but growing following and its games are considered cult classics. Both Uplink and Darwinia have a strong modding community.
22:57:44 <AnMaster> alise, means there was some unresolved bugs
22:57:48 <AnMaster> forgot the details
22:58:00 <alise> fair enough
22:58:07 <alise> they -- at least used to -- post on their own forums a lot and all
22:58:08 <alise> was quite nice
22:58:20 -!- pikhq_ has quit (Ping timeout: 276 seconds).
22:58:29 <alise> oh, and another thing about uplink
22:58:31 <alise> if you got caught
22:58:34 <AnMaster> alise, oh and some feature added in that last patch, never showed up on linux either iirc
22:58:34 <alise> the save deleted itself
22:58:36 <alise> no return
22:58:46 <alise> it was very realistic for a hacking game, good fun
22:58:49 <AnMaster> alise, was it multiplayer?
22:58:53 -!- pikhq has joined.
22:59:02 <AnMaster> alise, also cp save.bak save ;P
22:59:08 <alise> no, that was what everyone wanted after a while but no
22:59:18 <AnMaster> *phew*
22:59:18 -!- olsner has quit (Read error: Operation timed out).
22:59:19 <alise> it did have an integrated irc client that went to the uplink channel though ingame :P
22:59:24 <alise> for no discernable reason
22:59:34 <AnMaster> alise, nice touch
22:59:56 <AnMaster> should try to find a discarded copy on the street or such
23:00:22 <AnMaster> alise, oh btw I'm going to weigh my lego turn table monster tomorrow, not that it is completely finished yet
23:00:26 <AnMaster> but it is quite heavy
23:00:30 <alise> lol
23:00:47 <alise> another fun thing about uplink was it had the typical movie ultra-fast password breakers
23:00:49 <alise> but with a twist
23:00:57 <alise> the first one you got was really slow, meaning you got caught a lot quicker
23:01:03 <alise> so you had to keep buying more expensive versions of the software :D
23:01:17 <AnMaster> alise, and I'm running short on 3709b
23:01:23 <AnMaster> which is rather serious
23:01:26 <AnMaster> as you can clearly see
23:01:30 <alise> what
23:01:40 <AnMaster> I said I'm running short on 3709b!
23:01:52 <alise> what
23:01:58 -!- zzo38 has left (?).
23:02:00 <alise> anyway
23:02:01 <alise> belial
23:02:04 <AnMaster> alise, 3709b is the official code for "Technic Plate 2 x 4 with Holes"
23:02:05 <alise> good name for a music daemon???
23:02:16 <AnMaster> alise, I suggest "bellow"
23:02:28 <alise> that's boring it should be named after an actual daemon
23:02:36 <AnMaster> alise, what?
23:02:40 <alise> demon
23:02:41 <alise> you know
23:02:43 <AnMaster> oh
23:02:47 <AnMaster> is belial a demon?
23:02:51 <alise> yes.
23:02:59 <AnMaster> alise, not true. It isn't in nethack ;P
23:03:06 <AnMaster> afaik
23:03:16 <alise> apparently in older scripts he was called Matanbuchus
23:03:20 <alise> which is, you know, significantly less catchy
23:04:09 <AnMaster> alise, one of these: http://nethack.wikia.com/wiki/Demon#Unique_demons_and_summoning
23:04:38 <alise> also it has to be short because i'll be prefixing all my symbols with it :P
23:04:55 <AnMaster> alise, Orcus
23:04:56 <AnMaster> short
23:05:11 <alise> but just makes me think of orcs
23:05:16 <alise> orcs are not terribly demonic
23:05:20 <AnMaster> not related afaik
23:05:32 <alise> tengu is the only half-acceptable name there imo
23:05:35 <AnMaster> alise, Juiblex, quite short
23:05:57 <AnMaster> alise, bah, a minor demon
23:06:29 <alise> Well, a music server isn't exactly keepthefuckingsystemrunningd.
23:06:31 <alise> So it's relatively minor.
23:07:23 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
23:07:32 <AnMaster> I killed more tengu (what is the plural?) in nethack than I can count by squaring my total finger and toe count.
23:07:41 <alise> [[The incubus and succubus are male and female versions of the
23:07:41 <alise> same demon, one who lies with a human for its own purposes,
23:07:41 <alise> usually to the detriment of the mortals who are unwise in
23:07:41 <alise> their dealings with them.]]
23:07:42 <alise> Suuuuuuuuuure
23:07:53 <AnMaster> (okay, odd comparison but meh)
23:08:17 <AnMaster> alise, suure about me killing more than 400 tengu during my time playing nethack?
23:08:18 <AnMaster> huh
23:08:26 <AnMaster> they are relatively easy for a high level char
23:08:30 <alise> no
23:08:40 <alise> suuuure about the nethack encyclopedia entry for incu/succubus
23:09:03 <alise> would have thought that obvious
23:09:07 <AnMaster> ah yeah
23:09:40 <alise> what's that thing that makes everything change symbol (I don't play nethack)
23:09:43 <alise> it's lsd or something
23:09:48 <alise> but i think you get hit
23:10:00 <AnMaster> err
23:10:03 <AnMaster> yellow light?
23:10:07 <AnMaster> amongst other things
23:10:23 <AnMaster> alise, there are many things that can cause hallucination if that is what you mean
23:10:45 <alise> yes
23:10:47 <alise> it was some enemy
23:10:48 <alise> early in the game
23:10:53 <AnMaster> hm
23:10:57 <alise> got hit or something, everything changed symbol and colour every turn
23:10:59 <AnMaster> eating bad stuff could cause it
23:11:00 <alise> had to sit around for N turns to let it subside
23:11:01 <alise> ah yes
23:11:04 <alise> it was a bad corpse
23:11:17 <AnMaster> alise, yellow light isn't really early in the game indeed
23:11:54 <alise> the problem with nethack is that when i move about quickly, it feels like a realtime game
23:12:00 <alise> monsters move at a normal speed, so do i, i can attack them, etc.
23:12:02 <alise> *so*
23:12:08 <alise> my brain can't interpret it as a go-slowly-and-think-every-turn game
23:12:20 <alise> because it just seems like a ludicrously slow version of the "realtime" one
23:12:30 <alise> so i do stupid things and die
23:12:44 <alise> *my problem, not the problem
23:12:45 <Sgeo_> There's a realtime nethack?
23:13:23 <alise> no
23:13:24 <AnMaster> heh
23:13:30 <alise> but if you hold down the moving keys it feels like a realtime game
23:13:36 <alise> (implicit AnMaster:) does -Wextra imply -Wall?
23:13:43 <Sgeo_> So don't hold down the moving keys?
23:13:47 <alise> if not, imagining using just -Wextra :D
23:13:52 <alise> Sgeo_: but it's a cognitive defect of mine!
23:14:02 <AnMaster> <alise> (implicit AnMaster:) does -Wextra imply -Wall? <-- this is in WHICH context?
23:14:08 <alise> gcc
23:14:17 <AnMaster> alise, and why suddenly there
23:14:32 <Sgeo_> I think AnMaster thought alise was implying that it's a question that AnMaster would ask
23:14:38 <AnMaster> Sgeo_, yep?
23:14:44 <AnMaster> looked like it
23:14:45 <alise> no
23:14:48 <AnMaster> ah
23:14:52 <alise> just that AnMaster is obviously the person who would know this
23:14:58 <AnMaster> alise, I don't think so. But I'm not sure
23:15:02 <AnMaster> I recommend checking man page
23:15:07 -!- olsner has joined.
23:15:42 <Sgeo_> alise, feel insulted that you just asked a question that AnMaster thought was AnMaster worthy
23:15:54 <alise> haha, indeed, -Wextra =/> -Wall
23:16:01 <alise> Sgeo_: xD
23:16:03 <AnMaster> <alise> so i do stupid things and die โ† holding down arrow keys in nethack would count as stupid thing :P
23:16:21 <alise> AnMaster: b-but if any monsters appear I can just fight them off!
23:16:31 <alise> AnMaster: anyway, I suggest compiling something with -Wextra -pedantic but not -Wall :D
23:16:34 <alise> It'd /just/ nitpick
23:16:38 <AnMaster> alise, yeah right, the fast elf running up from behind...
23:16:39 <AnMaster> sure
23:16:41 <Sgeo_> alise, there are special movement ... things to let you go all the way down a corridor
23:16:52 <AnMaster> alise, you aren't the fastest thing in the game remember
23:16:56 <alise> Sgeo_: that sounds ridiculously risky
23:16:58 <alise> AnMaster: SHUT UP :<
23:17:00 <AnMaster> sure at low levels...
23:17:02 <Sgeo_> alise, it's less risky
23:17:13 <Sgeo_> alise, they stop you if something happens, iirc
23:17:13 <alise> AnMaster: i never got far enough to see an elf anyway :D
23:17:29 <AnMaster> alise, ah also air elements
23:17:40 <AnMaster> those are not always hostile
23:17:43 <alise> so, um, /me has come across a situation that simultaneously demands a database and demands not a database
23:17:50 <AnMaster> they are on the plane of air however
23:18:05 <AnMaster> alise, details
23:18:07 -!- hiato has quit (Quit: underflow).
23:18:08 <AnMaster> and sqlite
23:18:33 <alise> A music library manager daemon obviously has to keep the files on disk. This is a Good Thing.
23:18:40 <alise> These files on disk contain tags (well, they should do, anyway).
23:18:41 <alise> But!
23:18:52 -!- pikhq_ has joined.
23:18:54 <alise> I want to support very advanced (SQL-style) queries on tags and stuff, and also saved collections of things-that-satisfy-a-certain-thing.
23:18:55 <alise> However.
23:19:11 <alise> I don't want to put it in a database, because the primary id keys would be unnatural. I can't use the filepath as a primary key because that's not considered good database practice.
23:19:16 <alise> And, I'd like it to be in sync with the filesystem.
23:19:23 * AnMaster begins firmware download
23:19:25 <alise> Basically, I need an extensively-queriable cache of tags.
23:19:27 <alise> What to do?
23:19:41 <AnMaster> wait a sec
23:19:51 <AnMaster> I forgot to connect usb IR tower
23:19:52 <AnMaster> XD
23:19:58 <AnMaster> that explains the error
23:20:23 -!- uorygl has quit (Ping timeout: 265 seconds).
23:20:48 -!- pikhq has quit (Ping timeout: 264 seconds).
23:21:48 <alise> AnMaster: any suggestions?
23:22:08 <Sgeo_> Hm
23:22:09 -!- uorygl has joined.
23:22:17 <Sgeo_> Maybe I can wear the Generic Wearable Object
23:22:21 <AnMaster> alise, hm?
23:22:25 * AnMaster reads up
23:22:47 <AnMaster> alise, database and BCNF!
23:23:00 <AnMaster> answer to everything according to some
23:23:12 <AnMaster> I disagree
23:23:27 <alise> So, suggest something you agree with :P
23:23:41 <AnMaster> that's no fun
23:24:03 <alise> :<
23:24:24 <AnMaster> wth is a battery current of 17.0F?
23:25:01 <alise> AnMaster: ANSAR MAH Q
23:25:16 <AnMaster> alise, well, I don't know. Why not make a module
23:26:12 <AnMaster> so you can easily switch between flatfile, sqlite, postgres, oracle, ms sql server, DB2, firebird and ms access?
23:26:17 <alise> >_<
23:26:22 <alise> BUT THE WHOLE PROGRAM IS THAT A DATABASE ISN'T SUITABLE :P
23:26:27 <alise> *PROBLEM
23:26:43 <AnMaster> alise, that's the flatfile option
23:27:03 <alise> no, because the whole problem is that i need efficient, flexible querying while not having an authoritative database!
23:27:12 <alise> i want the querying parts of sql in some sort of filesystem music-file-tags cache
23:27:27 <alise> *filesystem-music-
23:27:37 <AnMaster> alise, okay, just put it in an open office spreadsheet and implement a fake X server to query this by emulating user input
23:27:45 <alise> i hate you
23:27:53 <AnMaster> alise, sorry, couldn't resist it
23:28:04 <AnMaster> alise, also this _is_ #esoteric
23:28:31 <alise> So I thought of a really awesome thing you get when you do a daemon design.
23:28:37 <alise> True unix philosophy!
23:28:44 <AnMaster> alise, okay so don't do db, implement your own music-file-tags cache and your own SQL parser
23:28:54 <alise> last.fm is a service where your music player "scrobbles" all the tracks you listen to. These form a profilethingy, but most importantly:
23:29:09 <alise> You get recommendations for music and stuff based on these scrobblings, and if you pay $$$ you can even listen to an internet radio based on them.
23:29:16 <AnMaster> right
23:29:18 <alise> Now, in a normal player, this would be part of the functionality or a plugin.
23:29:26 <AnMaster> agreed
23:29:31 <alise> With a music daemon? It's just another client that connects, listens to track-change messages, and sends them off to last.fm.
23:29:37 <alise> Completely separate from your actual player interface.
23:29:44 <AnMaster> nice
23:29:45 <alise> One tool, one job.
23:30:09 <alise> AnMaster: Now, ridiculous idea time.
23:30:19 <alise> AnMaster: Clearly, communication with the daemon should be done via RESTful HTTP.
23:30:20 <AnMaster> alise, what? You are going to implement the X thingy?
23:30:24 <AnMaster> oh
23:30:30 <alise> POST /tracks/348/play
23:30:30 <alise> :D
23:30:31 <AnMaster> alise, I prefer sleeping HTTP
23:30:36 <AnMaster> that is even more restful
23:30:37 <alise> AnMaster: I was joking.
23:30:40 <alise> AnMaster: har har
23:30:44 <alise> AnMaster: It'd be way too slow, anyway.
23:30:50 <AnMaster> yeah
23:30:54 <alise> When I click "next track" I expect to hear the audio coming out in, like, 0.5 seconds at the very most.
23:31:00 <pikhq_> alise: Sounds like you want to do mpd only better.
23:31:03 <AnMaster> alise, okay what about exercising HTTP
23:31:07 <AnMaster> that should be pretty fast
23:31:09 <alise> pikhq_: No, I want to do xmms2 only better.
23:31:17 <AnMaster> or exerciseful maybe
23:31:19 <alise> pikhq_: xmms2, though it was started without knowledge of mpd, is trying to do mpd only better.
23:31:20 <pikhq_> alise: Awesome.
23:31:21 <alise> (So is mpd2.)
23:31:29 -!- uorygl has quit (Ping timeout: 276 seconds).
23:31:54 <alise> xmms2 is sucky in some ways though. Their configuration file is XML.
23:32:06 <alise> Seriously, there is no hierarchy in a music daemon's configuration. It's just (key,value) pairs!
23:32:08 <AnMaster> alise, you should use S-Expressions
23:32:21 <alise> AnMaster: Maybe I will. OR, maybe I'll use something easy to parse quickly.
23:32:26 <alise> Because you don't need to... nest... at all.
23:32:32 <AnMaster> alise, S-Expressions are easy to parse
23:32:34 <AnMaster> (in lisp)
23:32:39 <alise> Say, "command\1arg\1arg\1arg\n"?
23:32:39 -!- tombom has quit (Quit: Leaving).
23:32:47 <alise> Sorry, *\r\n; internet protocol.
23:32:58 -!- uorygl has joined.
23:33:03 <AnMaster> alise, argh this looks like the monster that is virtualbox configs. Which is both xml and paths iirc
23:33:14 <alise> Does anyone else find it funny that it's the *Internet* that requires the use of the deprecated typewriter return character?
23:33:30 <alise> AnMaster: oh you mean s-expressions for the config file
23:33:33 <AnMaster> alise, it doesn't. It is IRC that does
23:33:34 <alise> I thought you meant for server communication
23:33:41 <AnMaster> alise, I meant for config yes
23:33:42 <alise> (which probably will be command{\1arg}\n)
23:34:08 <alise> AnMaster: Config will be {key /\s*:\s*/ value "\n"}.
23:34:10 <AnMaster> alise, but obviously the more S-Expressions the better
23:34:13 <alise> i.e., "foo: bar"
23:34:18 <alise> music-root: ~/music
23:34:21 <alise> remote-username: foo
23:34:23 <alise> remote-password: bar
23:34:25 <alise> And so on.
23:34:43 <alise> Sorry, */\n+/ in that syntax :P
23:34:50 <alise> Oh, and "# ..." comments.
23:36:00 <alise> SO YEAH PRETTY MUCH MY MUSIC DAEMON WILL BE AWESOME.
23:36:10 <alise> There's an API to watch for changes in a directory and any of its children, right?
23:36:25 <alise> I'll probably set that up on the music-root so that any added music files are added to the library, and any deleted ones are removed.
23:36:44 <pikhq_> AnMaster: All protocols with RFCs that use text require the old typewriter return character.
23:37:16 <alise> what pikhq_ said
23:37:22 <alise> it's internet standard
23:37:27 <alise> although accepting just \n is good practice too
23:37:33 <alise> liberal/conservative etc
23:37:48 <pikhq_> Another Internet standard!
23:38:22 <AnMaster> pikhq_, ouch
23:38:40 <AnMaster> how many bytes does this waste?
23:38:45 <alise> one per line
23:38:49 -!- uorygl has quit (Ping timeout: 245 seconds).
23:38:49 <alise> in an already-textual protocol :)
23:38:51 <pikhq_> 1 per newline.
23:38:53 <AnMaster> well I meant over all
23:38:57 <pikhq_> Fewer if compressed.
23:38:59 <alise> depends on the transmission size.
23:39:02 <alise> I'd have said tab-separated arguments...
23:39:09 <alise> But who knows what arguments I'll accept?
23:39:12 <AnMaster> how many percent of the transatlantic internet capacity then?
23:39:13 <alise> Integers, strings, definitely.
23:39:20 <alise> AnMaster: Dunno; I'm not omnipotent.
23:39:38 <AnMaster> would be interesting to know
23:39:57 <pikhq_> Yes, it would. Unfortunately, nearly impossible to observe.
23:40:03 -!- uorygl has joined.
23:40:06 <alise> Say, how do you pronounce "Belial"?
23:40:10 <alise> Surely pikhq_ will know. SINCE HE'S CHRISTIAN AND ALL
23:40:22 <pikhq_> alise: I know not.
23:40:29 <alise> BAD CHRISTIAN
23:40:30 <alise> BAAAAAAAAAAAAD
23:40:34 <alise> YOU WILL SUFFER AND BURN IN HELL
23:40:39 <alise> (I'll be there to comfort you though)
23:40:53 <pikhq_> I'LL MAKE SURE YOU GET IT WORSE
23:40:57 <oerjan> how reassuring.
23:41:01 <AnMaster> pikhq_, sample 2 seconds of data at some central router (this will give you several GB to analyse). Look for CRLF with a context of printable ASCII around it
23:41:06 <alise> pikhq_: But that's religious discrimination!
23:41:12 <alise> ...then again, so is Hell.
23:41:14 <AnMaster> sure it misses UTF-16 and it might give some false positives too
23:41:21 <AnMaster> but it should give an interesting number anyway
23:41:37 <pikhq_> ... Does *anyone* transmit UTF-16 over the Internet?
23:42:06 <AnMaster> pikhq_, wait, you are christian?
23:42:07 <alise> I have filenames with +, Unicode, spaces and two dots on my hard drive
23:42:11 <alise> people must hate me <3
23:42:22 <AnMaster> alise, ?
23:42:24 <pikhq_> alise: Awesome
23:42:35 <alise> AnMaster: <##>. <title>.flac
23:42:47 <alise> combined with song title with a "+" in it and also foreign-language text
23:42:51 <alise> = prophet
23:42:58 <AnMaster> heh
23:42:59 <Sgeo_> What's "Belial"?
23:43:05 <alise> Sgeo_: a very bad man.
23:43:08 <alise> (demon)
23:44:54 <AnMaster> alise, are demons men?
23:44:58 <alise> Who knows?
23:45:16 <alise> They probably need a penis to PUNISH THE UNBELIEVERS.
23:45:17 <AnMaster> alise, well you seemed to imply that
23:45:19 <alise> Aaanyway
23:45:26 <alise> So what's a good sound output library?
23:45:30 <AnMaster> alise, no I meant "men" as in "mankind"
23:45:31 <alise> Xine sucks, GStreamer is pretty sucky
23:45:40 <alise> Oh.
23:45:42 <alise> Well... no.
23:45:43 -!- relet has quit (Quit: Leaving.).
23:45:48 <alise> Not as far as I know :P
23:46:03 <AnMaster> alise, wasn't it said that "hell is other people"?
23:46:09 <alise> Sartre.
23:46:21 <alise> Wow, GStreamer's core is 60 thousand lines of code. They call this "lightweight".
23:46:22 <AnMaster> ah, didn't remember who
23:46:37 <alise> Heck, and I'm aiming for Belial to be... maybe 5,000 lines if it gets well-featured?
23:46:38 -!- uorygl has quit (Ping timeout: 240 seconds).
23:46:45 <AnMaster> alise, good sound output library: openal
23:46:54 <Sgeo_> alise, there is someone right next to me who hasn't logged in for 14 years
23:46:56 <alise> OpenAL is more targeted to things that actually generate sounds. 3D sound and stuff.
23:47:00 <AnMaster> alise, true
23:47:00 <alise> Plus it goes through like 50 other layers.
23:47:13 <alise> I'd prefer something more like "decodes => sends to output device (ALSA, OSS or PulseAudio, say)".
23:47:13 <AnMaster> alise, well that is a downside
23:47:23 <alise> Sgeo_: And has just logged in now?
23:47:26 <alise> Or has not logged in?
23:47:28 <Sgeo_> alise, no
23:47:30 <AnMaster> alise, my openal sends it to alsa iirc
23:47:35 <alise> ...your character stays there when you log out?
23:47:36 <alise> Even guests?
23:47:44 <Sgeo_> alise, well, they are moved to their home
23:47:45 <AnMaster> alise, and ~/.openalrc uses S-Expressions unless I misremember
23:47:50 -!- sshc has joined.
23:47:50 <Sgeo_> If they have no home, they're moved to Limbo
23:48:04 <AnMaster> alise, which increase awesomeness a lot
23:48:27 <alise> It occurs to me that nobody programs in C any more.
23:48:38 <alise> They program in Modern C, which has several oddities such as:
23:48:38 <Sgeo_> Not sure what the guest situation is, but I'm pretty sure they need to still exist somewhere
23:49:00 <alise> Header files must begin with "#ifndef FOO\n#define FOO\n" and end with "#endif".
23:49:10 <AnMaster> Sgeo_, which virtual world is this?
23:49:15 <Sgeo_> AnMaster, LambdaMOO
23:49:26 <alise> what if too many guests log in at a time? :P
23:49:28 <Sgeo_> alise, Yellow_Guest is currently residing in Limbo
23:49:34 <alise> Sgeo_: Steal all the dormant person's clothes!
23:49:38 <alise> Mwahahahahaha
23:49:43 <Sgeo_> alise, then I think that no more guests can come on
23:49:46 <AnMaster> <alise> Header files must begin with "#ifndef FOO\n#define FOO\n" and end with "#endif". <-- not as such. Public ones yes
23:49:50 <Sgeo_> There are 32 guests
23:49:51 <alise> AnMaster: It's a joke
23:50:05 <AnMaster> alise, there is the "multiple internal include with different defines"
23:50:49 <alise> also, a_b_c_d should be read as a::b::c::d, unless it's a::b::c-d. or any other combination :D
23:51:16 <alise> Actually, it occurs to me that the "f (x, y, z)" style is actually a good idea these days: since the function names are so long, they no longer feel tightly attached to their arguments.
23:51:43 <alise> mylib_set_munge_param ("foo", 2);
23:51:52 <alise> the name of the function dwarfs the space anyway
23:51:56 <AnMaster> alise, I tend to use short function names. Like fspace_set() rather than fungespace_write_value_to_cell
23:51:57 <AnMaster> ;P
23:52:14 <alise> Mm, but for things that expect to be used in other stuff you at least need namespace_.
23:52:26 <AnMaster> alise, ah, cf_
23:52:41 <alise> yeah, I was considering "Belphegor" with bg_ prefix.
23:52:52 <AnMaster> makes sense
23:52:56 <Sgeo_> Neither of the people here with me have anything
23:53:00 <AnMaster> now I hope that thing won't use more than one bg_
23:53:02 <Sgeo_> Maybe they were robbed blind years ago
23:53:18 <alise> AnMaster: Well, this is the thing: "bg_" is probably not so uncommon.
23:53:57 <alise> There's only 676 two-character prefixes you can use there.
23:54:01 <alise> And, well, birthday paradox...
23:54:09 <AnMaster> alise, so bg_6bd133e4_4df5_4c08_a2d7_d15252f8024f
23:54:20 <alise> Or just belial_.
23:54:20 <AnMaster> very likely unique
23:54:22 -!- uorygl has joined.
23:54:25 <Sgeo_> C++ > C?
23:54:26 <AnMaster> alise, used uuidge
23:54:30 <pikhq_> Sgeo_: No.
23:54:31 <AnMaster> uuidgen*
23:54:34 <alise> Sgeo_: No way.
23:54:39 <alise> Sgeo_: No way times a billion.
23:54:40 <alise> You suck.
23:54:47 <Sgeo_> </trolling>
23:54:55 <alise> You should kill yourself now.
23:54:57 <pikhq_> alise: Create a systems programming language with proper namespace handling.
23:55:03 <Sgeo_> @recycle me
23:55:05 <alise> pikhq_: I should call it "Go"
23:55:17 <Sgeo_> @recycle me
23:55:18 <Sgeo_> If you really want to commit MOO suicide, please follow the instructions in `help suicide'.
23:55:23 <pikhq_> And be sure to modify the linker so that it actually *works*
23:55:29 <pikhq_> alise: Go uses the C linker still.
23:55:51 <alise> pikhq_: Nope.
23:55:54 <alise> pikhq_: It uses the Plan 9 linker.
23:56:22 <alise> Sgeo_: ha, what does it tell you to do
23:56:51 <pikhq_> alise: Isn't that still a C linker?
23:57:10 <alise> pikhq_: Well, /technically/... except for that it's totally different.
23:57:11 <Sgeo_> http://pastie.org/986506
23:57:17 <pikhq_> (granted, written by someone with a clue, but still)
23:57:40 <pikhq_> alise: So, it actually handles things like namespacing and typed symbols correctly?
23:57:40 <alise> More than one clue!
23:57:43 <pikhq_> Awesome.
23:57:49 <alise> iirc, the plan 9 linker has namespaces.
23:57:56 <alise> I think it uses \cdot or something as the character for them xD
23:57:57 <pikhq_> Oh, awesome.
23:58:01 <alise> I am /not sure/ though.
23:58:06 <alise> Please don't get too excited.
23:58:09 <pikhq_> Oh, right. Plan 9 was written by someone with nearly *all* the clues. :P
23:58:18 <alise> I AM HOG THE CLUES
23:58:47 <alise> pikhq_: Some of the clueosity in the linkers:
23:58:48 <alise> In practice, –l options are rarely necessary as the header files for the libraries cause their archives to be included automatically in the load (see 2c(1)). For example, any program that includes header file libc.h causes the loader to search the C library /$objtype/lib/libc.a. Also, the loader creates an undefined symbol _main (or _mainp if profiling is enabled) to force loading of the startup linkage from the C library.
23:58:53 <alise> It's something like
23:58:56 <alise> #pragma lib "libc.a"
23:58:59 <Sgeo_> Ok, I almost walked off the edge of the world by accident
23:59:02 <alise> in libc.h file
23:59:02 <alise> well
23:59:03 <pikhq_> *Oh right*.
23:59:07 <alise> it's actually literally /$objtype/lib/libc.a
23:59:08 <pikhq_> I love that pragma.
23:59:10 <AnMaster> night
โ†2010-05-30 2010-05-31 2010-06-01โ†’ โ†‘2010 โ†‘all