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