00:02:09 09:06:02 * cpressey bans himself 00:02:09 09:06:11 cpressey: bad puns are oerjan's job! 00:02:16 also, banning people. 00:02:47 * oerjan skips the rest of the huge log 00:06:04 -!- lament has changed nick to vuvuzela. 00:35:53 -!- MizardX has quit (Read error: Connection reset by peer). 00:46:50 -!- pikhq has quit (Read error: No route to host). 00:48:03 hmm, waking up at 0:05 sounds like fun to me. I like being awake during the night. <-- not when you need to coordinate with a family 00:48:29 oerjan, hi there 00:49:33 'lo 00:57:19 oerjan, lo as in lo and behold or as in "lo[sic] - not high"? ;P 00:58:08 'lo as an abbreviation of hello. also the latter. 00:59:36 oerjan, XD 01:01:20 we'll get your pun detector calibrated yet 01:10:25 -!- kar8nga has quit (Remote host closed the connection). 01:26:35 oerjan, XD 01:27:29 btw listening to beatles... yellow submarine isn't too bad. The rest is just variations on two themes it seems. "love - happy" and "love - sad" 01:31:16 what else is there to sing about? 01:31:45 vuvuzela, XD 01:32:02 vuvuzela, well, you could sing about green submarines too? 01:33:39 -!- FireFly has quit (Quit: swatted to death). 01:43:57 -!- augur has quit (Ping timeout: 258 seconds). 01:53:00 -!- selckiku has joined. 01:53:38 oh yay! i'd been looking for this channel but i didn't know what it was named. 01:54:00 I've been wondering if there are any 2D languages with higher order functions? 01:54:41 -!- cal153 has quit. 01:54:49 One complaint or annoyance about 2D languages is that you have to worry about which way you're going into a function, right? 01:55:21 But it occured to me you could easily make a higher order function that takes a 2D function and transforms it so that it works the same entered from whatever direction. 01:55:45 hm 01:55:54 I've been wondering if there are any 2D languages with higher order functions? <-- that would be awesome 01:55:58 I'm pretty sure that wouldn't make 2D languages useful, but I thought it might be fun anyway. 01:55:58 invent one! 01:56:06 (there may be, but I don't know of any) 01:56:24 I plan to! First I'm looking for prior art, though. 01:56:31 One complaint or annoyance about 2D languages is that you have to worry about which way you're going into a function, right? <-- hm befunge doesn't even have functions does it? 01:56:33 I mean 01:56:44 I'm sure it doesn't except through extensions 01:56:58 I've been reading through the 2D languages section on the wiki, and there are some that have functions, but none with higher order functions that I've noticed yet. 01:57:00 and even then it could be argued to be more like goto with call stack 01:57:01 (SUBR) 01:57:15 selckiku, such as which ones? 01:57:35 I mainly know much about befunge (written several interpreters for befunge-98) 01:58:05 Hmm, um, I didn't note which ones had functions, let me see if I can remember... there was one that puts everything in boxes surrounded with ########## and you can have various boxes and use them as functions. 01:58:15 hm 01:58:20 not sure which one that would be 01:59:11 I had an idea to make a generic editor/interpreter for this style of ASCII 2D langs, but that's a pretty ambitious project! 01:59:36 selckiku, very much so 01:59:57 selckiku, I use emacs in picture-mode, allows you to write in any of the cardinal directions plus the diognals 02:00:09 I would prefer to have a generic delta 02:00:21 oh yay! i'd been looking for this channel but i didn't know what it was named. <-- (1) you know that _could_ have been the introduction of one of those people who think this channel is about "mystical" stuff (2) it's in the community links on the wiki, but maybe that's where you found it 02:00:24 I'm just starting with emacs. I've learned a little about artist-mode, but I don't know picture-mode yet. 02:00:43 selckiku, anyway about "One complaint or annoyance about 2D languages is that you have to worry about which way you're going into a function, right", it is actually useful for hacks 02:00:55 oerjan, well i found a mention of #esoteric somewhere on the wiki and then I did a little more googling to find out it was here on Freenode. 02:01:49 I had a thought that you could rationalize the 2Dness of it, by having conventions about what direction means what. Like if code tended to flow downward, that would give some meaning to that direction. 02:01:53 selckiku, doesn't artist-mode load picture mode? 02:01:54 iirc 02:01:56 * oerjan checks that the Community Portal actually mentions it's on freenode 02:02:04 *portal 02:02:13 er 02:02:17 *Portal 02:02:28 well where i saw it mentioned was just on some random page on the wiki as i was browsing around, someone said that an idea had been discussed on "#esoteric" 02:02:32 oerjan, eh? it wasn't typoed in the first place was it? 02:02:56 AnMaster: the article name and the menu link aren't consistent, was what trapped me 02:03:06 oerjan, ah 02:03:10 i was reading about DOBELA, in particular 02:03:18 -!- pikhq has joined. 02:03:20 oerjan, isn't irc mostly case insensitive though? 02:03:28 selckiku, oh that one... XD 02:03:43 hm I haven't seen the author for a while 02:03:50 oerjan, know what happened to him? 02:05:25 most of the 2D languages follow a pretty simple pattern: there's an instruction pointer, there's various data structures like stacks or whatever, and there's a meaning to each ASCII symbol the pointer hits 02:05:34 selckiku, isn't DOBELA more of a bully automaton? 02:05:35 AnMaster: mediawiki isn't case insensitive, except for the first letter 02:05:45 oerjan, yeah that is pretty esoteric ;P 02:06:29 so i think it would make sense to write a generic interpreter/editor that understands that basic structure, and then you just need to teach it what each language does for the various symbols 02:06:41 selckiku, also, arguably life is a 2D language 02:06:43 selckiku: your comment about using different directions for different things reminds me of PROLOG, where i think you have 4 different ways of entering/reentering/exiting a predicate 02:06:45 (cell automaton) 02:06:50 Why does v in DOBELA distinguish South from the rest? 02:07:02 huh, i haven't learned PROLOG, that sounds interesting. 02:07:23 Sgeo_, "to make things work" iirc? 02:07:33 PROLOG isn't 2d though 02:07:48 oerjan, prolog isn't even esoteric! 02:08:02 i've heard conflicting opinions on that :D 02:08:04 AnMaster: i saw asiekierka just the other day 02:08:08 oerjan, ah 02:08:20 possibly just in the logs 02:08:34 he said he had a new esolang idea 02:08:43 selckiku, yeah but then you could argue that haskell or whatever is esoteric too 02:08:46 or scheme 02:09:11 the whole field of programming languages is terribly esoteric 02:09:31 Not particularly. 02:09:39 hopefully not usually on purpose. i do wonder sometimes-- there's job security in not letting the general public catch up with you. 02:09:48 Well, no more so than programming itself. 02:09:58 btw I found that the best way to learn an esolang is to write an interpreter. You are pretty much bound to learn all the details and undefined corners of it. 02:10:11 Definitely. 02:10:18 that is, interpreter *for* it, not *in* it 02:10:23 Hahah. 02:10:38 but sure, a self interpreter should make you learn loads 02:10:45 hah 02:11:00 huh the dobela page says User:asiekierka but it seems he has never actually registered 02:11:09 what's the longest program that's been written in an esolang? 02:11:10 oerjan, huh 02:11:21 only edited anonymously 02:11:25 oerjan, or did he just skip creating user page? 02:11:27 hm 02:11:27 -!- zzo38 has joined. 02:11:29 okay 02:11:32 zzo38, hi! 02:11:35 selckiku: I'm going to go out on a limb and say LostKng. 02:11:48 AnMaster: there is no "User contributions" link 02:11:56 Is that right? if(!fork()) execl(Conf_SummonFile,Conf_SummonFile,Client_Mask(Client),user,server,channel,NULL); 02:11:59 pikhq: do you count compiled-to-esolangs? 02:12:07 Oh, wait. 02:12:17 pikhq, if so: hello world compiled by gcc-bf 02:12:23 There's gcc-bf. Gah. 02:12:23 it beats lostking easily 02:12:24 ;P 02:12:32 I have not heard of gcc-bf 02:12:39 pikhq, ais523 wrote it 02:12:43 pikhq, what's lostkng? 02:12:44 well it is buggy and unfinished 02:12:54 selckiku, a text adventure in brainfuck 02:13:00 selckiku, LostKng is a text adventure game in Brainfuck. 02:13:16 wow that sounds awesome, i guess if i add brainfuck to my search i should find it :) 02:13:17 About a meg of Brainfuck. 02:13:26 yeah 02:13:33 Get it down to about 400k with a decent compiler. 02:13:45 pikhq, but even runlength compressed gcc-bf output beats that easily 02:13:55 Trivially. 02:14:11 well RLE hello world iirc is slightly smaller than lostkng, but uncompressed... way larger 02:14:13 Doesn't gcc-bf's output include *filesystem emulation* code? 02:14:26 pikhq, iirc that was planned but not yet written 02:14:37 pikhq, I do have the code somewhere around here 02:14:39 I think 02:15:52 since it includes the whole gcc... well I don't have anywhere I could upload that 02:16:49 Where is gcc-bf? Can it support PSOX? Perhaps it can add a PSOX mode that can be switched on/off? 02:17:09 zzo38, no PSOX support so far. As for where: nowhere on the web iirc 02:17:22 Define "PSOX support" 02:17:28 Or was zzo38 pretending to be me? 02:17:55 I mean, so that fopen() command and such can use PSOX, if it is enabled 02:17:57 Sgeo_, I suspect he means "gcc-bf will generate output using PSOX to implement filesystem functions" 02:18:02 Ah 02:18:37 zzo38, anyway gcc-bf is _very buggy_ currently. The output is not complete. It generates the asm but the asm->bf bit is not completre 02:18:38 The filesystem stuff in PSOX is [and will be, unless people care enough to motivate me to start working again] flaky and the spec for that was still in flux 02:18:39 complete* 02:19:03 zzo38, I could locate and upload it somewhere but I have nowhere with enough space of bandwidth to do it 02:19:21 That is OK you don't have to do that right now. 02:19:23 Sgeo_, what else was PSOX for? 02:19:26 I just wanted to know if it was available 02:19:38 If it isn't available, is still OK 02:19:41 zzo38, well afaik it isn't no. Ask ais523 next time he is around 02:19:42 what's gcc-bf? 02:19:43 AnMaster, Internet stuff, and stuff to make things easier 02:19:51 Sgeo_, what stuff easier? 02:19:59 Sgeo_, floating point emulation? 02:20:10 a brainfuck compiler? 02:20:13 I have two questions: [1] Is this the correct way to use fork() and execl() command in C? [2] Will gcc-bf do anything with codes such as this? 02:20:14 if(!fork()) execl(Conf_SummonFile,Conf_SummonFile,Client_Mask(Client),user,server,channel,NULL); 02:20:16 PSOX doesn't have a way of dealing with floating point stuff >.> 02:20:27 selckiku, gcc-bf? No. It is a C->brainfuck compiler 02:20:34 Some math, some storage. Mostly it's intended for Internet and Filesystem stuff 02:20:41 And extensions, e.g. a GUI domain 02:20:44 selckiku, the best brainfuck compiler currently is esotope-bfc (compiles brainfuck to C) 02:20:45 Would be possible 02:20:57 selckiku, highly optimising 02:21:05 AnMaster: What happen if you C->Brainfuck->C 02:21:16 zzo38, a very very bloated C program 02:21:21 Next time I'm in front of a development machine, I intend to get back to work on my compiler. Perhaps beat esotope-bfc. 02:21:45 zzo38, gcc-bf is very very inefficient 02:21:47 AnMaster: And what happen if you Brainfuck->C->Brainfuck? 02:21:49 (Brainfuck->x86 assembly (Intel format) compiler, in Haskell) 02:21:52 hmm it would be interesting if you had compilers that optimized so well that you could make a program more and more efficient by compiling it around to different languages 02:22:00 zzo38, a very very inefficient brainfuck program I presume 02:22:30 selckiku, unlikely :P 02:22:39 selckiku, at least as long as bf is involved 02:23:09 * Sgeo_ needs to go eat 02:23:13 mhm 02:26:36 there's a lot of different stuff for bf! 02:26:55 why is bf such a popular language? just history? 02:27:05 don't know 02:27:08 selckiku, intercal is fun too 02:27:20 selckiku, there is a fair amount for befunge too 02:27:24 ^source 02:27:24 http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 02:27:35 selckiku, that bot is witten in befunge-98 02:27:49 There is 1972-INTERCAL and C-INTERCAL and CLC-INTERCAL, and also CLCLC-INTERCAL although CLCLC-INTERCAL is not implemented as far as I can tell 02:28:14 zzo38, what is CLCLC? 02:28:19 zzo38, and who made it? 02:28:28 Look on wiki [[CLCLC-INTERCAL]] page. 02:29:04 zzo38, don't have browser running atm. Rendering heavy images atm, so computer is highly loaded, don't want to start browser 02:29:34 fungot, how are you today? 02:29:34 AnMaster: how come nobody has built one? 02:29:36 CLCLC-INTERCAL is a variation on CLC-INTERCAL, just like CLC-INTERCAL is variation on C-INTERCAL and 1972 INTERCAL. 02:29:37 ^style 02:29:37 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 02:29:39 ah 02:29:53 It has Quantum INTERCAL but differently than CLC-INTERCAL 02:30:00 zzo38, who made CLCLC? 02:30:08 And vector INTERCAL 02:30:17 And UTF-INT 02:30:28 vector INTERCAL? UTF-INT? 02:30:33 And back-tracking and also front-tracking 02:30:51 And name-spaces, and functional INTERCAL 02:30:59 zzo38, okay wtf is front tracking? 02:31:13 I don't know what front-tracking is. 02:31:17 ah 02:31:56 But, CLCLC-INTERCAL Quantum mode is *real* Quantum INTERCAL, rather than the way that CLC-INTERCAL does it 02:32:27 hah 02:34:13 AnMaster: evidence points to zzo38 :D 02:34:24 The current choicepoint for back-tracking is stored in a register, and the stashing stack for it corresponds to the choicepoint stack 02:34:55 You have to use EBCDIC for the CREATE command, instead of using ASCII numbers. 02:35:54 Apparently this is supposed to be a valid command: MAYBE DO NOT COME FROM CHOICE 02:36:21 oerjan, ah 02:36:30 oerjan, if so he should know what front tracking is! 02:36:33 And so is this: (#33 NAME #5) PLEASE COME FROM #34 NAME '#0 NAME ,1 SUB #1' 02:36:35 zzo38: i am adding you as the author of CLCLC-INTERCAL, unless you wish to deny it, the page itself did not mention it 02:36:53 oerjan: Yes, I did write that page. But even some things in there I made up without knowing what it is 02:36:58 heh :D 02:41:41 CLCLC-INTERCAL also allows FOWER in place of FOUR and FIFE in place of FIVE (in addition to NINER in place of NINE), because these are the ways that are supposed to be standard for air traffic control (although FOWER and FIFE are actually rarely used in air traffic control). 02:42:36 -!- SgeoN1 has joined. 02:42:51 Where's alise? 02:43:17 zzo38, niner is standard, but fower or fife I never heard 02:43:19 hiding from all the paparazzis coming here 02:43:42 zzo38, I happen to me a flightsim nerd so ;P 02:44:31 going to try to sleep or something 02:44:36 AnMaster: You have not heard FOWER or FIFE because they are never actually used, even though they are supposed to be standard. If you do air traffic control, you will have to learn them even if you never use them 02:44:52 I know because my father used to do air traffic control and he told me these things 02:47:54 zzo38, heh 02:55:15 I have almost fixed the SUMMON CTHULHU command, I just need one more question: What kind of typewriter do you have, is it manual or is it electric? 02:57:36 what if it runs on the blood of orphans? 02:58:34 No, it needs to run on the typewriters! 02:59:04 i meant the typewriter DUH 02:59:23 you cannot mention cthulhu in the same line and not consider such options :D 02:59:34 No, the typewriter needs to run either by manual or by electric! 02:59:55 But it is valid if you want to put blood in the place of ink, you can do that with my blood after I am dead 03:00:01 -!- cal153 has joined. 03:01:06 oerjan: And I think you misinterpreted my statement, I meant the other other *other* Cthulhu, the one that the "u" at the end is not supposed to be the letter "u", but is actually supposed to be a different letter in a language nobody has ever seen before 03:03:00 That is, it is valid to use blood in place of ink, but only if that does not cause the typewriter to get jammed 03:04:13 O KAY 03:04:37 * oerjan sidles away carefully 03:05:32 Please tell me what typewriter?! (IBM Selectric is best) 03:06:37 * oerjan thinks he may have a manual one stored away, unless it was thrown away 03:06:50 no idea what brand 03:07:03 Have you ever used it? 03:07:17 sure, when i was a child 03:07:49 it's what i learned to type on, or so i think 03:09:40 When I was at school, we had the keyboard class, the books were designed for typewriters (both manual and electric), but we used Microsoft Works instead. I changed the font to the one used in the book (Courier), and then after it is printed, the teacher look at it and said I put two space after a comma, even though I didn't. I told the teacher but that is how is in the book, but he said you are not supposed to change the font 03:09:52 At first I didn't know that, because it iwas the first day in that class 03:10:03 -!- Oranjer has joined. 03:10:36 mhm 03:12:29 Another thing that happened in that class was, the teacher was watching the screen of the computer I was working on, he said he didn't want me programming in C because he programs in C. I wasn't even programming in C, and the teacher probably just made it up 03:13:07 I wasn't even programming in any program language, I was just at the command prompt, but he didn't know that 03:16:02 How can I implement in C program, to check for user logged in, and check for user TTY? How can I implemented it so it work on Linux and on Cygwin? 03:16:31 * oerjan passes on that question 03:20:08 I have almost fixed the SUMMON CTHULHU command, I just need one more question: What kind of typewriter do you have, is it manual or is it electric? <-- me? None 03:20:12 I have a computer only 03:20:14 well three 03:20:16 err 4 03:20:22 but one is for nostalgia 03:20:25 (old old mac) 03:20:47 -!- GreaseMonkey has joined. 03:21:38 AnMaster: That is OK if you don't have typewriter, I only needed to know from someone who did have a typewriter 03:22:23 zzo38, I want one running on steam power though! 03:23:14 AnMaster: Try to build such a thing if you know how (but that wasn't my question) 03:26:00 sprunge OfVi 03:26:29 Did you notice it is broken? 03:26:36 what is broken? 03:27:01 http://sprunge.us/ works for me 03:27:17 No, I mean the C program 03:27:23 It says /* Not implemented */ 03:27:28 That is the part which is broken 03:27:28 zzo38, you didn't give me any link 03:27:37 http://sprunge.us/OfVi 03:27:42 *clicks* 03:27:51 hm 03:27:55 zzo38, too sleepy to read it 03:27:56 How do I fix it? 03:28:06 Also tell me if the other code is also broken 03:28:17 zzo38, I have no idea, no ircd I know implements summon 03:28:24 it is a legacy thingy 03:29:30 Which is why I need to fix it, and then some ircd you know will be implements summon 03:29:36 (Which is this one) 03:30:06 ... I have no idea how to do it 03:30:37 -!- jabb has joined. 03:31:26 It implement SUMMON and also NOMMUS 03:31:59 best way to learn modern compiler infrastructure? (I already own the Dragon Book) 03:32:13 before browsing llvm source I had never heard of "Dwarf Exception Handling" 03:32:45 jabb, DWARF is a debugging format iirc 03:32:53 AnMaster: At least is the SUMMONTYPE_EXECUTE not broken? 03:32:57 not sure how it interacts with exception handling 03:33:01 zzo38, no idea 03:33:14 night 03:33:30 I mean, is that how fork() execl() command is working? 03:34:50 Now I can try compile and see if it is working or not 03:36:58 I have to add a document that says that you must not make this software double-daemonized in Cygwin 03:37:10 (Single-daemonized is good enough) 03:40:44 double double toil and trouble 03:46:29 The NT service manager complains if you double-daemonize 03:46:36 -!- augur has joined. 03:47:16 -!- zzo38 has quit (Quit: zzo38). 04:03:05 -!- augur has quit (Ping timeout: 245 seconds). 04:07:16 -!- augur has joined. 04:07:54 -!- jcp has quit (Ping timeout: 276 seconds). 04:14:40 -!- jcp has joined. 04:31:09 -!- Geekthras has quit (*.net *.split). 04:31:10 -!- EgoBot has quit (*.net *.split). 04:31:10 -!- HackEgo has quit (*.net *.split). 04:31:49 * oerjan concludes Geekthras must be a secret bot 04:39:38 -!- Geekthras has joined. 04:39:38 -!- EgoBot has joined. 04:39:38 -!- HackEgo has joined. 05:00:48 -!- zzo38 has joined. 05:04:02 SUMMON CTHULHU command is now fixed! I also added NOMMUS command, which can be used to answer/check/configure it (server operators only). 05:28:26 -!- Oranjer has left (?). 05:32:20 zzo38, what's this? 05:33:30 -!- SgeoN1 has quit (Quit: Bye). 05:36:10 It is commands in my IRC server. 05:36:43 Seems more like an IRC-like server. 05:37:41 pikhq: It is not the original IRCd as first written. Is that what you mean? 05:39:58 -!- zzo38 has set topic: Guess I got my swagga' backward | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 05:40:37 oerjan, hi again 05:40:50 time to upgrade from karmic I feel 05:41:44 double double toil and trouble <-- in modern language this would be "long double toil and trouble" 05:42:30 zzo38, with double daemonise, do you mean double fork()? 05:43:03 zzo38, also, how do you implement server linking? 05:43:05 AnMaster: What I mean is using cygrunsrv to run it as a service, and then also the program detaching itself as well, which makes it double daemonised 05:43:10 what server-server protocol I mean 05:43:21 Server-server protocol is just normal IRC protocol 05:43:30 But I have no other servers linked 05:43:41 zzo38, how do you prevent riding netsplits then? 05:43:50 if you don't have timestamps 05:43:57 194IRCd/CthulhuIRCd is based on ngIRCd, which uses normal IRC protocol. 05:44:03 What is riding netsplits means? 05:44:18 (I didn't write the server-server protocol codes, that was already there) 05:44:18 zzo38, well if you have a netsplit a channel could become empty on one side 05:44:36 zzo38, now imagine some person joining this empty channel, thus getting +o in it 05:44:49 when the servers reconnect that person could kick all the real ops of the channel 05:44:52 ! type channels is meant for that purpose. Unfortunately, ! type channels is not implemented yet. 05:45:06 zzo38, how does ! type channels prevent this? 05:45:50 zzo38, and the usual way to prevent it is to make channels have timestamps for when they are created. In case of mismatch on server linking, the modes from the new one are discarded. 05:45:53 It prevents it by adding a random code at the beginning of the channel name, so if a netsplot happens and someone joins the empty channel, they will get a different channel, not the same one 05:46:19 zzo38, what a hackish way, and you could get same, since it is random 05:46:22 The channel types is #&!+ currently only #&+ is implemented 05:46:44 AnMaster: I know, but apparently that is how it is supposed to work. 05:46:55 zzo38, the timestamp solution is much cleaner 05:47:04 zzo38, and I never heard of any network using ! style channels 05:47:13 IRCNET uses ! type channels 05:47:22 zzo38, okay but ircnet is whacky 05:47:35 IRCNET uses all four types of channels 05:47:46 ircnet is the worst irc network still in existence 05:48:05 from a pure technical perspective I mean 05:48:15 AnMaster: I know, it becomes difficult to connect and stay on, and stuff like that. 05:48:20 purely* 05:48:23 That is why I run my own IRC 05:48:26 zzo38, well that too 05:48:31 but why not use freenode? 05:48:36 (Actually, there are other reasons I run my own IRC, as well) 05:48:41 zzo38, freenode is a relatively sane and modern irc network 05:48:52 There are a lot of reasons I run my own IRC. 05:48:59 that's what they WANT you to think 05:49:08 oerjan, I said "relatively" 05:49:10 C# closures make me a happy developer 05:49:25 oerjan, and probably yes, they want me to think that. But so would anyone 05:49:37 a closure a day keeps the bugs away? 05:49:39 I suppose I or someone else can implement a way to prevent riding netsplits (if it is not already implemented), one day 05:49:55 * AnMaster kills oerjan with his own frying pan 05:49:57 & and + type channels are already immune 05:50:04 eek 05:50:57 zzo38, I certainly hope it does it properly 05:51:12 AnMaster: Hope what does what properly? 05:51:38 zzo38, ngircd implements the server protocol properly 05:51:43 that is what I hope 05:52:00 zzo38, anyway charybdis and inspircd are the two best ircds today IMO. They are comparable in features and how good the code is. 05:52:01 I think it does, it says it is able to be connected to servers using the original IRCd 05:52:14 somewhat different views on matters but both are very good 05:52:22 atheme is the best service package 05:52:35 I think it does, it says it is able to be connected to servers using the original IRCd <-- then it probably doesn't 05:52:49 since the original protocol did not prevent riding netsplits and so on! 05:52:57 Nah, when I looked at list of IRCd program, I decided to use ngIRCd that is the one closest to what I wanted 05:53:25 TS6 or some similar server-server protocol is the way to go 05:54:00 (both inspircd and charybdis uses server-server protocols based on TS6, not compatible though) 05:54:39 One way that ! channels could fix riding netsplits, is instead of a random code, enter the timestamp at the beginning of the channel name, and use that for server-server communication. (For client-server, only the normal channel name is visible) 05:54:54 zzo38, that would work I guess 05:55:09 zzo38, but what happens when there is a conflict? 05:55:23 on server linking I mean 05:55:36 what happens currently? 05:57:47 AnMaster: I don't know what happens currently 05:58:09 But you can try irc.barton.de, which runs ngIRCd 05:58:21 And irc.barton.de also has multiple servers 05:58:29 well I would have to wait for a netsplit... 05:58:47 You can also just look at the codes and try to figure out 05:58:56 well, I'm not THAT interested 05:59:24 zzo38, anyway, since it doesn't implement ! style, I guess it doesn't really make sense to ask what it does currently 06:00:38 At first it implemented only # type channel, now it has #&+ type channels. Later on I plan to implement ! type as well (or if the ngIRCd people do so, I might copy their codes) 06:02:14 zzo38: No, but there is an actual *definition* of the IRC protocol. 06:02:19 It's an RFC. 06:02:44 I know, I have read the RFC 06:03:14 Then there you go. 06:04:00 ? 06:04:20 What exactly reason are you refering to this for? 06:04:50 ngIRCd already implements the IRC protocol, isn't it? 06:04:54 I highly doubt SUMMON CTHULHU is valid. :) 06:05:24 cthulhu does not ask what is valid 06:05:42 Well, I have implemented some extra commands. (And SUMMON is a valid command, with parameters. My program extends it to work with or without parameters, depending on server configuration file) 06:05:49 Any C# people here? I'm not getting a response in ##csharp 06:06:11 Sgeo_: No, but we are people of reasonable intelligence. 06:06:26 Also, C# has monads and lambda; I can fake C# knowledge. :P 06:06:29 that's what we WANT you to, er, something 06:06:49 Can I access an anonymous function from within the anonymous function? 06:07:04 That's what the government wants you to think. 06:07:25 If said anonymous function has had a name bound to it somehow, almost certainly. After all, those suckers close. 06:07:50 :P 06:08:08 On a more serious note: you probably want a fixed-point combinator. 06:08:19 For example, I have implemented some new commands which are not part of any RFC: EUTHANIZE FLUSH NOMMUS PROXY 06:08:41 It has a name bound to it, but the IDE says no 06:08:45 I'm not sure how one would go about writing one in C#, but in Haskell, it's: fix f = let x = f x in x 06:09:34 C# isn't exactly Haskell-pure 06:09:42 Actually. C#'s functions aren't statically typed like Haskell's... You could probably get away with using the Y combinator directly. 06:10:30 Which is: Y := λf.(λx.f (x x)) (λx.f (x x)) 06:11:22 Y ask Y 06:11:50 -!- augur has quit (Ping timeout: 245 seconds). 06:12:04 I just Googled, and found stuff that looks like it may be useful for this 06:12:05 ty pikhq 06:12:29 Yes, almost certainly a fixed point combinator. 06:12:36 (as that is what you asked for) 06:12:41 Although I should note that I don't intend to CALL the function from within the function 06:12:49 Don't know how much of a difference that makes 06:12:52 None. 06:13:14 -!- augur has joined. 06:13:54 Erm. No. Possibly makes a difference. 06:13:55 Well, without even looking at the combinator stuff in that article, a flawed workaround makes the compiler not complane for me 06:14:03 I'd have to see the code to be sure. 06:14:54 The flaw shouldn't affect me 06:15:57 http://blogs.msdn.com/b/wesdyer/archive/2007/02/02/anonymous-recursion-in-c.aspx the trick with null is what I'm using 06:19:36 Also, C# has monads and lambda; I can fake C# knowledge. :P <-- ??? C# has monads? 06:19:37 what? 06:19:38 since when? 06:19:50 AnMaster: They call it "LINQ". 06:19:58 pikhq, oh that is post-2.0 06:20:02 so no clue about ot 06:20:03 it* 06:20:13 pikhq, also I thought that was SQLish 06:20:13 Which is nothing more than monads and monad comprehension syntactic sugar. 06:20:16 not monadish 06:20:32 Yes, that's one of the monads. 06:20:34 ;) 06:20:37 pikhq, hm 06:20:51 pikhq, so fairly advanced stuff then 06:20:59 Yeah. 06:21:29 pikhq, how did they get this past the OO-mad people? 06:21:49 Don't call it monads. 06:21:57 it's that easy? 06:22:05 oh my 06:22:22 Yes. 06:22:37 pikhq, what do they call it instead? 06:22:40 LINQ. 06:23:27 pikhq, right but the monad data type I mean 06:23:33 pikhq, or whatever 06:23:43 It is only partially implemented, I have not currently implemented forwarding, check user's login state, and send to user's TTY. (Even if they are implemented, the way I wrote it, all of these features can be controlled by configuration file: "F" for forwarding, "L" for check login state, "T" to send to TTY, "X" to execute a program, "J" to check if you can join &SUMMON channel, "K" to check channel keys, etc) 06:24:06 Unfortunately, C#'s type system doesn't allow for "type classes". I think their syntactic sugar works on anything with a bind and return method. 06:24:14 Go ahead and try it if you want to, just connect to my IRC and try whatever commands you want (including "HELP" command) 06:24:29 pikhq, ah 06:24:36 !haskell newtype Fix a = Fix {fixing :: Fix a -> a}; fix f = (\x -> f (fixing x x)) (Fix (\x -> f (fixing x x))); main = print . take 10 $ fix (1:) 06:24:36 mkdir: cannot create directory `/tmp/tmp.14246': No space left on device 06:24:46 wtf 06:24:52 (I also updated the MOTD a bit) 06:24:57 Gregor, the bot's broken! 06:25:40 Did you create too many files? 06:28:49 -!- coppro has joined. 06:29:26 !help 06:29:27 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 06:29:34 !bf_txtgen test 06:29:38 Top %: 0.1 06:29:43 what? 06:29:54 very strange error 06:30:02 `help 06:30:09 Failed to clone the environment! 06:30:13 okay 06:30:18 so yeah his server is broken 06:31:24 * oerjan checks that the newtype trick works in winhugs 06:32:21 Please tell me if you have any important question to add into the FAQ in my IRC. (It can be accessed by using the "HELP FAQ" command) 06:32:59 HELP FAQ 06:33:33 coppro: Not on *this* server! 06:33:54 I didn't mean this server! I meant my server (zzo38computer.cjb.net:194) 06:50:43 zzo38, not even ircnet uses 194 afaik? 06:50:57 AnMaster: I think you are correct 06:51:06 so why... 06:51:41 Because zzo38... Is zzo38. 06:51:42 :P 06:53:09 http://www.theonion.com/interactive/the-onion-sports-introduction-to-world-cup-soccer,17558/ 06:54:14 pikhq, point taken 06:58:44 coppro, not very funny to an European 06:58:55 even though I'm not the least interested in football 06:59:05 and never understood what "off side" was about 06:59:37 It's funny to me, who understands football/soccer pretty well but knows that the USA doesn't care at all about the game 07:00:16 some of them aren't funny (iron rod), but others are great (red card) 07:01:00 sheesh, off side is what happens if those players forget to follow the giant metal rod, of course 07:01:01 -!- zzo38 has quit (Quit: zzo38). 07:09:20 -!- augur has quit (Ping timeout: 245 seconds). 07:13:38 -!- coppro has quit (Ping timeout: 240 seconds). 07:22:46 -!- coppro has joined. 07:26:29 -!- coppro has quit (Read error: Connection reset by peer). 07:26:50 -!- Halph has joined. 07:27:02 -!- Halph has changed nick to coppro. 07:29:51 oerjan, XD 07:30:06 coppro, "halph"? 07:30:34 * AnMaster waits for some explanation to that 07:30:42 I will decline to answer 07:30:49 coppro, why? 07:31:19 too lazy 07:31:26 -!- augur has joined. 07:34:54 lalala 07:35:00 AnMaster: coppro is just trying to be too clever... 07:35:23 I am? 07:35:48 oerjan: check this out 07:36:06 coppro: well either you or my lazy pun 07:36:11 you need to define a formal system of whatever sort you like 07:36:19 a programming language, if you will 07:36:48 in which the following expression, using normal functional application, is ambiguous between two readings: 07:37:29 ahargh! 07:37:32 f(xs, i, first(g)) -- where the interpretations of this are 07:37:35 (that is aha + argh) 07:37:43 AnMaster: you got my pun? 07:37:47 oerjan, no 07:37:53 it was caused by insufficiently debounced power key 07:38:05 aha! for finding out the cause of the issues. 07:38:13 argh! for not being easy to fix 07:38:16 AnMaster: too bad, it would have been such a great reaction 07:38:16 given some list xs, and some index i, xs[i] is the first element of xs for which both g and f are true 07:38:40 oerjan, I was not paying attention to IRC at all 07:38:49 oerjan: can you think of a way this could be the case 07:39:05 also I need a 24 tooth clutched lego gear. I know I have three, I can't find any of them... 07:40:15 clutched gear? 07:41:35 coppro, that is what it is called officially 07:41:42 augur: i saw you ask that question previously. i did not find it interesting... it looks an attempt to mix exactly those kind of features of natural language into formal language that needed to be _removed_ in order to make formal language precise and useful in the first place. 07:41:48 *looks like 07:41:52 coppro, basically it slips if stuck 07:42:06 ah 07:42:11 oh, I know what one you mean 07:42:12 coppro, so it acts to prevent stuff breaking 07:42:21 coppro, white with grey middle? 07:42:25 yeah 07:42:31 coppro, yep that's the one 07:42:42 oerjan: ah indeed it is a fact about natural language. the trick is to understand how its possible in natural language at all, what the formal mechanisms are that make it possible :P 07:42:53 coppro, didn't know you were a lego fan 07:42:55 think of it like Intercal's nondeterminism 07:43:15 AnMaster: not currently, but I spent some time with it previously 07:43:26 (through school) 07:43:29 coppro, ah 07:43:40 I wonder why the white one says 2.5 * 5.0 Ncm on it 07:43:48 is it the slippage load or something 07:44:00 (I found it at last) 07:46:30 coppro, huh seems I have 4 of them 07:46:41 well I can only find 2. But peeron says I have 4 07:46:50 ( http://www.peeron.com/inv/parts/60c01?myparts=1 ) 07:46:57 "# (You own 1 x) 2 in 8479-1 - Barcode Multi-Set (1997) 07:46:57 # ( 1 x) 1 in 3804-1 - Robotics Invention System 2.0 (2001) 07:46:57 # ( 1 x) 1 in 9747-1 - Robotics Invention System 1.5 (1999) " 07:47:05 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it). 07:47:10 coppro, very nifty site that 07:47:37 wow, seems awesome 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:02 coppro, very slow loading site too 08:00:17 hate those 08:10:10 ****ing end-of-season cliffhangers! 08:10:44 coppro, oops 08:10:50 coppro, what series? 08:10:50 oops? 08:11:02 Stargate Universe 08:11:06 mhm 08:11:09 -!- MigoMipo has joined. 08:11:34 it's like a Stargate tradition 08:11:48 I see 08:13:23 however, the cliffhanger here ends with something like half the cast facing imminent death for various reasons :( 08:13:50 I wish it was that the entire ship faced certain destruciton or something 08:14:00 because then I'd know how that will come out 08:14:21 coppro, XD 08:14:35 coppro, certain destruction 08:14:36 well 08:14:43 they'd find an impossible solution 08:14:47 presumably it would explode in the first episode 08:14:48 :P 08:14:53 ending a series isn't a great way to start a new season 08:14:59 coppro, otherwise it isn't certain destruction 08:15:04 it is certain survival 08:15:09 well, yes, that's the irony 08:15:27 coppro, just try applying logic :P 08:15:39 however, the way they did these cliffhangers, there's no telling who will come out of the premiere alive 08:15:52 oh? 08:16:07 coppro, presumably some of them 08:16:14 Which is quite different from the norm, where everyone is about to die, and so the premiere will consist of breaking physics to make it work. :P 08:16:17 coppro, either some or all 08:16:20 exactly, pikhq 08:16:26 what? 08:16:30 breaking physics? why? 08:16:33 AnMaster: Yes, but the trick is that some people might actually die 08:16:40 (of course, in a series where you've got cheap and easy wormholes, "breaking physics" is just par for the course. :P) 08:16:48 and I have to wait 3 months to survive! 08:17:33 I learned today that too much gamma radiation causes people to evaporate into dust! 08:17:47 -!- vuvuzela has changed nick to vuvuzello. 08:19:02 also, anyone here read Calculus by Spivak? 08:19:59 you broke physics! you bastards! 08:20:27 Hey, who needs that "inertia" thing anyways? 08:20:42 not me. i may have _seen_ the book. 08:22:20 pikhq: what about inertia? 08:22:35 * pikhq removes it 08:22:38 oh 08:22:56 watch out you don't get killed by a falling satellite 08:25:40 I learned today that too much gamma radiation causes people to evaporate into dust! <-- no? 08:25:43 welll 08:25:45 well* 08:25:46 maybe 08:25:50 but define too much 08:25:58 also boil away seems more likey 08:26:33 Hey, who needs that "inertia" thing anyways? <-- humans. iirc we wouldn't survive without it 08:26:47 AnMaster: the pulse caused by a white dwarf star crossing paths with the accretion disc caused by its mass being sucked into its binary partner pulsar 08:26:53 pikhq, like, we would feel the terrible speed from earth moving around the sun all the time 08:27:01 admittedly, while I'm not even sure such a pulse would be emitted, the concept of a binary pulsar is awesome 08:27:18 heh 08:27:59 coppro, being close to a supernova is sure to not be healthy 08:28:05 true enough 08:28:15 in terms of gamma radiation as well as other stuff 08:29:02 AnMaster: I was joking, as you well know. 08:29:10 Without inertia, a *hell* of a lot of stuff breaks. 08:29:19 Like... Orbit. 08:29:23 pikhq, yep 08:29:27 unfortunately, while the pulsar seemed like a reasonable attempt to provide a Plot Device, the fact that the FTL drive (lalalalalaicanthearyou) got knocked offline and needed to be repaired by accessing a console on the outside is... Diabolus Ex Machina. 08:30:02 And any moving object will kinda cease to be moving unless acted upon by an outside force... 08:31:54 AnMaster: i recall reading about what would happen if the sun went supernova (although it's too small for that). apparently we would be killed already by the initial _neutrino_ emissions. 08:32:01 coppro, heh 08:32:14 the following _photons_ would evaporate earth completely. 08:32:33 how come the neutrons are emitted first? 08:32:33 oerjan, yeah 08:32:48 coppro: not neutrons, neutrinos. very different. 08:32:51 oerjan, and how can we be killed by neutrinos? 08:32:54 oh 08:32:57 misread, nvm 08:33:19 neutrinos can and do interact with other matter, it's just exceedingly unlikely 08:33:26 yep exactly 08:33:45 so... a hell of a lot of neutrinos? 08:33:48 AnMaster: because there are such an enormous amount of them, 90% of a supernova's energy, with even the followin light shining more strongly than an entire galaxy 08:33:49 pretty much 08:33:59 *following 08:34:16 we would stand no more chance than a whelk 08:35:56 even a supernova within a hundred lightyears would be BAD as far as I understood? 08:37:07 -!- pikhq has quit (Remote host closed the connection). 08:37:36 very 08:37:57 we'd be good for a hundred years though! 08:37:58 AnMaster: i've read 25 light years as the danger limit, _unless_ one of its poles are directed towards us and it emits a gamma ray burst 08:38:20 oerjan, and if that happens 08:38:20 in which case we're toast at a much larger distance 08:38:28 oerjan, what distance? 08:38:34 i don't recall 08:38:41 bbl breakfast. Hopefully we won't be reached by a supernova that happened 25 years ago during that! 08:39:04 there are no real candidates afaik 08:39:51 there was a recent brouhaha about betelgeuse, but that turned out to be a "sometime in the next 100000 years" thing, and its poles are _not_ directed at us 08:42:19 (someone had blown out of proportion the fact that betelgeuse is currently shrinking in size (it's variable) which apparently has little to do with the actual core which explodes in a supernova) 08:43:26 According to a 2004 study, a GRB at a distance of about a kiloparsec could destroy up to half of Earth's ozone layer; the direct UV irradiation from the burst combined with additional solar UV radiation passing through the diminished ozone layer could then have potentially significant impacts on the food chain and potentially trigger a mass extinction. 08:43:32 otoh we _are_ several centuries overdue for a supernova somewhere in our own galaxy 08:43:36 kiloparsec 08:43:38 (iirc) 08:44:57 damn parsecs which i can never remember how to convert to lightyears 08:45:19 1 Parsec = 3.26163626 light years 08:45:46 hm with all those 6's it _should_ be possible to memorize, you'd think 08:46:28 td 08:46:29 yes 08:46:37 the other digits are 32132 08:46:41 hm wait wikipedia says 3.26156 08:47:19 which does not match even up to the smallest precision 08:47:31 -!- kar8nga has joined. 09:10:48 -!- vuvuzello has quit (Ping timeout: 276 seconds). 09:19:06 -!- oerjan has quit (Quit: leaving). 09:19:48 uh uh "WARNING: Failed to read mirror file" looks like a BAD thing during a dist upgrade. 09:19:50 Right? 09:30:48 -!- augur has quit (Read error: Connection reset by peer). 09:30:51 -!- augur has joined. 09:42:44 dammit google, "continuous" should not fuzzy match "continue"... 10:00:45 -!- CakeProphet has quit (Ping timeout: 264 seconds). 10:02:17 -!- CakeProphet has joined. 10:07:02 -!- CakeProphet has quit (Ping timeout: 260 seconds). 10:34:04 -!- kar8nga has quit (Remote host closed the connection). 10:44:31 -!- Gregor has joined. 11:18:56 -!- CakeProphet has joined. 11:19:54 -!- zzo38 has joined. 11:20:29 I found out that it is actually possible to assign a drive letter to \Device\NamedPipe and get a directory listing from it. 11:21:34 I get "Volume in drive Z is NamedPipe" and "Volume Serial Number is 0000-0000" followed by a list of files. Only size and name is available, no date/time is listed. 11:22:33 -!- kar8nga has joined. 11:23:59 Although you can get a directory listing, you cannot switch to that drive, and while "dir z:" works, "dir z:\" does not work. 11:35:06 -!- zzo38 has quit (Quit: zzo38). 11:47:54 -!- tombom has joined. 12:09:25 -!- MizardX has joined. 12:36:29 -!- FireFly has joined. 12:50:40 -!- zzo38 has joined. 12:55:07 -!- zzo38 has quit (Client Quit). 13:52:18 -!- zzo38 has joined. 13:55:27 zzo38: interesting. 13:55:32 about the named pipe stuff. 13:55:43 This is Windows 7 I assume? or...? 13:56:32 Windows XP 13:56:50 oh... I didn't know Windows used a Device directory 13:56:56 -!- alise has joined. 13:57:12 It does, but to use it you need this program: http://zzo38computer.cjb.net/prog/ddd.zip 13:57:20 hiiii 13:57:35 Source-codes is included with this program. 13:58:40 But you have to see what objects available, using a different program, which is: http://technet.microsoft.com/en-us/sysinternals/bb896657.aspx 13:58:52 This program has no source-codes, though. 14:04:58 -!- kar8nga has quit (Remote host closed the connection). 14:07:43 ah. 14:09:36 The reason I dual-licensed it is because I think it is useful program that Microsoft could include in some future version of Windows, in some Windows resource kit, or for the ReactOS people to include in ReactOS. 14:10:47 If you don't like the dual-license, you are not required to use the dual-license, you can pick one. (You can also select a later version of the GNU GPL) 14:23:21 http://zzo38computer.cjb.net/img6/MetaEdit_Error_Message.JPG 14:26:40 yes! I finally bent gdm mostly to my will 14:27:13 on the other hand I probably have a shitload of troubles to deal with after the upgrade to lucid due to hitting https://bugs.launchpad.net/ubuntu/lucid/+source/etckeeper/+bug/574244 14:27:22 (meaning upgrade failed near, but not at, the end) 14:27:46 CakeProphet, was it you who said something about gconf to fix button position in windows? 14:28:03 (after upgrade to lucid) 14:28:52 or it could have been someone else I guess 14:32:27 AnMaster: Fix? You can use less provocative words for things like that, you know. 14:32:48 Taking all your opinions as objective truth is a disease, one which I'm only starting to recover from. 14:32:55 alise, the thing is, the changed button position makes it easy to click close instead of file menu 14:32:58 that is the reason I say fix 14:33:28 "How can I fix Windows?" "Install Linux because Windows makes it easy to get viruses!" 14:33:39 alise, windows != MS windows here 14:33:44 I know that. 14:34:27 alise, anyway I told you the issue I found with the changed position of the buttons in the menu bar, it is too easy to close when you aim for the file menu. Especially when working with a trackpad or trackpoint instead of a "real" mouse. 14:34:35 Ha @ people thinking Novell v SCO is over. 14:34:37 Even groklaw. 14:34:44 SCO will so totally start arguing the opposite, it's inevitable. 14:34:53 alise, can they appeal in theory? 14:35:04 Yes, but only if they argue the opposite arguments to their last appeal. 14:35:11 Which would be utterly bizarre and will, therefore, happen. 14:35:34 alise, right, but won't that then be dismissed as ridiculous? 14:35:45 All their previous appeals were ridiculous, too. 14:36:01 alise, how many times can you appeal in US? 14:36:17 I mean, at some point you would reach the supreme court or whatever they call it 14:36:24 Don't know the US system -- all I know is that ais523 said SCO could do this. 14:36:30 yes I saw that 14:36:39 was just wondering how far they reached in the system 14:36:56 `ls 14:37:05 hm 14:37:05 bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.23198 \ wunderbar_emporium 14:37:14 !bf_txtgen is it fixed? 14:37:21 123 +++++++++++++++[>++++++++>+++++++>++>++++<<<<-]>>.<-----.>>++.<.<+.>>.<---.+++.<++++.>----.-.>>+++.<----------------------. [826] 14:37:23 yep 14:37:42 00:25:40 I learned today that too much gamma radiation causes people to evaporate into dust! <-- no? 14:37:42 00:25:43 welll 14:37:42 00:25:45 well* 14:37:42 00:25:46 maybe 14:37:42 00:25:50 but define too much 14:37:43 00:25:58 also boil away seems more likey 14:37:45 00:26:33 Hey, who needs that "inertia" thing anyways? <-- humans. iirc we wouldn't survive without it 14:37:48 >_< 14:39:07 00:35:56 even a supernova within a hundred lightyears would be BAD as far as I understood? 14:39:08 00:37:36 very 14:39:08 00:37:57 we'd be good for a hundred years though! 14:39:11 Thanks, captain obvious! 14:40:05 ....... 14:40:10 01:42:44 dammit google, "continuous" should not 14:40:11 fuzzy match 14:40:11 "continue"... 14:40:13 search +continuous 14:40:16 CakeProphet: ellipses howso 14:40:24 08:56 -!- alise [~alise@91.105.125.91] has joined #esoteric 14:40:27 you mad bro? 14:40:38 How I mad, bro? 14:40:46 I am disappoint. :( 14:40:51 alise, I know, but it was a strange fuzzy match anyway 14:40:58 CakeProphet: thou art confuzzling me. 14:41:07 Dunno 14:41:12 I felt like quoting something from you 14:41:17 but I couldn't find anything 14:41:18 We found out that the Unreal3.2.8.1.tar.gz file on our mirrors has been replaced quite a while ago with a version with a backdoor (trojan) in it. 14:41:18 This backdoor allows a person to execute ANY command with the privileges of the user running the ircd. The backdoor can be executed regardless of any user 14:41:19 restrictions (so even if you have passworded server or hub that doesn't allow any users in). 14:41:20 so I just quoted you logging in 14:41:25 UnrealIRCd: Awesome engineering 14:41:43 IRC written in the unreal engine? 14:41:52 >_< 14:42:00 -!- chickenzilla has joined. 14:42:09 so i have an extremely important life dilemma for you all 14:42:28 you're drying your hands with a towel when you drop it onto a mucky part of the floor. there are no towels near you. WHAT DO YOU DO??? 14:42:40 My life is so exciting, to be faced with such dilemmas as these. 14:42:40 Air-dry hands 14:42:40 ....pick the towel up? 14:43:05 Unless you managed to completely immerse it in the muck, use the other side 14:43:07 dispose of it properly, air dry, continue with life. 14:43:12 or yes. 14:43:18 what Deewiant has suggested. 14:43:22 for the drying phase of this operation. 14:43:24 Why are you typing with wet hands? 14:43:31 Deewiant: That's the scary thing, it CRUMPLED! *dramatic music* 14:43:55 I ended up just using the only corner not muckified. Admittedly it wasn't actually that mucky, I just felt like doing so. 14:43:59 I was not fully awake at the time. 14:44:22 * Sgeo_ did not sleep last night 14:44:38 * CakeProphet sips coca-cola and reads arguments about the existence of a God for philosophy class. 14:44:44 So anyway, I think I have a workable model for a prototype secure, STUFF-implementing, high-level OS. 14:44:47 ...it's kind of weird being up this early. It's 9:44 AM 14:45:04 whereas, just a few weeks ago, this is the time I would be going to sleep. 14:45:55 Oh look at that, another iPhone. 14:46:19 alise, there's a virtual world I think I may be interested in 14:46:28 Astonishing. 14:46:31 But it has Apple-esque policies on content creation... 14:46:42 whatchu talkin' bout? 14:47:05 Blue Mars 14:47:43 http://sandboxcitymars.blogspot.com/2010/05/tharsis-estates-uploaded-to-be-online.html 14:48:37 On a different post: "- Remove female models since they are too "adult" to pass QA. 14:48:37 " 14:48:42 XD 14:49:19 Maybe it's just a phase, or maybe the creator voluntarily was submitting to a PG thing 14:49:27 Or maybe I'm just trying to justify this to myself 14:49:59 At any rate, I can't enter Blue Mars until I make the gaming computer 14:50:48 psh, text-based is > 14:51:16 What are my options for text-based? 14:51:28 LambdaMOO, with a sucky culture, or M*U*S*H, with sucky softcode? 14:51:28 Is IRC servers supposed to disconnect the client if the client sends a command which is too long? 14:51:47 Sgeo_: there are some good text-based MUDs that use MUD-like commands and such 14:51:50 and there are other MOOs 14:52:18 ...but I really hate the command structure of MOO and MUSH... and thus prefer to find the rare MUD-descended roleplay-oriented ones. 14:52:48 How is LambdaMOO's culture sucky? 14:53:53 Seems to forgo documentation in favor of just having people ask questions, and seems to be against, say, MOO-wide chat 14:54:19 -!- BeholdMyGlory has joined. 14:54:22 -!- BeholdMyGlory has quit (Changing host). 14:54:23 -!- BeholdMyGlory has joined. 14:55:01 When I was working on a Python MUD server the built-in documentation feature of Python was rather handy 14:55:11 because I could just write up helpfiles on the command functions themselves. 14:55:36 and then have the helpfile system extract the __doc__ attribute. 14:56:19 -!- kar8nga has joined. 14:56:41 So anyway, I think I have a workable model for a prototype secure, STUFF-implementing, high-level OS. 14:56:45 I wish someone was more excited by this >_> 14:56:55 you've convinced me. 14:56:58 I'm excited. 14:56:59 What's stuff? 14:57:15 STUFF is my name for the family of models of stuff in operating systems. 14:57:22 A model is only STUFF if it is unified (everything fits into it). 14:57:25 Plan 9's files are STUFF. 14:57:29 Smalltalk's objects are STUFF. 14:57:42 Unix files aren't STUFF, because you have a lot of things like ioctl() that don't fit into the model. 14:57:52 Any truly good OS must, of course, have STUFF. 14:58:26 So "Everything is a file" is cake? 14:58:29 In UNIX? 14:58:39 Yes, yes it is. 14:58:46 I would also have accepted "lie". 15:02:27 yeah Plan 9 and Styx does "everything is a file" 15:02:29 but not UNIX. 15:03:04 Also, STUFF is particularly good STUFF if actual running "program code" fits in to the model as well. Smalltalk's objects satisfy this, Plan 9's files don't because they are inert. 15:03:42 My incarnation of STUFF is sort of a unification of message-passing, Plan 9's filesystem-based solution with per-process FS roots, and living processes. 15:04:47 -!- hiato has joined. 15:04:54 Stop making me want to study Smalltalk again! 15:04:59 great... but is it Turing complete? 15:05:04 this is #esoteric, you know. 15:05:19 Yes, it is, being that the system would be programmed in it ;-) 15:05:28 Urgh, why is ;-) so creepy? 15:05:30 oh well good. 15:05:33 it's the nose. 15:05:36 ;) is better. 15:05:49 mm 15:06:01 even ;) triggers some sort of "crazy pedo" switch in my brain though :P 15:06:11 What makes you say that? ;) 15:06:17 AIEEEEEEE 15:06:21 maybe winks are just creepy. 15:06:25 in general. 15:06:37 What about ;P 15:06:44 that requires quite a bit of coordinate. 15:06:50 tongue-waggling /and/ winking, my word. 15:11:17 -!- hiato has quit (Read error: Connection reset by peer). 15:12:49 http://pastie.org/1001801.txt?key=hvhwcbziyri1j4vsujpzqq Some very muddled thoughts about what something in my system might look like. 15:15:01 Must.. stay.. awake 15:15:29 Admittedly it is ugly, but ... 15:15:30 My eyes are tearing up 15:15:33 It is a start. 15:17:22 I want to torrent something, but don't have nearly enough disk space 15:18:08 ? 15:18:24 * Sgeo_ has always had space issues 15:19:11 -!- Mathnerd314 has joined. 15:19:49 -!- kar8nga has quit (Remote host closed the connection). 15:22:19 -!- hiato has joined. 15:25:59 -!- hiato has quit (Client Quit). 15:26:14 CakeProphet: So were you legitimately excited? Somehow I think not :P 15:27:50 -shrug- I would trust that you have devised a consistent and well-formulated OS design in only a day or so as equalls as I would trust such from myself 15:27:54 which is not very. 15:28:03 *equally 15:28:31 though I am intrigued. I don't know if excited is the right word. :) 15:32:45 Hey, I /have/ been thinking about this stuff in the back of my mind constantly for about a year. 15:32:53 -!- Mathnerd314 has quit (Ping timeout: 260 seconds). 15:32:53 And had sections of thinking about nothing else for a while. 15:33:19 ah, well okay. 15:38:01 Problem is, sometimes these purist designs turn out to be awkward in practice. 15:38:07 e.g. 15:38:08 ^ of: 's: 15:38:08 ^ (name: s) 15:38:09 huh. imagine that. 15:38:10 is hideous. 15:38:16 CakeProphet: Shush, you. 15:38:22 :) 15:38:24 I don't mean purist as in lambda calculus purist :P 15:38:30 no I know what you mean 15:39:29 especially with OS design. By using a unified model you're stating that every possible interaction of IO between processes, other processes, and the outside world... fits into this one concept. 15:39:38 not only does it fit, but it fits well and makes sense. 15:40:10 Yeah. 15:40:23 Plan 9 totally nails it as far as inert things go; it doesn't have actual process code running in files. 15:40:33 Smalltalk nails it by simply ignoring the outside world. 15:42:47 18:07:33 PROLOG isn't 2d though 15:42:51 I DON'T KNOW ABOUT PROLOG, BUT Prolog IS 1D 15:43:20 so.. are you mixing message passing into the filesystem or? 15:43:35 18:13:17 About a meg of Brainfuck. 15:43:36 Two. 15:43:40 CakeProphet: There is no filesystem. 15:44:05 Basically, the model is: I'll use the word "object" here, but try not to let any previous experience with things called "objects" get in the way. 15:44:25 Everything is an object: there is no filesystem or anything. You have your disk, and RAM is treated as a cache for disk, basically. So everything is always there, and there is no persisting or anything. 15:44:31 So, what is an object? 15:44:46 An object is a running piece of code, that runs in tandem with all the other objects (of course, it may not be run for a very long while if it is ignored for long enough). 15:44:53 How do objects interact? 15:45:16 If an object has a handle to another object, it can send it a message -- either another object, or a symbolic name. 15:45:39 The object that the message is sent to has a bunch of slots, saying "if given this name, do this thing", or "if given this object, do this thing". They can also have placeholders: 15:45:52 If given any object, given a certain condition, do this thing; otherwise, keep looking for a "handler". 15:45:58 The interesting thing is, this message is sent asynchronously. 15:46:17 "a b c d" means "sent off b to a; then when you get the result, sent c to the result; then when you get the result, send d to the result". 15:46:19 alise: you could also have objects not running when they're waiting on messages. Like Erlang essentially. 15:46:32 "x := a b c d" makes x a future, in a sort of lazy way. 15:46:45 CakeProphet: Possibly, but I think objects should be able to constantly run code in the background, e.g. a calculation. 15:46:48 Now, the interesting thing: 15:46:54 How do we know what "a" is, when we send a message to the object a? 15:46:56 Simple. 15:47:05 Every object has "slots". 15:47:12 For instance, every object has the slot "self", pointing to itself. 15:47:17 There are NO global variables. 15:47:23 How do you get slots pointing to useful things? 15:47:26 alise: well right... this would be the case in which you wait for messages asynchronously with a timeout. 15:47:31 Simple: You specify in the object's definition that it requires some certain kind of object. 15:47:38 Then whatever creates you must supply. 15:47:46 This is security. 15:47:57 You can only use things you have been trusted to use by something else trusted to use them. 15:48:06 You are never allowed to access anything you are not trusted with. 15:48:20 And, incidentally, those method handlers? Those are slots, too, that you assign yourself. 15:48:57 Voila: Objects are living processes, persisted data, and message passers; and they are all these things by one unified mechanism. And they are secure. 15:49:14 You might ask: how do we do arguments? 15:49:16 Simple. 15:49:22 Imagine some object that will add numbers for you, call it adder. 15:49:33 Now say we want to do "adder add 2 3" and get 5 back. 15:50:00 In adder's definition, the add method will return an object with a slot standing in for any object, which then returns another object, with a slot standing in for any object. That inner slot then adds the two and returns them. 15:50:05 This is like currying, but objecty. 15:50:30 alise: (listening, but continuing on our current chain of conversation) so things that don't really need to do anything but respond to messages can simply block and wait for a message... while processes that do something active in the background while waiting for messages can check asynchronously. I don't know if you used Erlang but that's basically how it does message-passing. 15:50:54 alise: that sounds inefficient from an OS design standpoint. 15:51:21 Inefficient? Howso? Also, the waiting for messages would be done implicitly, of course. 15:51:33 Basically, computation would be done by the asynchronous message passes: 15:51:38 You do "foo docomplexcomputation". 15:51:41 docomplexcomputation has a shitload of code. 15:51:47 It runs asynchronously, not bothering you. 15:51:50 Tada. 15:51:51 ....right. but why not have an option to block and wait? This makes scheduling easier. 15:52:03 Of course, "foo resultsofcomplexcomputation" would then block until the comptuation is done. 15:52:20 CakeProphet: see above 15:52:35 Since objects control all access to their own privates (har har), they block whenever it is needed. 15:53:23 but you cannot block while listening? 15:53:46 Well... listening is implicit. There is no "listen" instruction. 15:53:58 ...no, there would have to be. 15:54:02 No. 15:54:08 there has to be a point in code where you receive the message. 15:54:11 that's what I mean by listen. 15:54:18 "listen" implies block-until-receive. 15:54:22 When you define a Smalltalk object, where is the code that does "listen for messages, send off to appropriate method"? 15:54:26 There is none. It is part of the language. 15:54:50 right, but that's because there's no concurrency. 15:54:54 In my OS, object definitions are basically almost entirely assignments to slots. When you create the object, these assignments take place, but also any other code in the initialiser. It then returns the created object. Since the creation of the object is just a message pass to whatever contains the object, it is done asynchronously. 15:55:36 so basically you're saying that messages are given handlers. 15:55:46 and that is why you don't have to listen with a command. 15:56:01 Well... no. Messages just pass on to slots, basically. 15:56:22 Here's how I'd understand it: Read it like you're doing now, but whenever you notice two concepts that are closely related, assume that they're unified into one concept, because they probably are. 15:56:23 which are? 15:56:30 I told you what slots are. 15:56:36 ...but what are they. 15:56:38 as in 15:56:44 I know what a slot is on an object 15:56:46 How do we know what "a" is, when we send a message to the object a? 15:56:46 Simple. 15:56:46 Every object has "slots". 15:56:46 For instance, every object has the slot "self", pointing to itself. 15:56:46 There are NO global variables. 15:56:46 How do you get slots pointing to useful things? 15:56:48 but what do you assign slots to. 15:56:48 alise: well right... this would be the case in which you wait for messages asynchronously with a timeout. 15:56:51 Simple: You specify in the object's definition that it requires some certain kind of object. 15:56:53 Then whatever creates you must supply. 15:56:55 This is security. 15:56:57 You can only use things you have been trusted to use by something else trusted to use them. 15:56:59 You are never allowed to access anything you are not trusted with. 15:57:01 And, incidentally, those method handlers? Those are slots, too, that you assign yourself. 15:57:02 ......you can stop now. 15:57:03 Objects. 15:58:36 Do file-system also need object with each slot for each directory/file/mode/etc? 15:58:37 this doesn't sound very language agnostic. 15:58:48 CakeProphet: Of course it isn't. 15:58:51 There is no reason to be. 15:59:08 The line between "language environment" and "operating system" is a false one, created by bad OSes from the 70s, pretty much. 15:59:29 They are both the environment where things happen and data exists, it's just that the latter is bad at things that the former is good at and vice versa, and there's a crappy interaction layer between them. Pointless. 15:59:35 I think there are benefits to being able to use any language in your OS environment easily. 15:59:40 How language agnostic is Smalltalk? It's a question that doesn't make sense, isn't it? 15:59:48 ...Smalltalk is a language 15:59:50 CakeProphet: To do that, you have to make huge compromises that basically force your OS to suck in many ways; I refuse to do that. 15:59:52 CakeProphet: No. 15:59:55 CakeProphet: Smalltalk is an operating system. 15:59:59 ...what? 16:00:12 It started out as an operating system; nowadays, it's an operating system that runs in a box on other operating systems, like a VM running Windows. 16:00:18 since when is Smalltalk an OS? 16:00:23 Look up the history. 16:00:29 right 16:00:39 Smalltalk is a language AND and an operating system, and always had been. 16:00:40 but that would answer the question "since when was Smalltalk an OS" 16:00:43 not my actual question. 16:00:47 Originally it ran directly on the machine. 16:01:17 CakeProphet: Smalltalk environments are full environments with a full interface and a full data storage etc. mechanism, detached from the OS running them, that just so happen to run in a window on a current OS. 16:01:21 When you program Forth, you can make it Forth to be operating system as well, but only if it is. Sometimes Forth is not a operating system, but sometimes it is. Smalltalk is more high-level, so it is different, I suppose. 16:01:30 If you say Smalltalk is not an OS, then you say that Windows is not an OS because Windows can run on modern OSes in a box. 16:01:46 Inferno is a operating system and VM, and can run inside of other operating-system, or by itself. 16:01:58 Inferno is basically Plan 9 made to be VMy. 16:02:12 ...I am still Smalltalk is a programming language and not an OS. 16:02:29 You are wrong, and the creators of Smalltalk even disagree with you. 16:02:39 I even just ctrl+f'd "operating system" in its wiki article and there were no matches. This doesn't prove anything, but it makes me certain of my stance. 16:02:54 Heck, even cpressey disagrees with you. That's like being dishonoured to the max. At least here :P 16:03:29 saying Smalltalk is an operating system is like saying that any language with its own process scheduler is an OS. 16:03:54 Well, I'm uninterested in arguing it. 16:04:14 I suppose I am as well. 16:07:22 Smalltalk is probably more of an OS than YouOS was 16:08:09 Erlang is more of an OS than Smalltalk. 16:08:17 -!- BeholdMyGlory has quit (Remote host closed the connection). 16:08:26 CakeProphet: hahaha 16:08:55 Erlang programs can standalone. Smalltalk programs rarely do 16:09:04 [Unless you're using GNU Smalltalk[ 16:09:05 I'm just going to suggest to avoid commenting at all on Smalltalk's OS status until you get convinced by, say, someone who actually knows about Smalltalk. Say, one of the original designers? 16:09:05 ] 16:09:10 Would be good. 16:09:15 Or you'll just be embarrasing yourself. 16:09:29 nah... 16:09:56 I'd only embarass myself if I cared what a language designer thinks. I know plenty about Smalltalk. 16:10:04 But, clearly, not enough. 16:10:09 Fuckin' popunders, how do they work? 16:10:14 That's nice. 16:10:15 -!- CakeProphet has quit (Quit: leaving). 16:10:52 Man, what is it with people these days and leaving when someone tells them they're wrong? That's what /my/ job used to be. 16:13:16 "Ask Proggit: How to file an International Software Patent WITHOUT a patent attorney?" 16:13:21 Yes, proggit will help you file a software patent. 16:13:53 I don't like patent. 16:13:57 I don't file any patent 16:14:58 Even those who do like patents dislike software patents, especially as they contradict what a patent was originally invented for! 16:15:02 Ridiculous. 16:15:51 alise: Yes, that is true, many people even if they like patents in general, still dislike software patents. (Not all people) But some people (including myself) doesn't like any patent at all. 16:16:10 I dislike all forms of intellectual property! Apart from trademarks, those are quite acceptable. 16:16:29 I also happen to like trademarks. I find trademarks also acceptable. 16:17:18 "Trademarks: Quite acceptable, agreeable things." That's some rallying cry. 16:17:28 "ABOLISH IP! ABOLISH IP! BUT KEEP TRADEMARKS, THEY'RE QUITE ACCEPTABLE!" 16:17:31 * Sgeo_ would be ticked if someone took my code and claimed that they wrote it, and this claim became widely accepted and the code becomes widely used 16:17:49 Sgeo_: there are many factors mitigating this in a no-IP world 16:18:12 For instance, their only profit would be in ego, as selling software would become pointless; and in such an internetty world, cases of plagiarism like that are widely publicised easily. 16:18:44 "I made this free software project, ooh la la, and totally didn't become rich off it" is not very e-penis enlarging. 16:20:22 If someone used my codes, licensed under GNU GPL (which, however, requires copyright), or public domain, or whatever else, I really don't care if nobody knows who wrote it, or how someone changed their copy (and redistributed it), as long as they don't deny other people the same rights, or claim that the modified version is endorsed by me if I didn't actually endorse it. 16:20:57 Also a good point: wanting desperately to be credited for some software is basically ego. 16:21:00 Who cares, really? 16:21:46 * alise wonders whether trying to make a simple OS using some /existing/ interpreter for the high-level stuff would be easier than writing an interpreter tailored for a standalone environment for a new language and making an OS out of that 16:22:46 * Sgeo_ does not code for free. Admittedly, I don't get paid with money, and so far, never have, but I do get paid with recognition 16:23:09 And I don't see this as a particularly positive trait in you. 16:23:35 I don't see it as particularly negative. I would imagine that it's fairly normal, though. 16:23:49 -!- Oranjer has joined. 16:24:21 Although I probably value recognition more, and money less, than many people 16:29:24 My IRC server currently disconnects the client when you send the command too long. I should probably change it to truncate instead? 16:29:57 Here is the comment: Request must not exceed 512 chars (incl. CR+LF!), see RFC 2812. Disconnect Client if this happens. 16:30:29 But surely instead it should just truncate, or else, display an error without disconnecting the client. 16:31:46 zzo38: Just truncate; i.e., if you are using some fgets() or similar, use a 512-character long buffer, and pass 512 to the function as the number of characters you would like to read. 16:32:00 Or something. 16:32:08 Then, if the buffer does not have \r\n, read until \r\n. 16:32:12 (and disregard) 16:34:50 alise: That is exactly what I intended to do at first. But when I looked at the codes, it does not work that way, so I will do it in the way these codes does work 16:35:07 Yarr 16:35:17 I want to write an IRC daemon, now. 16:35:18 In fact, I will. 16:41:40 alise, I lied. There is one project for which completing it is more important to me than recognition 16:44:58 alise: Will you write it based on another code, using parts of any other codes? Will you write in what program language, is it in C? 16:45:10 What you call this program? 16:47:12 zzo38: I will probably start it from scratch. 16:47:15 Probably C. 16:47:17 Unsure. 16:47:25 I dislike basing programs on others for some reason. 16:48:04 What features do you plan to implement? 16:48:46 The sideset (not super, but not sub either) that clients actually use, minus a few things I deem completely pointless. More than a few, actually. 16:48:50 Plus my own services implementation, most likely. 16:52:42 Maybe can you make a list? 16:53:37 Hmm... 16:53:44 Hard. I'll try. 16:54:02 zzo38: You know all the variations on *-line? I'd probably try and unify them. 16:56:22 I guess that's not so radical. 16:56:24 But eh. 16:56:27 zzo38: What is yours based on? 16:56:56 Mine is based on ngIRCd. It is the closest program to what I wanted, so I used it 16:58:02 ngircd is nice. 16:58:32 it's event based, right? 16:58:34 well, kinda obvious 16:58:37 all irc servers are 16:59:50 It is obvious from the Wikipedia comparison of IRC daemon, that ngIRCd has most of the features I need, and omits most of the features I do not need, and then I can just fix it from there. 17:01:42 I'm a severe sufferer of NIH syndrome, so I loathe to use anyone else's INHERENTLY FLAWED work! 17:02:16 okay wtf are ubuntu doing? why are they replacing the gnome logo on the back of cards in the gnome card games with the ubuntu logo? didn't do that in jaunty I'm pretty sure 17:02:40 AnMaster: it's called branding and you're allowed to do it. 17:02:47 the foot just confuses ubuntu users, I say this from experience 17:02:56 (my mother asked me "why is there a foot on the back of the cards o_o") 17:02:56 alise, also the non-logo filled green background with green bg with ubuntu logo in it 17:03:01 which makes less sense 17:03:19 and it is an ugly green shade compared to upstream IMO 17:03:29 that's a rather more specific complaint :P 17:03:36 btw i forget, what are & and ! channels? on irc 17:03:40 I know what + is, modeless. 17:04:03 & is local to the current server, and ! is like # but safe against netsplit by adding a code to the beginning 17:04:17 yeah random code, so not completely safe 17:04:26 and much worse than the normal solution 17:04:35 which checks timestamp on channels when servers link 17:04:37 It doesn't have to be random, you can implement it to add a different kind of code, such as a timestamp 17:04:41 & seems silly. 17:04:45 so does ! too 17:04:48 and discards the newer one if they are different 17:04:53 (modes from it that is) 17:05:15 zzo38: One thing I'd change in my ircd is to drop the stupid RFC definition of uppercasing which has [ be uppercase of { or something like that 17:05:21 due to some character set or whatever 17:05:32 In my opinion, it is # silly and &!+ good 17:05:44 why is & good 17:05:50 the whole point of server linking is to present a unified network 17:06:05 There are some reasons to have local channels to a server 17:06:09 AnMaster: when you do a PRIVMSG to a,b,c, do a b and c see it as being sent to a,b,c or just their name? 17:06:18 if the former, then it would be useful as an impromptu ad-hoc private channel 17:06:31 It can include server administration stuff, and so on 17:06:50 When you do PRIVMSG to a,b,c, 17:07:01 a,b,c privmsgs don't work on freenode 17:07:02 No, I see it only being send to me only 17:07:11 alise, not sure 17:07:18 alise, I think "only to them" 17:07:25 zzo38: doesn't work on freenode, like i said 17:07:29 AnMaster: that sucks 17:07:43 well, nobody supports a,b,c messages right? So if I supported them, I might as well make that change. 17:07:50 and also, a request for the names of a,b,c would return a, b and c 17:07:53 alise, oh lots of ircds support it 17:07:56 And I look at the log, it does appear in the log 17:07:57 basically everywhere but freenode 17:07:59 alise, ^ 17:08:01 AnMaster: well, ok 17:08:04 AnMaster: but people only use it for spam :)) 17:08:12 I sent it to: PRIVMSG zzo38,alise,#esoteric 17:08:13 alise, nop, 17:08:18 I seen it use for valid purposes 17:08:31 See? It works 17:08:37 well... I think I should have SOME sort of impromptu private chat functionality 17:08:43 zzo38: huh 17:08:46 maybe freenode supports it now 17:09:04 AnMaster: zzo38: see private messages 17:09:10 You can just send messages to directly to the other user, if it is only 2 people 17:09:56 bit busy 17:09:58 For more than 2 people, you can use a channel with key or limit mode set 17:11:14 Or, you can possibly have the client to open connection to multiple using the comma 17:11:23 Okay then, new proposal: 17:11:32 (In PHIRC, the command is "/CHAN alise,AnMaster" for example) 17:12:06 A new prefix, say @. Listed in server prefixes. "/join @a,b,c" puts you in the channel "@a,b,c,you", where you is your nick. Sending messages makes a, b and c join "@a,b,c,you", and see your message in it. 17:12:24 If b parted, all users in "@a,b,c,you" would get transferred to "@a,c,you" instead. 17:12:32 "NAMES @a,b,c,you" would yield a, b, c and you. 17:13:43 Perhaps all the names should be put in alphabetical order 17:14:05 Agreed. 17:14:26 So join @x,z,y,ab,c would make you join @ab,c,x,y,you,z. 17:14:30 (assuming your nick is you) 17:14:36 And the join would fail if any user was not online. 17:14:40 alise: Yes, that is what I meant 17:15:09 Yeah. 17:15:45 zzo38: Also, I think I'd make "PRIVMSG a,b,c,d :foo" equivalent to "JOIN @a,b,c,d \n PRIVMSG @a,b,c,d :foo" for backwards-compatibility and also easy conversation-starting. 17:15:47 Although I think using a channel with a key mode will work for this sort of things, too (especially if the channel is also secret) 17:15:52 Or maybe just "PRIVMSG @a,b,c,d :foo" when you're not in it. 17:17:09 AnMaster's pointed out that commas in channel names are a bad idea. 17:17:16 So how about @a;b;c. 17:17:17 The problem of course is that you can use like "PRIVMSG #channel1,&channel2,!channel3,+channel4 :abcdefg" then the channel name is not allowed a comma I think in channel name? 17:17:30 Yeah, so ; instead. 17:17:55 alise, better check that that doesn't break some common irc clients like irssi, xchat, and the other big ones 17:17:56 That is, using something which is allowed in a channel name but disallowed in a nick name is should be used. 17:18:00 AnMaster: I will, yes. 17:18:09 zzo38: @ isn't allowed in a nick, is it? 17:18:18 alise, user!ident@host 17:18:23 But @abc. 17:18:28 You can't PRIVMSG to @abc. 17:18:30 I don't think so. @ is used to separate nick!username@hostname 17:18:40 Right. 17:18:45 alise, just don't use $ 17:18:54 $$$$why not 17:19:09 alise, because that is used for global notices and such. /notice $*.freenode.net [Global notice from staff] 17:19:25 Ah. 17:20:21 alise, you know, it would probably be saner to make a new protocol and drop compatibility. 17:20:29 would make a lot of the stuff less hackish 17:20:36 That was what the Haver developers did. 17:20:40 Issue was, writing good clients is hard. 17:20:46 And most people won't want to install one, anyway. 17:20:50 So it's pretty much dead. 17:20:52 hm 17:20:58 And it turns out IRC actually gets a lot of stuff damn right. 17:21:03 Sure, it has warts and flaws, but the actual basics are good. 17:21:08 alise, yes but only because no one follows the spec 17:21:10 :P 17:21:16 alise: I don't really like the @ channel idea you have. I think a better way might be, such as: New command "PRIVCHAT user1,user2,user3" will create a channel @ and the timestamp (or random code or whatever), and you join, all other users named are invited. Everyone else is banned from that channel. 17:21:28 zzo38: But clients won't support this by default. 17:21:51 I want something I can use right now to say, e.g. /join @coconspirator1,coconspirator2,coconspirator3 and discuss evil plans. 17:22:06 alise: But you could use the command-mode in the client, to enter that command in, instead of using the menu. Or, a script could be added to make a menu for that 17:22:09 alise, can you prevent yourself from being joined against your will to such a channel? 17:22:12 It depend on the client, how it is done 17:22:25 alise, anyway you could do a client script to create a random channel and send INVITE ;P 17:22:53 AnMaster: Any such joining thing would just be a script that /parts as soon as you join. 17:22:59 Perhaps a server could support it, but who cares. 17:23:25 alise, well I can quite easily see the possibilities for abuse. filling channel list with useless channels 17:23:36 and making you hit channel count limit 17:23:48 As I said, there will be a limit on the amount of @ channels you can be in at one time. 17:24:37 alise, aha! DOS to prevent the user from joining the ones he want 17:24:50 just get a few bots on that create new such channels with him/her 17:24:52 How could you do that if you can only make a user join five channels? 17:24:54 Like, how I proposed the PRIVCHAT could be: You are "user0" and you enter the command "PRIVCHAT user1,user2,user3" now the channel is created "@148050176081284" for example, and you automatically are joined (no oper), other users named are invited, everyone else is banned, mode is "+ns", and any member can invite 17:25:07 You are the only one who would be so sad that you cannot go from 459 channels you want to 460 channels you want. 17:25:26 Most other people would apply something known as being reasonable, and decide that there is surely one channel they don't care about. Or, you know, just part the @ ones. 17:25:37 zzo38: I guess so. 17:25:38 That is, with "PRIVCHAT" command without any parameters, it would create a channel like that but only you on, nobody else invited, and then you have to use INVITE command to invite other users. 17:25:41 Maybe I'll do that. 17:25:51 /privchat would work in xchat, I guess. 17:26:16 alise, well, say user A wants to chat to users B and C . But there are the bots E1 to E5 that sends messages like @A,E1 and @A,E1,E2 and so on to fill up. you could make it rather fast to make it hard to start the intended conversation 17:26:17 zzo38: what if someone invites someone and they are really annoying and you want to get rid of them? 17:26:21 starting a new privchat would be irritating 17:26:36 AnMaster: and the point of this would be? 17:26:37 alise: Then you use SILENCE or the client ignore feature. 17:26:42 you can flood channels with tons of bots too to stop people talking 17:26:45 whoop de doo 17:26:54 zzo38: no, because then they would see your secret plans 17:26:57 and they are plotting against you 17:27:50 alise: Then you have to create a new PRIVCHAT then. Or, you can just create a normal keyed channel with everyone banned except invited users, so that you can be operator. 17:27:59 Alright then. 17:28:12 alise, ... whatever the point of idiots trolling is 17:28:15 It should be PRIVCHAT user1 user2 user3, btw, not commas. 17:28:16 Surely? 17:28:18 I'm just saying it will happen 17:28:19 Or, can IRC commands not be variadic. 17:28:20 not that it is good 17:28:35 alise, I could quite imagine someone like fax or such doing it 17:28:38 AnMaster: Well, people flood channels too with tons of bots. They get k-lined in no more than a minute and life goes on. 17:28:44 nah, fax hates programming :-P 17:28:52 But even then, the server owner could program it to see all of your evil plans anyways! 17:29:03 (If they wanted to!) 17:29:05 zzo38: yeah but server owners are rarely so ... good :P 17:29:11 also they rarely care about Agora conspiracies 17:29:35 Is "good" the right word? Do you mean "intrusive" or something? 17:29:36 Actually, I once had a marvellous proposal. 17:29:54 zzo38: Well, it's not "bad" per se because they're foiling evil plans. 17:29:56 Intrusive is a good word. 17:30:16 So, this marvellous proposal. 17:30:31 It was a cryptographically-secure, completely-encrypted, democratic chat system. 17:30:42 alise, still, I can't imagine it getting used very often except for abuse. Most people will just create new channel out of habit, and it being easier with their irc client anyway 17:31:13 It was utterly glorious. We're talking "a network of servers that CANNOT POSSIBLY do anything evil", along with systems for decentralised channels to get rid of troublemakers by having everyone from then on encrypt their messages so that only everyone BUT the bad guy can decrypt them 17:31:13 etc. 17:31:19 Never got around to... doing it, though. 17:31:48 AnMaster: well, e.g. "/privchat ais523 comex" is quicker than "/join #cabalchat \n /invite ais523 \n /invite comex". 17:32:04 Making it an invite would be good. 17:32:07 Then it couldn't be abused. 17:33:11 But, yeah, my encrypted chat system would have made everything perfect forever. 17:33:21 alise, the automatic join is somewhat annoying though 17:33:27 yeah so invite 17:33:31 AnMaster: yeah, invite 17:33:52 it'd basically be a way of making a secret, invite-only channel with a unique, irrelevant name and automatically inviting some people to it 17:33:54 INVITE is what I proposed anyways, after alise propose @ channel 17:34:36 alise: Which is basically what my modification of your idea is. 17:34:45 Yep. 17:34:47 I agree with it now. 17:35:05 OK 17:37:00 zzo38: what select()-like function does ngircd use? epoll/kqueue? 17:38:26 I think the autoconf will automatically select the right one and use preprocessor macro to choose one 17:38:52 Ew, autoconf! 17:39:11 alise, most ircds try to select the best polling function at some sort of configure time 17:39:18 Yeah. 17:39:24 alise, inspircd doesn't use autoconf btw 17:39:25 I was just wondering if it was still stuck in select() age. 17:39:28 it uses some perl thingy iirc 17:39:34 Is it easy to migrate code from select() to epoll()/kqueue? 17:39:37 I don't use autoconf for my own programs, but this program uses autoconf, so, it is still used. 17:39:40 since autoconf didn't really cover the needs. it is very modular 17:39:59 rather nice build system to _use_ at least 17:40:59 When I write a program with based from other program with autoconf, then autoconf is still used. Otherwise it isn't. 17:42:24 About IRC commands being variadic: Check the commands in RFC to see if there are any variadic, if there isn't, you shouldn't make it variadic either. 17:43:26 The NS and CS commands commonly found in some IRC networks do not follow proper IRC syntax, And I don't like that it is not following proper IRC syntax 17:44:45 The syntax highlighting in PHIRC is designed to work only with properly formed IRC commands, so NS and CS confuse it. 17:44:50 So, anyway, now I'm kinda sad that I didn't spec up that chat system. 17:44:53 It was terribly well thought out. 17:45:50 (When I complain that the NS and CS are improper syntax, they don't believe me.......) 17:47:33 ...but they won't be saying that when I take over the world! *mad cackle* 17:52:39 Is it easy to migrate code from select() to epoll()/kqueue? 17:52:46 -!- KingOfKarlsruhe has joined. 17:54:38 AnMaster: ^ 17:56:56 alise, not sure, a bit of work at least. It would be easier the other way around 17:56:58 I think 17:57:03 bbl 17:57:06 So I should start out writing epoll? 17:57:46 alise, you should start out reading the docs for each (quite short) to see how they differ and then figure out a sane abstraction for them that isn't as inefficient as select() 17:58:22 one of the main points of epoll/kqueue is that it avoids building the fd list and then copying it to the kernel every time you want to wait on your sockets 17:58:39 I care mainly about Linux, tbh. 17:58:41 so your abstraction should probably just maintain it's own list for the select() case 17:58:49 So I'd prefer starting just supporting epoll or something. 17:58:58 would probably work 17:59:16 anyway, it is like two screens of man page for each to learn them 17:59:27 Yeah, but ... only losers use BSD :P 17:59:29 or at least get an idea of how it works 17:59:36 alise, does OS X use kqueue? 17:59:39 presumably it does 17:59:41 Yes :P 17:59:58 yep losers and typography geeks 18:00:11 hey now that's person 18:00:12 so no one important really 18:00:12 *personal 18:00:17 ;P 18:00:24 os x sorta sucks at typography recently anyway. 18:00:27 what? 18:00:37 alise, why? 18:00:41 It has nice typefaces, yes, but it's seen some woeful typographic crimes recently. 18:00:47 such as? 18:00:49 Especially on the iPhone and iPad. 18:01:00 iBooks, for instance, justifies text without hyphenating it. Rivers and other such abhorrent ugliness abound. 18:01:29 http://subtraction.pmhclients.com/images/uploads/2010-06-08-ibooks.png 18:01:38 It's high-quality typesetting! 18:01:47 AnMaster: So really, nowadays the only true refuge of typography fans is TeX. 18:01:51 hm 18:01:57 Which is, you know, not so bad really. 18:01:59 alise, and yeah Computer Modern is wonderful :) 18:02:07 I never said Computer Modern. 18:02:10 Did I say Computer Modern? 18:02:17 Computer Modern is Didone, for heaven's sake! 18:02:20 I did, and I was serious 18:02:30 alise, whatever that means 18:02:35 I just like how it looks 18:02:46 Sure, it is an exemplary example of Didones, and it manages to transcend being Didone, but it's still a fucking Didone typeface and is therefore abhorrent. 18:03:02 Didone fonts are the kind that look like this: http://upload.wikimedia.org/wikipedia/en/2/2b/Bodoni_vita_nuova_facsimile_sepia.png 18:03:05 did one, did two, did three, .... 18:03:43 alise, and you don't like them? 18:03:44 why? 18:03:49 Nobody does. 18:03:53 alise, um... 18:03:58 presumably Knuth does? 18:04:07 and I just said I did 18:04:19 No, Knuth just made Computer Modern Didone because mathematical type families tended to be. And indeed, Computer Modern is only very subtly Didone. 18:04:27 No, you didn't say you like them. Just one particular specimen. 18:04:32 alise, well true 18:04:40 Computer Modern is a wonderful typeface family, though I daresay its sans-serif variation is its high-point. 18:04:51 But, e.g. Bodoni is completely unreadable for long texts. 18:04:58 alise, but I don't see anything wrong with the example you linked apart from that firefox fails at smooth scaling down of the image 18:05:00 And the appearance is jarring. 18:05:08 AnMaster: Now try reading a book set entirely in it. 18:05:28 alise, well? shouldn't be too hard? 18:05:31 The ridiculously thick strokes along with the ridiculously thin serifs are painful for a long text. 18:05:41 hm true 18:05:53 AnMaster: Let's put it this way: you'd probably rather read a book in Courier, if you tried reading one in both Bodoni and Courier and could decide afterwards. 18:05:53 well then I say that that "Bodoni" isn't a good one 18:06:06 But Bodoni is the definition of DIdone. 18:06:07 *Didone 18:06:11 but I don't have enough data points to make a generalisation as you pointed out before 18:06:12 Didone is literally "Like Bodoni or Didot". 18:06:33 hm 18:06:34 Didot seems superficially better from this specimen: http://upload.wikimedia.org/wikipedia/commons/b/b1/DidotSP.png but it has the same problems for long texts, just slightly less so. 18:06:41 (And WTF @ that 7.) 18:06:47 And that Q's tail. 18:06:52 what is wrong with the 7? 18:07:03 It looks like it's been melted. 18:07:12 Top bit is fine, whoops, just sort of slouching downwards. 18:07:17 alise, does it? I find the 5 harder to accept 18:07:21 it looks like a flag 18:07:23 at the top 18:07:27 The 5 is a backwards c waving a flag. 18:07:29 Ha 18:07:49 Anyway, Computer Modern is the only acceptable Didone. It's a good one. 18:07:55 But it's still Didone and therefore on principles I must loathe it :-P 18:08:41 Computer Modern sans is very, very nice, though. 18:08:57 http://media.smashingmagazine.com/cdn_smash/images/freefonts/cmu-sans-serif.gif 18:10:07 One gripe with Computer Modern serif: the Q'stail should not look like that. 18:10:09 http://www.identifont.com/samples/ams/CMR10.gif 18:10:12 bbl food 18:10:14 It pokes into the Q before exiting, which is ugly. 18:11:04 Hmm. 18:11:13 * alise wonders about IRC server architecture and such. 18:12:41 I love monospace 18:12:46 for everything 18:13:08 -!- impomatic has joined. 18:13:30 jabb: hi oklopol 18:14:18 -!- kar8nga has joined. 18:17:06 didone? 18:17:13 One feature I would like to be able to add in Linux, is so that a process can serve a file-system which is automatically mounted under /proc/self/9p/ 18:20:53 Is anyone (in the UK) going to the Vintage Computer Festival next week? 18:21:43 alise, I think you are mistaken 18:21:46 * [jabb] (~grue@71.94.31.166): grue 18:21:52 that does not look like oklopol 18:22:13 I was joking. 18:22:15 geoip gives US too 18:22:17 alise, ah 18:22:17 impomatic: When is it? 18:22:35 impomatic, what sort of stuff will be shown there? 18:22:39 PDP-10s? 18:22:47 19/20 June. 10:30am start, at Bletchley Park near Milton Keynes. 18:22:56 What weekdays? 18:22:59 hm then it could be way older 18:23:07 -!- KingOfKarlsruhe has quit (Remote host closed the connection). 18:23:15 Details: http://www.tnmoc.org/vcf-gb.aspx 18:24:03 impomatic: It's on the weekend! Hooray. 18:24:07 I might be able to come, then. 18:24:19 impomatic, what sort of vintage machines is it dealing with? mainframe? early home systems (c64 and such)? Or maybe varied? 18:24:33 Although I daresay that most people would be a little confused by a 14-year-old who looks like a 12-year-old appearing at such a festival. 18:24:42 alise, XD 18:25:05 AnMaster: varied 18:25:09 "Where is your mother? Do you want me to help you find her?! Oh, you poor lost child! This place must be so strange for you!" 18:25:16 impomatic, ah nice 18:25:24 "What's your name, Miss ..." (Most people mistake me for female :P) 18:25:30 impomatic, a pity it is way too far away for me 18:25:51 Not so close to me. We need to camp over. 18:26:20 Yes, but AnMaster's in Sweden. 18:26:27 Ah okay :-) 18:26:39 exactly, way too far away 18:26:41 I'm in the north, so... I guess I can probably not make it. 18:27:48 I'll take some photos for you then! So you know what you missed :-) 18:28:23 Tease. 18:28:43 Would be nice to have a break from the crappy weeks I've been having... oh well. 18:30:26 alise, not moving abroad? 18:33:32 In a week? 18:37:41 -!- oerjan has joined. 18:41:10 you're drying your hands with a towel when you drop it onto a mucky part of the floor. there are no towels near you. WHAT DO YOU DO??? 18:42:19 Dry my hands on my jeans? 18:42:26 shake your hands vigorously, then possibly wipe on your trousers. at least that's what i did the other day when i discovered there were no paper towels left in the restaurant toilet. 18:43:12 (no i _refuse_ to use that evil blowing machine they have just next to it. you have to _stick your hands into it_ dammit) 18:43:24 apparently the Dyson air hand-dryers are really good 18:43:26 the rest are shit though 18:43:28 s/it/the paper towels/ 18:43:35 although maybe it was a Dyson, iirc those are the ones you have to stick your hands into 18:43:35 alise: that's exactly the kind they have 18:43:53 well i agree that i wouldn't entrust my hands into james dyson's... hands 18:43:54 but still :P 18:44:49 alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles 18:45:23 `addquote alise: mainly it's the fact it blows so hard [...] 18:45:24 LULZ 18:45:29 actually wait the whole thing is hilarious out of context 18:45:34 good thing HackEgo seems to have broken 18:45:38 whew 18:45:49 179| alise: mainly it's the fact it blows so hard [...] 18:45:55 argh! 18:45:57 darn 18:45:58 `help 18:45:59 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/ 18:46:09 `revert 1505 18:46:11 Done. 18:46:14 `addquote alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles 18:46:20 179| alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles 18:46:21 oerjan is a closeted gay republican 18:47:10 New programming games keep getting invented faster than I'm learning the old ones :-( 18:51:36 apparently the Dyson air hand-dryers are really good <-- are they spherical? 18:51:44 *ballic 18:51:46 not afaik :P 18:51:51 alise, meh. 18:52:01 i think it's a reasonable bet that they have some parts also found in vacuum cleaners! 18:52:28 alise, Dyson dryer sphere would have been an awesome name 18:53:11 you forgot "air multiplier" 18:53:33 heh? 18:53:38 http://www.dyson.co.uk/fans/ 18:53:55 Dyson fan using vacuum cleaner parts with no blades and no buffeting, but otoh it's almost as loud as a vacuum cleaner -- guess why -- and produces not much air 18:53:57 um... 18:53:59 also it costs. a lot 18:54:00 XD 18:54:42 AnMaster: that's definitely not the hand drying type though 18:54:52 alise, I can't see any air vents or sch? 18:54:54 such* 18:55:02 AnMaster: it's the ring 18:55:10 alise, it looks like a magnifier without the glass to be honest... 18:55:20 alise, and what in the ring? 18:55:23 http://www.dyson.co.uk/images/technology/air_multiplier/header16xMultiplier.jpg some definition of 15 18:55:28 also lol @ 16x in filename but 15x in picture 18:55:34 AnMaster: nothing, the parts are down below 18:55:45 http://www.dyson.co.uk/dryers/ that picture is the hand dryer thing 18:55:56 alise, there must be some holes for the air to exit through ... 18:56:05 AnMaster: in the ring. 18:56:29 alise, also I assume it uses fusion or something to produce new oxygen molecules and so on? 18:56:36 no :P 18:56:42 alise, or where does it get the extra 14 parts of air from? 18:56:43 and heck, would you really want to put your hands into anything whose name contains "blade" 18:56:49 hammerspace 18:56:56 XD 18:57:25 "it uses sheets of purified air travelling at 400mph " <-- isn't that like tornado? 19:00:19 -!- ais523 has joined. 19:01:15 -!- kar8nga has quit (Remote host closed the connection). 19:01:25 New programming games keep getting invented faster than I'm learning the old ones :-( 19:02:21 impomatic, such as? 19:02:39 hi ais523! 19:02:50 Does anyone know of a... curses-based word processor? The idea sounds crazy, I know... 19:03:08 alise: word processors always used to work like that 19:03:17 Yes, but not in that sense, really. 19:03:23 WordPerfect could easily have been implemented with curses, although it probably used a different library 19:03:31 hello ais523 btw 19:03:35 I'm thinking mainly something that will match up quotes and convert them to smart quotes as you type, sort of thing. 19:03:45 And perhaps automatically justify and hyphenate text as you type. 19:03:56 alise, emacs mode! 19:04:05 if there isn't one, there should be 19:04:09 oh, there is emacs rich text mode, you're right 19:04:16 which I have used as a word processor before 19:04:20 http://www.gnu.org/software/emacs/manual/html_node/emacs/Formatted-Text.html#Formatted-Text 19:05:02 Airblade: there's a thin layer of air being blown where the yellow strip is. It's strong enough to temporarily reshape the skin on your hands. 19:05:36 It does not seem to justify /as I type/. 19:05:38 if this is a reference to the Dyson Airblade, it doesn't work very well 19:05:44 Oh, I don't have auto fill mode. 19:05:49 ais523: it is 19:05:54 New programming game to be release shortly: http://phonons.wordpress.com/2010/06/01/cells-a-massively-multi-agent-python-programming-game/ 19:06:00 all the new handdriers at the university are that model 19:06:20 but they never seem to really leave my hands dry, unlike the old-fashioned sort which did after a few minutes 19:06:35 someone ought to just invent a self-cleaning towel 19:06:50 -!- vuvuzello has joined. 19:06:51 Airblade never dried my hands properly. 19:06:56 enriched-mode sucks, it can't hyphenate 19:10:13 yep, it's far from ideal 19:10:25 hmm, someone should write a curses implementation of LyX 19:10:35 ais523, ouch 19:10:41 AnMaster: why ouch? 19:10:42 LyX's typesetting is piss-poor. 19:10:49 It only looks good after sending off to LaTeX. 19:10:49 alise: yes, wouldn't be hard to do better 19:10:55 Okay, full list of problems with enriched-mode: 19:10:56 it's good enough to tell what you're doing, though 19:11:05 - It justifies without hyphenation. This is a cardinal sin. 19:11:15 - It can't do nice quotes. 19:12:23 hmm, this reminds me, I own a book about compiler design which appears to have been typeset using troff 19:12:33 When on odd hills I ate corn bread, it was okay to see what the guy who supercalifragilisticexpialidociously antidisestablishmentarianismed up my worldview. 19:12:39 Ouch, enriched-mode. Ouch. 19:12:51 that said, it gives examples in BCPL, so must be pretty old 19:12:55 LyX's typesetting is piss-poor. It only looks good after sending off to LaTeX. <-- isn't that the POINT of it? 19:13:00 with occasional mentions of Pascal and Cobol 19:13:00 ais523: groff actually typesets pretty well nowadays 19:13:01 sending it off to latex I mean 19:13:09 AnMaster: it would be better if it set well beforehand, though 19:13:16 AnMaster: Yes, but e.g. TeXmacs, though it has a bad interface, typesets as well as TeX in real-time. 19:13:22 AnMaster: it would be better if it set well beforehand, though 19:13:31 ais523, well maybe, I find that using a sans serif on screen when editing works better 19:13:41 'twould make it easier to edit, even though the final product would be the same 19:14:11 hmm, I find that with a high enough resolution, serifs make text readable when smaller 19:14:17 and well, I really like lyx "concentrate on actual content rather than design" paradigm. You do design fixup as the last thing before sending it to press/printing it/whatever 19:14:22 Huh, I just realised that there is no standard modern UNIX tool for text jusitication. 19:14:24 hmm, I find that with a high enough resolution, serifs make text readable when smaller assuming a good enough resolution 19:14:33 AnMaster: typography is not design. 19:14:33 ais523, yeah but I can't afford such a high res desktop monitor 19:14:40 alise: *roff and TeX are enough, surely? 19:14:41 alise, IMO it is 19:14:41 Typography is about readability, which is certainly important when editing. 19:14:43 depending on what you're trying to do? 19:14:46 ais523: I mean plain text. 19:14:52 alise, yes and that is why you use a sans serif when editing 19:14:57 alise: *roff does plain text 19:15:01 pretty well, too 19:15:05 it isn't WYSIWYG. They never claimed that 19:15:07 AnMaster: I'm not interested in talking to you. You're as much a zealot as I used to be nowadays. 19:15:11 use texmacs if you want that 19:15:18 ais523: sure, but... 19:15:23 ais523: one tool for one job? I know it's dead, but still. 19:15:25 We have fmt(1). 19:15:29 alise, /used to/still am/ ;P 19:15:30 So why not just(1)? 19:15:43 I am much less of a zealot than I used to be. 19:15:55 alise: except it's a pretty complicated job, fmt can't really deal with things like characters not in the character set, embedded images, etc 19:16:06 ais523: what has that got to do with justifying text? 19:16:11 you need quite a complicated tool to do typesetting correctly 19:16:20 alise: quite a lot 19:16:27 you can't typeset text unless you know the width to typeset it in 19:16:31 and the lengths of the characters 19:16:37 ais523: monospaced justification, foo 19:16:45 one char = one width 19:16:50 even monospaced, you need to know the widths of the characters 19:16:53 which are not always 1 each 19:17:01 alise, what about floats that should float to the margin? TeX has those as well 19:17:03 think about tabs, combining characters, etc 19:17:03 ais523: they can be assumed to be so in a unix environment. 19:17:05 I am certain that original UNIX had a justification command. 19:17:08 can't see fmt doing it 19:17:11 Dude, I don't want this as a component of a larger typesetting system. 19:17:27 Are you seriously arguing that it is nigh-on impossible for a program to exist that justifies monospaced text to a specified width?! 19:17:44 alise, well it would have to be aware of the float placement to give optimal results for line hyphenation, no? 19:17:54 alise, oh monospaced? 19:17:57 hm 19:17:58 hey today's mezzacotta comic actually makes sense (sort of) 19:17:58 Not if there are no floats because THIS IS NOT PART OF A LARGER TYPESETTING SYSTEM. 19:18:12 oerjan: people still read mezzacotta? 19:18:14 alise, if you mean those extra spaces in man pages on some lines I find them ugly 19:18:14 hmm, I must look at this 19:18:21 Just like fmt formats monospaced text ragged-right, you could easily write a progam to format text justified and hyphenated. 19:18:48 AnMaster: roff also hyphenates 19:18:49 (man is roff) 19:18:57 ais523: well i do, because i use that page as my "mezzacotta/iwc/d&d portal" 19:19:07 alise, true 19:19:14 alise, but only for English iirc? 19:19:22 or does it support rules for different languages? 19:19:29 dunno, who cares 19:19:31 I'd be surprised if groff at least didn't have international support 19:19:32 ... 19:19:37 anyway the main thing for me is proper quotes really 19:19:46 i guess i could just use smartypants 19:19:56 alise: actually, international language support is one of the direct causes of the growth of OSS 19:19:59 roff doesn't use any fancy hyphenation algorithm afaik 19:20:01 dunno about new groff 19:20:07 alise, "proper quotes" is very English specific 19:20:10 in that it's swayed many national governments who can't get a copy of Windows for the language they wany 19:20:11 just the typical "can't fit it? Oh well, put a hyphen in there". 19:20:12 *want 19:20:17 AnMaster: FOR FUCKING FUCK'S SAKE, I'M WRITING IN ENGLISH! 19:20:25 Swedish use the English "start quotes" both at the start and the end for example 19:20:33 and Spanish (iirc) use upside down ones 19:20:40 and French «quotes like this» 19:20:40 It uses end quotes, actually. 19:20:44 Unless I misremember. 19:20:47 alise, sure but the tool should support several languages 19:20:52 Anyway, no shit, I want a tool for ENGLISH TEXT. 19:20:55 No it fucking shouldn't! 19:20:57 -!- oerjan has quit (Quit: Later). 19:20:58 ... 19:21:15 AnMaster: alise: you're arguing different arguments here 19:21:17 I want to type "abc" and get “abc”, I really did not sign up for your overengineering class. 19:21:17 what do you have against non English people? 19:21:24 Oh my fucking god you are retarded. 19:21:24 alise wants a tool that exists right now for something that she wants to do 19:21:36 and AnMaster wants a tool that doesn't exist yet that would solve these sorts of problems in the future 19:21:42 so AnMaster clearly wants something rather more general 19:21:50 yes, and I don't see the issue with this 19:21:52 I have nothing against foreign people apart from Swedes, who have a member so stupid that all the contributions of other Swedes are instantly wiped out. 19:22:15 alise, olsner isn't that bad 19:22:19 if you two could agree on what you were debating about, perhaps you'd have a chance at agreeing on something 19:22:27 Oh, the comedian. 19:22:30 ais523, good point 19:22:46 I don't think what I'm talking about is ever unclear, as AnMaster is the only person who ever wildly misinterprets it 19:22:51 I suspect it is intentional. 19:23:06 -!- impomatic has left (?). 19:23:19 alise: actually, I don't think it is; AnMaster tends to jump to an interpretation once and then stubbonly hold onto it despite anything that happens in the conversation 19:23:23 which is a different phenomenon 19:23:32 alise, and why are we not allowed to let the discussion float freely and extend it in some direction? is this some sort of strictly controlled debate in TV? 19:23:33 Whatever it is it's irritating. 19:23:50 AnMaster: one thing that's necessary to have a discussion is someone else who wants to discuss on that subject 19:24:00 AnMaster: you will note that everyone else in here has a freely flowing discussion /apart/ from you 19:24:04 ais523, well yes, but alise doesn't seem to be very good at that either 19:24:04 who is continually held up on one interpretation 19:24:06 and argues it to the death 19:24:13 actually that's a lie, you won't note it ... 19:24:24 alise, I have a freely flowing discussion with everyone but you though 19:24:32 ha 19:24:33 so I would argue the problem isn't on my end 19:24:51 the amount of times i've read a log where oerjan, oklopol or even ais523 just give up and resort to facepalming when talking to you... 19:25:03 no, it is mostly you 19:25:07 don't bother answering, I know what -- 19:25:11 yeah, how did I possibly guess 19:25:11 okay, for jokes I agree 19:25:13 sigh 19:25:21 that it may be true, but not in general 19:25:30 if anyone wants to talk to me they can /msg me or something, this is a waste of time when nobody else is talking 19:25:31 -!- alise has left (?). 19:30:49 -!- vuvuzello has changed nick to lament. 19:33:09 -!- zzo38 has quit (Quit: Stop. Drive Sideways. Hammer Time.). 19:36:49 -!- zzo38 has joined. 19:36:59 I am glad I fixed it by now! 19:38:28 Now I have to implement SUMMONTYPE_FORWARD,SUMMONTYPE_LOGIN,SUMMONTYPE_SENDTOTTY but I am unsure how to implement those 19:39:28 And I should document these features so that other people can use them. 19:42:55 Do you know where I can get help with these things? 19:53:14 I'm afraid not 19:53:30 are there any channels more closely related to what you're trying to do? 19:55:06 -!- augur has quit (Remote host closed the connection). 20:06:31 ais523: I don't know. That is why I ask? 20:06:40 I don't know either 20:06:51 I'm suggesting various lines of thought you might want to take 20:14:43 -!- alise has joined. 20:15:01 does anyone know of an interpreter for some high-level-ish language with very few system dependencies? 20:15:10 i.e. plain C that doesn't use many standard library functions 20:15:27 perhaps lua? 20:16:05 -!- zzo38 has set topic: Riichi. Kan. Ron. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 20:16:36 ais523? I ask you specifically merely because you know things :P 20:17:03 ais523: btw, I got it booting into the chroot, but for some reason making getty run not /sbin/login but a script that calls clear and then exec login ... makes it show the username screen, but hang indefinitely after entering username 20:17:04 or perhaps 20:17:05 getty & 20:17:06 getty & 20:17:06 I have a lua interp installed, no idea how many dependencies it has 20:17:14 while true; do sleep (nearly forever); done 20:17:17 made them hang 20:17:18 go figure 20:17:20 anyway, it broke. 20:17:28 but I think it's deliberately kept free of dependencies 20:17:32 and ouch, is it unfixable? 20:19:12 it's fixable by process of "send back to manufacturer and hope they don't try and turn it on, or if they do assume they're oblivious to the fact that the default getty welcome message isn't there (which is likely, they're not going to have their tech team on every case)" 20:19:18 like i did last time, except there was no login screen that time 20:20:04 ais523: basically I just want an interp, any interp, to play about with an OS-that-is-almost-entirely-written-in-a-high-level-language 20:20:34 Maybe you should write your own high-level-language for that purpose? 20:20:44 Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio 20:20:48 I am going to, but I'd like to prototype somethin with some other language, first. 20:20:49 Simpler. 20:21:45 I think I'm using the official Lua interp 20:22:22 -!- BeholdMyGlory has joined. 20:24:12 Video = {} 20:24:12 Video:Start = 0xB8000 20:24:12 function Video:Put(x, y, col, chr) 20:24:12 addr = Video:Start + (y * 80) + x 20:24:12 poke(addr, chr) 20:24:13 poke(addr+1, col) 20:24:15 end 20:24:17 or something 20:28:23 alise, you should have left one getty outside the thing 20:28:27 or something 20:28:36 yeah i just didn't think to 20:28:37 and having X available 20:31:13 no x installed 20:33:34 I meant on host 20:33:52 on host? 20:34:22 er yeah outside the chroot 20:34:53 or did you remove that? 20:35:00 So I wrote a general-purpose C-library generational garbage collector in 340 lines of C :P 20:35:14 Gregor nice. 20:35:39 I haven't even gotten it to crash yet, with (limited) testing. 20:35:41 Gregor, does it support there being memory it doesn't manage? 20:36:00 I always found that a bit tricky with boehm-gc if you interface external libraries that does allocation 20:36:05 such as most GUI stuff 20:36:41 It has all the same issues that Boehm does, compounded by the fact that there is now a strict line between "types allocated by GGGGC" and "types allocated by users", so you can't just malloc() one of your own things. 20:37:04 GGGGC? 20:37:07 what does it stand for 20:37:09 That's the name of it. 20:37:17 Gregor's General-purpose Generational Garbage Collector 20:37:25 Gregor: the C is ugly 20:37:28 make it a g 20:37:29 (The reason for the line is that it's non-conservative and requires write-barriers to maintain cross-generation writes) 20:37:35 garbage ... some synonym of collector starting with a g 20:37:36 alise: I couldn't think of a way to :P 20:37:37 alise, XD 20:37:45 Grabber 20:37:46 I think these rules are flawed http://safalra.com/other/mahjong-rules/ 20:37:48 instead of collector 20:37:57 alise: Except that they're not called Garbage Grabbers :P 20:38:01 OHYEAH ALSO 20:38:04 They are now 20:38:10 Unrelated: alise: What does the word "litter" mean to you? 20:38:20 call it G5 for short 20:38:23 Gregor, so it will make interfacing a lot of libraries a pain 20:38:38 Gregor, stuff like ncurses and so on all malloc stuff 20:38:48 heck even some glibc functions do 20:38:51 Gregor: Two things; cat/other animal litter, which said animals poop in, and rubbish/crap, except with a connotation of being dropped carelessly, such as out of a car or on the street. 20:38:53 AnMaster: Well, malloc still works and all, it's just cross-library pointers that are obnoxious. 20:38:55 Thus, littering. 20:38:56 Why? 20:39:04 It's mainly the latter one, though. 20:39:07 Dunno why I put the first one first. 20:39:32 Gregor, hm 20:39:42 Gregor, can't see why 20:39:42 alise: In Canada, litter is strictly a synonym with garbage/rubbish/trash. The trash cans say "litter" on them. I found that ultra-confusing since that's totally not litter when you put it in the bin :P 20:40:04 AnMaster: You have to declare any pointers from non-managed code to managed code, since it's not conservative. 20:40:10 Gregor: I've never heard of that; litter is definitely not a synonym for garbage out here (Alberta) 20:40:19 coppro: CONFUSED. 20:40:23 OK, in Toronto then :P 20:40:29 Gregor, ah 20:40:31 Confirmed by Torontonian guy I know. 20:40:42 well, it's Toronto 20:40:45 AnMaster: s/code/data/ there obviously. 20:40:59 Gregor, so any static variables are not handled? 20:41:08 iirc boehm auto add those 20:41:29 AnMaster: Boehm doesn't auto-add them, it scans your entire static space and conservatively guesses what might be pointers. 20:42:00 AnMaster: A non-conservative collector has the advantage of being fast, and the disadvantage that you have to declare ALL pointers from non-managed to managed space (that includes the stack!) 20:42:38 Note: GGGGC is meant to be used by a VM, not random-program-wanting-GC-X ;) 20:42:54 Liberal collectors ftw. 20:43:04 Gregor, yeah I meant it auto adds the .bss and .data to the area to scan for pointers 20:43:06 Admittedly it requires a lot of bookkeeping in e.g., C, but then so does C code in general. 20:43:22 alise: And it's well worth it. 20:43:29 Gregor, sorry if it wasn't clear 20:43:41 Gregor: So your collector is liberal? Good. 20:44:20 Gregor, so does it need to know what is pointers and what is data in managed space? 20:44:37 AnMaster: Yes and no. You need to declare your managed types with a special macro to tell it. 20:45:07 But then you don't need to explicitly declare pointers later, since it knows your types. 20:45:47 Gregor: Plof! 20:45:54 alise: Why, what a wonderful idea! ;) 20:46:03 Holy shit, Plof's new website has the worst colours I have ever experienced! 20:46:05 Are you colour blind! 20:46:08 Gregor, hm 20:46:12 My eyes runneth over... with BLOOD! 20:46:21 AnMaster: The point is that if you want conservative collection to make your life easier, you use Boehm. If you are willing to take on an extra burden of bookkeeping, you'll get a speed boost. 20:46:22 Gregor: Ha ha, I see you finally adopted my ideas of dropping parens from function calls and also semicolons. 20:46:23 Gregor, doesn't it need to know what allocation is what type? 20:46:25 alise: WHY THANK YOU. 20:46:29 Gregor: This is because I am a genius. 20:46:41 alise: Yes. I believe that was on the order of days after you suggested them. 20:46:49 Well, yes, but you actually implemented it. 20:46:53 Yes. 20:46:54 Gregor, link btw? didn't see any 20:47:03 AnMaster: http://codu.org/projects/ggggc/ 20:47:11 thanks 20:47:23 All the major restrictions are written out there. 20:47:32 I wonder what would happen if we banned alise from thinking about Haskell for a month 20:47:44 coppro: Do I think about Haskell a lot? Not really, these days. 20:47:52 coppro: He would think about ML a lot? :P 20:47:56 Gregor, where is the dropped parens stuff? 20:48:11 AnMaster: http://plof.codu.org/ :P 20:48:15 Gregor, oh misread then 20:48:21 Prepare for AnMaster to complain about them. 20:48:33 Gregor, thought you were doing some insane macro hack in C to avoid () in function calls XD 20:48:34 Gregor: A gripe with the specification: you have the header of a table as the last thing on a page, before all the rows. 20:48:47 Prepare for AnMaster to complain about them. <-- about what? 20:48:49 There may be some TeX variable to tweak to set this to be really-bad, but I'd just insert an explicit page break beforehand. 20:48:55 AnMaster: the lack of parens 20:49:00 alise, why should I? 20:49:04 it is quite nice... 20:49:06 I thought you'd hate it. 20:49:14 alise, this isn't lisp! 20:49:29 alise: Feh, sometimes LaTeX doesn't play nice >_> 20:49:31 alise, anyway, lots of languages do it without parens 20:49:34 Gregor: BTW, I assume you have that "foo.bar" is the function-pointer to foo.bar, i.e. you need to do "foo.bar()" for that one case? 20:49:41 If not, what is the fnptr syntax? &foo.bar? 20:49:42 alise: I'm actually a little bit surprised that it doesn't do that automatically. 20:49:53 alise: 'fraid you do need () for that, yeah. 20:49:55 Well, it's LaTeX. TeX is obsessively tuned, LaTeX not so much. 20:50:10 alise: The reason is I have no types, so it has no idea whether x.y is a function or just a field. 20:50:29 Gregor, dynamically typed 20:50:29 ? 20:50:39 Even that's pushing it X-D 20:50:50 Gregor: You could have that if a method name ends in ?, then "foo.bar?" is "foo.bar? ()". 20:50:54 Gregor: That's a kludge, but meh. 20:51:00 Gregor, ah, worse than bash? 20:51:00 Gregor: It would mean that you could do things like 20:51:03 if frobs.nicated? 20:51:05 instead of the awful 20:51:12 if frobs.are_nicated () 20:51:24 alise, very lispy 20:51:54 Yes, but its use in an OOP language is borrowed from Ruby. A generally awful language, but there you go; it's one nice point about it. 20:52:04 mhm 20:52:12 NEED LUNCH 20:52:13 Bye 20:52:24 Gregor: Also, if you want to go even further with the Ruby ^W Scheme influence, you can have foo.bar! for mutating things too :P 20:52:28 alise, I heard it was ruby on rails that was bad, not ruby as such? But I guess that is just comparatively speaking? 20:52:41 AnMaster: Ruby on Rails is indeed awful. Ruby isn't an awful language, okay, compared to current ones. 20:52:45 Just compared to the ideal, it's awful. 20:52:56 ah 20:53:02 Really, no matter what metric you use, as long as it isn't totally retarded, Ruby will definitely be placed not far below Python. 20:53:09 (Note: Python zealot metric is considered totally retarded.) 20:53:18 At the most it'll be somewhere above Python. 20:53:33 python on parachutes 20:53:37 should like totally be done 20:54:25 python on grails 20:54:35 Grails actually exists, for Groovy. 20:54:39 coppro, not an alliteration 20:54:56 TeX on Trams 20:54:58 alise, groovy? *sounds familiar, slightly* 20:55:06 groovy is one of those jvm languages. 20:55:06 C on Catamarans? 20:55:10 alise, ah 20:55:13 C on Caterpults 20:55:14 but it's perfect for python 20:55:18 (TECO on Trams also) 20:55:25 Verilog on Vespas 20:55:31 VHDL too? 20:55:37 ELISP on? 20:55:38 sure :P 20:55:43 Lisp on Locomotives 20:55:47 alise, and elisp? 20:55:59 dunno 20:56:01 hm 20:56:02 http://www.coboloncogs.org/INDEX.HTM 20:56:04 assembler? 20:56:14 Assembly on Aeroplanes 20:56:15 assembler on asses! 20:56:17 ah 20:56:31 nice link 20:56:45 is it actually more than a joke page? 20:56:52 no 20:57:00 *phew* 20:57:19 Eiffel on ... ? 20:57:30 uh 20:57:52 electric cars? 20:57:53 nah 20:57:57 must be one word 20:58:13 alise, D on? 20:58:23 D on Dromedaries 20:58:26 XD 20:58:34 Haskell on ... 20:58:38 hogs? 20:58:43 XD 20:58:43 nah 20:58:56 APL on Arks 20:59:06 alise, J on? 20:59:17 ... don't ask me! 20:59:26 hm 20:59:38 what else is there 20:59:49 ML on? 20:59:59 ML on Mexican Slaves 21:00:04 XD 21:00:34 alise, smalltalk on? 21:00:40 ¯\(°_o)/¯ 21:00:42 Sex Robots? 21:00:45 haha 21:00:52 I think we are moving away from the area now 21:01:00 err, doesn't matter though 21:01:05 alise, okay Forth on? 21:01:24 I can't think of anything funny for it 21:01:49 Forth on ... Flatulence 21:02:01 mhm 21:02:40 alise, oh wait for D, dirigibles is better than dromedaries 21:02:57 Z notation on Zeppelins 21:03:06 Z notation? 21:03:10 what was that now again 21:03:15 rings a bell, somewhere 21:03:36 Dijkstra's formalised ZFC+lambda calculus definition language thing. 21:03:39 ah 21:03:40 alise, BankStar on bunnies? 21:03:50 BancStar on Busoms 21:03:57 busoms? 21:04:08 even aspell with webster doesn't know it 21:04:32 alise, could be busses though 21:05:05 *Bosoms 21:05:05 INTERCAL on ...? 21:05:05 Typo. 21:05:09 hm 21:05:13 intercity trains? 21:05:32 INTERCAL on Imagery 21:05:35 i dunno :P 21:05:38 obviously using ruby on rail gauge 21:05:47 which brings us to a full circle or something 21:07:44 alise, befunge on boats 21:07:47 any language on L? 21:07:51 except for lisp 21:08:30 need something for lorries and something for llamas 21:08:36 (spelling for latter?) 21:09:43 brb 21:10:00 alise, to fetch the llama? 21:14:13 -!- pikhq has joined. 21:22:54 -!- coppro has quit (Read error: Connection reset by peer). 21:24:36 -!- coppro has joined. 21:26:20 -!- CakeProphet has joined. 21:26:48 Deewiant: you around? 21:27:05 or anyone who knows anything about "OTP design principles" 21:27:12 try AnMaster (ha) 21:28:43 I'm around but I don't know anything about them 21:29:38 AnMaster: do /you/ know anything about OTP design principles? 21:29:55 I'm wondering if I need to actually care about them in order to reap the benefits of hot swappable code. 21:30:28 and if so, whether or not every process needs to implement a behavior or if I can just use proc_tools 21:32:35 CakeProphet, I know about them. One branch of efunge uses it (not trunk). But you can get the hot swappable code otherwise too. It is just that it is easier with using the OTP stuff 21:32:57 however, I recommend that ebook I mentioned. it has a lot on that, and isn't heading for bed 21:33:12 of course I could know where you could find one for free. But that wouldn't be legal 21:33:19 AnMaster: That's the second funniest thing you've ever said 21:33:21 Not the second-funniest 21:33:28 But the second (funny thing) 21:33:34 I guess I should have said *funny. 21:33:41 ("and isn't heading for bed") 21:36:04 CakeProphet, if not doing OTP (not even custom OTP process) then the basic idea is that calls without the module name to your own module always refer to the same version of that module. But if it has module name then it will always refer to the newest 21:36:17 so calling the main loop of the new one with full module name would be how you switch over 21:36:32 ais523: could you rate an idea on the scale of 0 to 10? 21:36:34 hmmm... I might use some of OTP anyways. supervisor looks useful. 21:36:44 CakeProphet, gen_server is very useful I find 21:36:52 alise: depends on what sort of idea it is 21:36:57 from what I understand I have to use proc_tools to spawn processes that use OTP? 21:36:57 CakeProphet, iirc there is some nice google talk presentation on erlang 21:37:05 or whatever they call(ed?) them 21:37:49 CakeProphet, well, with OTP you use stuff like gen_server:start_link or such in general to start them 21:38:17 CakeProphet, also don't you mean proc_lib? 21:38:19 ais523: To publish a half-web-newspaper, half-web-magazine in both webpage and TeX (along with various outputs of TeX) formats, on some sort of regular basis, on the topics of programming language, operating systems and user interfaces research, and also general #esoteric-esque topics, tentatively titled The Untitled Document. 21:38:37 With diverse contributions thusly from various peoplefolk. 21:38:51 alise, ambitious 21:38:53 alise: it's a good idea if you can get the regular contributions in 21:39:00 AnMaster: that's not terribly ambitious 21:39:00 but it seems vaguely unlikely that that would happen 21:39:16 yes, getting people to write for it 21:39:16 "Write some stuff, get other people to write some stuff, do this on a semi-regular type basis, then put it on the internet" 21:39:33 Meh, I'll just use a bunch of Mexican slaves 21:39:44 CakeProphet, anyway proc_lib is for when not using standard OTP behaviours like gen_server or gen_fsm 21:39:50 CakeProphet, which I used exactly once 21:39:50 It would also contain links to interestingish stuff too, so I could just pad the thing out with them :P 21:40:02 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 21:40:20 CakeProphet, gen_server is in general very nice, it was just something that needed running 100% of the time (the main befunge threads) that used custom OTP process 21:41:35 gen_server is kind of event driven. As in, in the natural state it waits for a message and then runs the callback code 21:41:48 sure you can set a timeout of 0, but that is rather hackish 21:41:55 haha -- classic quote from Programming Perl (ais523 might enjoy this), at the bottom of a summary of scalars and "Is a name for": 21:42:10 Typeglob * [Example] *struck [Is a name for:] Everything named struck 21:42:35 AnMaster: hmmm... so when writing code that can be hotswapped I need to prefix all function calls with ?MODULE?... that doesn't sound right. 21:43:05 oh... just the "main loop" one. 21:43:11 CakeProphet, no, only the switchover place. In general you don't want to switch anywhere in a module. Rather something like sending a message "switch now" 21:43:11 alise: heh 21:43:13 the point where the change should happen 21:43:14 aaaaah 21:43:15 to make it "controlled" 21:43:15 got it. 21:43:39 so when would this message be sent? 21:43:49 by me? 21:43:53 the programmer? in a shell? 21:43:55 reminds me of the way that in the SCO vs. Novell litigation, you can tell whether all the lawyers and judges think of SCO as one word or three, by looking to see whether they put "a" or "an" before phrases starting with "SCO" 21:44:09 CakeProphet, well, depends. OTP kind of solves this for you ;P 21:44:12 amongst other things 21:44:21 ah... so that's why it's easier to use OTP. 21:44:46 ais523: "An SCO", definitely. 21:44:47 Ess cee oh. 21:44:50 I could see myself using gen_server and supervisor... so I guess I'll go ahead and put the effort into learning how it works. 21:45:01 CakeProphet, one of several reasons. It handles some corner cases with calls between processes where one dies during the call and such in a graceful way too. Something that could be tricky to get right 21:45:03 alise: that's how I do it too 21:45:10 at least without experience 21:45:11 ais523: because there are two companies of note: the Santa Cruz Operation and The SCO Group. 21:45:19 (differing capitalisation of "the" intentional) 21:45:23 yes 21:45:33 does "The SCO Group" even officially expand to "The Santa Cruz Operation Group"? I doubt it 21:45:48 indeed not 21:45:49 CakeProphet, so do you want that ebook? 21:46:02 CakeProphet, the stuff about the strict type checking is *way* outdated in it though 21:46:06 but nice in other places 21:46:10 ais523: really, if I was doing this from the start I would call them, say, TSG and Santa Cruz to disambiguate. 21:46:19 yep 21:46:29 I've seen oldSCO vs. tSCOg on Groklaw 21:46:34 which are pretty unambiguous 21:46:42 AnMaster: I'll look at it. Something that explains std libraries and OTP well would be beneficial... but I understand the language basics. 21:46:47 ais523: SCOld 21:46:56 CakeProphet, well okay *fiddles with DCC* 21:47:02 ais523: groklaw appears to think that SCO cannot possibly do anything now, but you said they could make a ridiculous appeal 21:47:03 who's right? 21:47:14 alise: groklaw think they could do a ridiculous appeal too 21:47:17 OK 21:47:18 they just think it has no chance of succeeding 21:47:24 and I'm inclined to agree 21:47:24 ais523: I bet they will, though, just to drag this on 21:47:34 they can still drag it on indefinitely at this point, right? 21:47:38 they have nothing to lose, they paid the lawyers in advance 21:47:45 also, AnMaster is wondering if there is a limit on appeals, and if they can make it reach the Supreme Court 21:47:50 ais523: haha, wow, really? 21:47:54 most underpaid lawyers ever 21:47:58 yes, the lawyers have been losing money for years 21:48:01 AnMaster: I'm not sure if I know how to use DCC in this client. I'll read some helpfiles. 21:48:02 although I guess they were paid to just write fun bullshit for 7 years 21:48:06 which is, you know, not a bad job 21:48:13 PJ apparently /hopes/ they appeal, just to financially punish their lawyers further 21:48:25 also, AnMaster is wondering if there is a limit on appeals, and if they can make it reach the Supreme Court 21:48:54 and in theory it could be appealed up to the level below the supremes 21:49:07 let's hope that happens :) 21:49:09 the supremes themselves would have to accept the appeal for it to happen, and there surely isn't a hope in hell of that happening 21:49:10 hm 21:49:13 * AnMaster prods router 21:49:16 AnMaster: so in using OTP... would it also be a good idea to use all the application/release file stuff? Is that actually how it helps you with hotswapping? 21:49:24 Novell did appeal SCO's appeal to the supremes, though 21:49:34 so it may end up there in any case, via a different method 21:49:38 So, spreadsheets are interesting pieces of software. 21:50:13 CakeProphet, does it work? 21:50:42 CakeProphet, *prod* 21:51:09 says it can't connect 21:51:11 CakeProphet, well the application release stuff is supposed to help with hot swapping in an enterprise environment I think. 21:51:14 CakeProphet, strange. 21:51:51 I might utilize if it actually becomes an open source project or something... but I doubt that will happen. 21:52:07 ais523: awesome 21:52:20 ais523: how much money does SCO not have by now? 21:52:28 nobody knows, except presumably SCO 21:52:36 they're several months behind on their mandatory financial statements 21:52:45 and even the ones they have released don't make a whole lot of sense 21:52:53 CakeProphet, I haven't tried hot swaping code in befunge yet. So who knows. it should work though. And release thing will help for upgrading "production" systems 21:53:04 should be possible without it during development, but never tried 21:53:04 AnMaster: what about the application resource file? Is that how I would create portable binaries? 21:53:25 ais523: do they actually have money, though? 21:53:37 they got a loan a while back 21:53:38 CakeProphet, you won't get rid of the vm if that is what you mean. Why should you? You can created scaled down erlang stuff with just the parts needed 21:53:41 from a former board member 21:53:46 so probably, although they're running through it pretty quickly 21:53:50 what kind of idiot would loan SCO money? 21:53:52 AnMaster: also, you could try DCC again. 21:53:56 CakeProphet, kay 21:54:03 alise: the terms of the loan said that if SCO defaults, he gets everything they own 21:54:04 AnMaster: Portable in the sense that it packages the VM with it 21:54:15 you know what upsets me? a bunch of the companies that existed before tSCOg were cool 21:54:29 so the theory is that they're planning to divert the money to various insiders, then default and get all the rest of the money to insiders too 21:54:31 wasn't it caldera that released a bunch of the unix source iirc? 21:54:35 and the board member gets his money back that way 21:54:37 AnMaster: yeah, doesn't work. I assume I'm doing the right thing by just doing DCC GET 21:54:41 In 2002, Caldera joined with SuSE Linux, Turbolinux and Conectiva to form United Linux in an attempt to standardize Linux distributions.[16] Later that year, CEO Ransom Love left the company and was replaced by Darl McBride, and the company changed its name to The SCO Group. 21:54:47 CakeProphet, don't know what client you have 21:54:52 irssi 21:54:58 command-line client 21:55:01 CakeProphet, I switched to xchat for this since ERC doesn't do DCC 21:55:08 and I double checked all settings 21:55:13 long live bouncers 21:55:16 community/mailx-heirloom 12.4-3 21:55:16 MUA command line tool (mailx) 21:55:16 aur/heirloom-doctools 061114-1 (4) 21:55:16 The Heirloom Documentation Tools consist of a modern roff suite. 21:55:16 aur/heirloom-sh 050706-2 (1) 21:55:17 Traditional sh [jsh(1)], derived from OpenSolaris code. 21:55:22 Not as comprehensive as I'd like... 21:55:24 and I'm sure it should not interfere with things 21:55:44 CakeProphet, and yeah I know nothing about dcc in irssi 21:56:09 try one more time. I turned auto-get on just to see if it makes any difference. 21:56:32 CakeProphet, now? 21:56:40 lolnope 21:56:59 I love how file transfer protocols inside messaging protocols never work. 21:57:07 [[The distribution contains a script to convert OpenDocument files to troff input. This allows troff to act as typesetting application in a production scheme where authors hand in office documents.]] 21:57:12 Interesting the mix of old & new contained in Heirloom. 21:57:37 CakeProphet, hm got any other way to send it? I don't like the idea of putting it up anywhere, apart from not having a host for it 21:58:37 for large files I usually use yousendit.com 21:58:52 CakeProphet, this isn't something I want to put anywhere public 21:59:02 well it's not technically publically releasing 21:59:06 it's specifically for sending to one person 21:59:11 but 21:59:15 CakeProphet, also site times out for me 21:59:17 it /can/ be accessed by a link 21:59:20 filebin.ca 21:59:30 randomised filenames, so 21:59:31 alise, see about public... 21:59:38 AnMaster: /msg the url then 21:59:47 CakeProphet, set up an ftp server? 21:59:51 or ssh shell 21:59:54 for scping it 21:59:56 it's not like the apache logs will reveal anything more than a probably-changed-by-the-time-some-crazy-law-enforcement-catches-up-with-you IP 21:59:58 ok i give up 22:00:04 (locked down to only do file transfer) 22:00:09 CakeProphet: get it elsewhere, AnMaster will have you setting up a paranoia-ready system which will take years 22:00:24 CakeProphet, you saw the filename at least? 22:00:37 AnMaster: to be honest I have never had a need to do that before and thus don't know how. 22:00:41 yes. 22:01:22 I got it in 2007. Found it lying on a cd in a _bay_. Very water resistant I guess.. 22:01:43 yousendit.com works for me btw. Basically what you do is you upload the file and then it emails me a link to it. The link is garbled so it's not really "public"... though technically it is. 22:01:45 unlikely to still be there 22:01:55 CakeProphet, hm. 22:02:04 dunno why it would be timing out 22:02:07 * CakeProphet just accessed it. 22:02:18 CakeProphet, seems to be redirecting to itself now 22:02:51 well I need to sleep. sorry. Try finding that ebook elsehwhere. Otherwise I will be around tomorrow (European time) for trying again 22:03:28 alrighty/ 22:05:47 I once attempted to write a Python MUD server that would have been ridiculous had I ever completed all the ridiculous and unnecessary features. 22:06:56 In particular... I got it to a point where I could serialize everything to a file, and dynamically edit the source code of functions and recompile them. 22:07:16 so it would have been like MOO in Python. 22:13:20 ``abc'' 22:13:28 No output. 22:13:46 -!- kar8nga has joined. 22:15:58 ais523: the intercal documentation is texinfo, right? 22:16:07 yes 22:16:11 well, the new documentation 22:16:15 the old documentation's *roff 22:16:22 " Your IP address, 91.105.125.91, has been recorded as possibly belonging to a spammer, robot, or some such abomination. If you wish to confirm that you are not a human being, please go to this page where you will be added to our blacklists. Thank you." 22:16:24 with vague attempts to make it work with more than one implementation 22:16:25 *"Your 22:16:30 I hope that doesn't do anything unless I click that link :-) 22:16:38 ais523: presumably ugly *roff, too 22:16:49 it's not awful, but it's not perfect either 22:16:52 "# Download C-INTERCAL via gopher (IPv6 only)." 22:16:59 You made my dream a reality! Or at least, CLC did. 22:17:45 ais523: bug report 22:17:46 http://c.intercal.org.uk/manual/io61sroi.htm#convickt 22:17:52 `...' quotes are not being converted 22:17:53 No output. 22:17:55 or is that everywhere? 22:17:58 if so, get that fixed! 22:18:19 Next time you have to figure out the way to write the INTERCAL documentation in INTERCAL?? 22:18:22 alise: if it's being output as text, texinfo does indeed output as `...' 22:18:30 it's HTML 22:18:33 zzo38: ouc 22:18:35 *ouch 22:18:41 alise: in HTML too IIRC, its HTML output isn't very good 22:18:47 ais523: remember when I tried to spec up that semantic documentation format? 22:18:52 zzo38: the CLC-INTERCAL licence agreement used to require compilation 22:19:05 but it triggered all sorts of deep recursion errors, and in the end became unmaintainable 22:19:56 ais523: you invented OIL, didn't you? 22:20:07 yes 22:20:16 ais523: you're crazy 22:20:29 the optimiser was getting unmaintainable 22:20:32 -!- augur has joined. 22:20:39 it's easier to maintain the DSL for writing optimisers in, plus an optimiser written in it 22:20:43 than it was to maintain the old hardcoded mess 22:21:01 try reading the output of compiled OIL some time; the C source used to look much like that, with more meaningful variable names 22:25:17 http://upload.wikimedia.org/wikipedia/commons/4/48/Openbsd37withjwm.png 22:25:22 So you were looking for an easy system to illegally access? 22:26:54 * alise recalls when he ran Windows 95 for a few days in a fullscreen VM 22:27:02 iirc someone mentioned it recently 22:27:05 probably ais523 remembers it 22:27:17 I do 22:28:21 do you remember what I thought of it? I forget my exact opinions 22:30:25 * Sgeo_ is considering paying $5 on occasion to access CT for a month 22:30:33 -!- zzo38 has quit (Remote host closed the connection). 22:30:48 Not continuous $5/month, CT isn't valuable enough to me to do that, but it's nice to visit every once in a while 22:31:54 * alise considers what existing programs constitute an office suite that doesn't suck 22:32:56 word processor: ?; not latex, for quicker things that you want to see immediately -- spreadsheet: ? -- presentation: latex with beamer, or some html5-based thing or something 22:36:59 I have implemented Liang's hyphenation algorithm in Emacs Lisp. Up to now I can type M-x hyphen-show-hyphens and Emacs displays the syllables of the word at point in the echo area. The package supports multiple languages, hyphenation exceptions, and all the other features known from TeX. What still is to do is to merge word hyphenation into Emacs' filling modes–which is not that easy 22:37:01 *easy. 22:37:03 so close, yet so far :( 22:41:28 ais523: heh, refill-mode set to full justification + longlines-mode + refill-mode = you can't type two spaces in a row 22:42:07 -!- jabb has quit (Quit: leaving). 22:55:39 ais523: heh, that netbook I was hacking yesterday, they seem to have replaced it with a version running windows ce 22:55:43 even better! 22:56:15 "The UbiSurfer delivers the real web, fast and FREE!" ;; for some definition of fast 22:56:28 The UbiSurfer downloads web pages faster than any other mobile netbook connected on any 3G network and with full graphics and Java TM support. ;; ok, so it does 3g now. 22:57:09 Nope, gprs still. 22:58:50 "The device provides a full QWERTY keyboard and uses a touchpad mouse pointer instead of touch screen." 23:01:04 So I designed a networking infrastructure that is utterly secure and has no problems with identifying the destination and source of a packet. It is also completely impractical. 23:01:38 "Win A UbiSurfer Netbook" ;; but why would you WANT to? 23:03:06 -!- lament has quit (Ping timeout: 260 seconds). 23:06:49 I wonder what data structures make spreadsheets efficient. 23:07:19 You don't need dependents, i.e. cells this cell depends on, really, but instead dependers: i.e. a function from a cell to all cells that mention it -- for recalculation 23:19:34 some kind of crazy rocket science! 23:20:14 but yeah... the next logical step in all of this spreadsheet talk is... 23:20:28 can you implement a simple turing machine in a spreadsheet? 23:20:35 easily 23:20:41 if you're allowed circular references 23:20:49 I don't think most allow that. 23:20:52 or even without, if you can range-fill infinitely both down and right 23:20:54 and most do allow that 23:21:04 yes. 23:21:08 at least, I've used four different spreadsheet programs and they all allow it, although often they need an option 23:23:29 so I'm wondering how I can make a gen_server a supervisor 23:23:40 for some reason I'm having a very hard time reasoning about how to use OTP the right way. 23:30:08 -!- oerjan has joined. 23:32:14 the amount of times i've read a log where oerjan, oklopol or even ais523 just give up and resort to facepalming when talking to you... 23:32:24 i didn't think i did it _that_ often... 23:32:33 * ais523 facepalms on general principles 23:32:50 oerjan: you've done it quite a few times before 23:32:53 only when talking to AnMaster though :p 23:33:01 you don't say. 23:33:19 turing machine in spreadsheet is easy if you can make indirect addresses 23:33:25 assuming cells default to 0 23:34:14 otoh i certainly agree that AnMaster is the one i tend to associate with that sort of thing. and maybe zzo38, but in a different way. 23:36:14 ...I've been reading too much OTP documentation. My brain is melted. 23:36:19 (zzo38 tends to look like he assumes everyone _else_ understands him) 23:37:25 -!- coppro has quit (Read error: Connection reset by peer). 23:44:59 * Sgeo_ :( at Internet Archive's slowness 23:45:22 * Sgeo_ is down a rabbit hole chasing a file that probably doesn't exist 23:47:29 the internet past is disappearing down a black hole... 23:50:32 Haskell on ... <-- helicopters? hovercrafts? 23:51:43 ha 23:51:45 C on Cocaine 23:59:02 -!- kar8nga has quit (Remote host closed the connection).