←2010-06-11 2010-06-12 2010-06-13→ ↑2010 ↑all
00:02:09 <oerjan> 09:06:02 * cpressey bans himself
00:02:09 <oerjan> 09:06:11 <ais523> cpressey: bad puns are oerjan's job!
00:02:16 <oerjan> 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 <AnMaster> <Leonidas> 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 <AnMaster> oerjan, hi there
00:49:33 <oerjan> 'lo
00:57:19 <AnMaster> oerjan, lo as in lo and behold or as in "lo[sic] - not high"? ;P
00:58:08 <oerjan> 'lo as an abbreviation of hello. also the latter.
00:59:36 <AnMaster> oerjan, XD
01:01:20 <oerjan> we'll get your pun detector calibrated yet
01:10:25 -!- kar8nga has quit (Remote host closed the connection).
01:26:35 <AnMaster> oerjan, XD
01:27:29 <AnMaster> 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 <vuvuzela> what else is there to sing about?
01:31:45 <AnMaster> vuvuzela, XD
01:32:02 <AnMaster> 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 <selckiku> oh yay! i'd been looking for this channel but i didn't know what it was named.
01:54:00 <selckiku> I've been wondering if there are any 2D languages with higher order functions?
01:54:41 -!- cal153 has quit.
01:54:49 <selckiku> 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 <selckiku> 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 <AnMaster> hm
01:55:54 <AnMaster> <selckiku> I've been wondering if there are any 2D languages with higher order functions? <-- that would be awesome
01:55:58 <selckiku> I'm pretty sure that wouldn't make 2D languages useful, but I thought it might be fun anyway.
01:55:58 <AnMaster> invent one!
01:56:06 <AnMaster> (there may be, but I don't know of any)
01:56:24 <selckiku> I plan to! First I'm looking for prior art, though.
01:56:31 <AnMaster> <selckiku> 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 <AnMaster> I mean
01:56:44 <AnMaster> I'm sure it doesn't except through extensions
01:56:58 <selckiku> 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 <AnMaster> and even then it could be argued to be more like goto with call stack
01:57:01 <AnMaster> (SUBR)
01:57:15 <AnMaster> selckiku, such as which ones?
01:57:35 <AnMaster> I mainly know much about befunge (written several interpreters for befunge-98)
01:58:05 <selckiku> 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 <AnMaster> hm
01:58:20 <AnMaster> not sure which one that would be
01:59:11 <selckiku> 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 <AnMaster> selckiku, very much so
01:59:57 <AnMaster> selckiku, I use emacs in picture-mode, allows you to write in any of the cardinal directions plus the diognals
02:00:09 <AnMaster> I would prefer to have a generic delta
02:00:21 <oerjan> <selckiku> 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 <selckiku> 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 <AnMaster> 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 <selckiku> 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 <selckiku> 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 <AnMaster> selckiku, doesn't artist-mode load picture mode?
02:01:54 <AnMaster> iirc
02:01:56 * oerjan checks that the Community Portal actually mentions it's on freenode
02:02:04 <oerjan> *portal
02:02:13 <oerjan> er
02:02:17 <oerjan> *Portal
02:02:28 <selckiku> 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 <AnMaster> oerjan, eh? it wasn't typoed in the first place was it?
02:02:56 <oerjan> AnMaster: the article name and the menu link aren't consistent, was what trapped me
02:03:06 <AnMaster> oerjan, ah
02:03:10 <selckiku> i was reading about DOBELA, in particular
02:03:18 -!- pikhq has joined.
02:03:20 <AnMaster> oerjan, isn't irc mostly case insensitive though?
02:03:28 <AnMaster> selckiku, oh that one... XD
02:03:43 <AnMaster> hm I haven't seen the author for a while
02:03:50 <AnMaster> oerjan, know what happened to him?
02:05:25 <selckiku> 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 <AnMaster> selckiku, isn't DOBELA more of a bully automaton?
02:05:35 <oerjan> AnMaster: mediawiki isn't case insensitive, except for the first letter
02:05:45 <AnMaster> oerjan, yeah that is pretty esoteric ;P
02:06:29 <selckiku> 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 <AnMaster> selckiku, also, arguably life is a 2D language
02:06:43 <oerjan> 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 <AnMaster> (cell automaton)
02:06:50 <Sgeo_> Why does v in DOBELA distinguish South from the rest?
02:07:02 <selckiku> huh, i haven't learned PROLOG, that sounds interesting.
02:07:23 <AnMaster> Sgeo_, "to make things work" iirc?
02:07:33 <oerjan> PROLOG isn't 2d though
02:07:48 <AnMaster> oerjan, prolog isn't even esoteric!
02:08:02 <selckiku> i've heard conflicting opinions on that :D
02:08:04 <oerjan> AnMaster: i saw asiekierka just the other day
02:08:08 <AnMaster> oerjan, ah
02:08:20 <oerjan> possibly just in the logs
02:08:34 <oerjan> he said he had a new esolang idea
02:08:43 <AnMaster> selckiku, yeah but then you could argue that haskell or whatever is esoteric too
02:08:46 <AnMaster> or scheme
02:09:11 <selckiku> the whole field of programming languages is terribly esoteric
02:09:31 <pikhq> Not particularly.
02:09:39 <selckiku> 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 <pikhq> Well, no more so than programming itself.
02:09:58 <AnMaster> 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 <pikhq> Definitely.
02:10:18 <AnMaster> that is, interpreter *for* it, not *in* it
02:10:23 <pikhq> Hahah.
02:10:38 <AnMaster> but sure, a self interpreter should make you learn loads
02:10:45 <selckiku> hah
02:11:00 <oerjan> huh the dobela page says User:asiekierka but it seems he has never actually registered
02:11:09 <selckiku> what's the longest program that's been written in an esolang?
02:11:10 <AnMaster> oerjan, huh
02:11:21 <oerjan> only edited anonymously
02:11:25 <AnMaster> oerjan, or did he just skip creating user page?
02:11:27 <AnMaster> hm
02:11:27 -!- zzo38 has joined.
02:11:29 <AnMaster> okay
02:11:32 <AnMaster> zzo38, hi!
02:11:35 <pikhq> selckiku: I'm going to go out on a limb and say LostKng.
02:11:48 <oerjan> AnMaster: there is no "User contributions" link
02:11:56 <zzo38> Is that right? if(!fork()) execl(Conf_SummonFile,Conf_SummonFile,Client_Mask(Client),user,server,channel,NULL);
02:11:59 <AnMaster> pikhq: do you count compiled-to-esolangs?
02:12:07 <pikhq> Oh, wait.
02:12:17 <AnMaster> pikhq, if so: hello world compiled by gcc-bf
02:12:23 <pikhq> There's gcc-bf. Gah.
02:12:23 <AnMaster> it beats lostking easily
02:12:24 <AnMaster> ;P
02:12:32 <zzo38> I have not heard of gcc-bf
02:12:39 <AnMaster> pikhq, ais523 wrote it
02:12:43 <selckiku> pikhq, what's lostkng?
02:12:44 <AnMaster> well it is buggy and unfinished
02:12:54 <AnMaster> selckiku, a text adventure in brainfuck
02:13:00 <pikhq> selckiku, LostKng is a text adventure game in Brainfuck.
02:13:16 <selckiku> wow that sounds awesome, i guess if i add brainfuck to my search i should find it :)
02:13:17 <pikhq> About a meg of Brainfuck.
02:13:26 <AnMaster> yeah
02:13:33 <pikhq> Get it down to about 400k with a decent compiler.
02:13:45 <AnMaster> pikhq, but even runlength compressed gcc-bf output beats that easily
02:13:55 <pikhq> Trivially.
02:14:11 <AnMaster> well RLE hello world iirc is slightly smaller than lostkng, but uncompressed... way larger
02:14:13 <pikhq> Doesn't gcc-bf's output include *filesystem emulation* code?
02:14:26 <AnMaster> pikhq, iirc that was planned but not yet written
02:14:37 <AnMaster> pikhq, I do have the code somewhere around here
02:14:39 <AnMaster> I think
02:15:52 <AnMaster> since it includes the whole gcc... well I don't have anywhere I could upload that
02:16:49 <zzo38> Where is gcc-bf? Can it support PSOX? Perhaps it can add a PSOX mode that can be switched on/off?
02:17:09 <AnMaster> zzo38, no PSOX support so far. As for where: nowhere on the web iirc
02:17:22 <Sgeo_> Define "PSOX support"
02:17:28 <Sgeo_> Or was zzo38 pretending to be me?
02:17:55 <zzo38> I mean, so that fopen() command and such can use PSOX, if it is enabled
02:17:57 <AnMaster> Sgeo_, I suspect he means "gcc-bf will generate output using PSOX to implement filesystem functions"
02:18:02 <Sgeo_> Ah
02:18:37 <AnMaster> 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 <Sgeo_> 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 <AnMaster> complete*
02:19:03 <AnMaster> zzo38, I could locate and upload it somewhere but I have nowhere with enough space of bandwidth to do it
02:19:21 <zzo38> That is OK you don't have to do that right now.
02:19:23 <AnMaster> Sgeo_, what else was PSOX for?
02:19:26 <zzo38> I just wanted to know if it was available
02:19:38 <zzo38> If it isn't available, is still OK
02:19:41 <AnMaster> zzo38, well afaik it isn't no. Ask ais523 next time he is around
02:19:42 <selckiku> what's gcc-bf?
02:19:43 <Sgeo_> AnMaster, Internet stuff, and stuff to make things easier
02:19:51 <AnMaster> Sgeo_, what stuff easier?
02:19:59 <AnMaster> Sgeo_, floating point emulation?
02:20:10 <selckiku> a brainfuck compiler?
02:20:13 <zzo38> 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 <zzo38> if(!fork()) execl(Conf_SummonFile,Conf_SummonFile,Client_Mask(Client),user,server,channel,NULL);
02:20:16 <Sgeo_> PSOX doesn't have a way of dealing with floating point stuff >.>
02:20:27 <AnMaster> selckiku, gcc-bf? No. It is a C->brainfuck compiler
02:20:34 <Sgeo_> Some math, some storage. Mostly it's intended for Internet and Filesystem stuff
02:20:41 <Sgeo_> And extensions, e.g. a GUI domain
02:20:44 <AnMaster> selckiku, the best brainfuck compiler currently is esotope-bfc (compiles brainfuck to C)
02:20:45 <Sgeo_> Would be possible
02:20:57 <AnMaster> selckiku, highly optimising
02:21:05 <zzo38> AnMaster: What happen if you C->Brainfuck->C
02:21:16 <AnMaster> zzo38, a very very bloated C program
02:21:21 <pikhq> 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 <AnMaster> zzo38, gcc-bf is very very inefficient
02:21:47 <zzo38> AnMaster: And what happen if you Brainfuck->C->Brainfuck?
02:21:49 <pikhq> (Brainfuck->x86 assembly (Intel format) compiler, in Haskell)
02:21:52 <selckiku> 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 <AnMaster> zzo38, a very very inefficient brainfuck program I presume
02:22:30 <AnMaster> selckiku, unlikely :P
02:22:39 <AnMaster> selckiku, at least as long as bf is involved
02:23:09 * Sgeo_ needs to go eat
02:23:13 <AnMaster> mhm
02:26:36 <selckiku> there's a lot of different stuff for bf!
02:26:55 <selckiku> why is bf such a popular language? just history?
02:27:05 <AnMaster> don't know
02:27:08 <AnMaster> selckiku, intercal is fun too
02:27:20 <AnMaster> selckiku, there is a fair amount for befunge too
02:27:24 <AnMaster> ^source
02:27:24 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
02:27:35 <AnMaster> selckiku, that bot is witten in befunge-98
02:27:49 <zzo38> 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 <AnMaster> zzo38, what is CLCLC?
02:28:19 <AnMaster> zzo38, and who made it?
02:28:28 <zzo38> Look on wiki [[CLCLC-INTERCAL]] page.
02:29:04 <AnMaster> 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 <AnMaster> fungot, how are you today?
02:29:34 <fungot> AnMaster: how come nobody has built one?
02:29:36 <zzo38> CLCLC-INTERCAL is a variation on CLC-INTERCAL, just like CLC-INTERCAL is variation on C-INTERCAL and 1972 INTERCAL.
02:29:37 <AnMaster> ^style
02:29:37 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
02:29:39 <AnMaster> ah
02:29:53 <zzo38> It has Quantum INTERCAL but differently than CLC-INTERCAL
02:30:00 <AnMaster> zzo38, who made CLCLC?
02:30:08 <zzo38> And vector INTERCAL
02:30:17 <zzo38> And UTF-INT
02:30:28 <AnMaster> vector INTERCAL? UTF-INT?
02:30:33 <zzo38> And back-tracking and also front-tracking
02:30:51 <zzo38> And name-spaces, and functional INTERCAL
02:30:59 <AnMaster> zzo38, okay wtf is front tracking?
02:31:13 <zzo38> I don't know what front-tracking is.
02:31:17 <AnMaster> ah
02:31:56 <zzo38> But, CLCLC-INTERCAL Quantum mode is *real* Quantum INTERCAL, rather than the way that CLC-INTERCAL does it
02:32:27 <AnMaster> hah
02:34:13 <oerjan> AnMaster: evidence points to zzo38 :D
02:34:24 <zzo38> 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 <zzo38> You have to use EBCDIC for the CREATE command, instead of using ASCII numbers.
02:35:54 <zzo38> Apparently this is supposed to be a valid command: MAYBE DO NOT COME FROM CHOICE
02:36:21 <AnMaster> oerjan, ah
02:36:30 <AnMaster> oerjan, if so he should know what front tracking is!
02:36:33 <zzo38> And so is this: (#33 NAME #5) PLEASE COME FROM #34 NAME '#0 NAME ,1 SUB #1'
02:36:35 <oerjan> 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 <zzo38> oerjan: Yes, I did write that page. But even some things in there I made up without knowing what it is
02:36:58 <oerjan> heh :D
02:41:41 <zzo38> 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 <SgeoN1> Where's alise?
02:43:17 <AnMaster> zzo38, niner is standard, but fower or fife I never heard
02:43:19 <oerjan> hiding from all the paparazzis coming here
02:43:42 <AnMaster> zzo38, I happen to me a flightsim nerd so ;P
02:44:31 <AnMaster> going to try to sleep or something
02:44:36 <zzo38> 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 <zzo38> I know because my father used to do air traffic control and he told me these things
02:47:54 <AnMaster> zzo38, heh
02:55:15 <zzo38> 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 <oerjan> what if it runs on the blood of orphans?
02:58:34 <zzo38> No, it needs to run on the typewriters!
02:59:04 <oerjan> i meant the typewriter DUH
02:59:23 <oerjan> you cannot mention cthulhu in the same line and not consider such options :D
02:59:34 <zzo38> No, the typewriter needs to run either by manual or by electric!
02:59:55 <zzo38> 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 <zzo38> 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 <zzo38> 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 <oerjan> O KAY
03:04:37 * oerjan sidles away carefully
03:05:32 <zzo38> 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 <oerjan> no idea what brand
03:07:03 <zzo38> Have you ever used it?
03:07:17 <oerjan> sure, when i was a child
03:07:49 <oerjan> it's what i learned to type on, or so i think
03:09:40 <zzo38> 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 <zzo38> 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 <oerjan> mhm
03:12:29 <zzo38> 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 <zzo38> 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 <zzo38> 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 <AnMaster> <zzo38> 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 <AnMaster> I have a computer only
03:20:14 <AnMaster> well three
03:20:16 <AnMaster> err 4
03:20:22 <AnMaster> but one is for nostalgia
03:20:25 <AnMaster> (old old mac)
03:20:47 -!- GreaseMonkey has joined.
03:21:38 <zzo38> 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 <AnMaster> zzo38, I want one running on steam power though!
03:23:14 <zzo38> AnMaster: Try to build such a thing if you know how (but that wasn't my question)
03:26:00 <zzo38> sprunge OfVi
03:26:29 <zzo38> Did you notice it is broken?
03:26:36 <AnMaster> what is broken?
03:27:01 <AnMaster> http://sprunge.us/ works for me
03:27:17 <zzo38> No, I mean the C program
03:27:23 <zzo38> It says /* Not implemented */
03:27:28 <zzo38> That is the part which is broken
03:27:28 <AnMaster> zzo38, you didn't give me any link
03:27:37 <zzo38> http://sprunge.us/OfVi
03:27:42 <AnMaster> *clicks*
03:27:51 <AnMaster> hm
03:27:55 <AnMaster> zzo38, too sleepy to read it
03:27:56 <zzo38> How do I fix it?
03:28:06 <zzo38> Also tell me if the other code is also broken
03:28:17 <AnMaster> zzo38, I have no idea, no ircd I know implements summon
03:28:24 <AnMaster> it is a legacy thingy
03:29:30 <zzo38> Which is why I need to fix it, and then some ircd you know will be implements summon
03:29:36 <zzo38> (Which is this one)
03:30:06 <AnMaster> ... I have no idea how to do it
03:30:37 -!- jabb has joined.
03:31:26 <zzo38> It implement SUMMON and also NOMMUS
03:31:59 <jabb> best way to learn modern compiler infrastructure? (I already own the Dragon Book)
03:32:13 <jabb> before browsing llvm source I had never heard of "Dwarf Exception Handling"
03:32:45 <AnMaster> jabb, DWARF is a debugging format iirc
03:32:53 <zzo38> AnMaster: At least is the SUMMONTYPE_EXECUTE not broken?
03:32:57 <AnMaster> not sure how it interacts with exception handling
03:33:01 <AnMaster> zzo38, no idea
03:33:14 <AnMaster> night
03:33:30 <zzo38> I mean, is that how fork() execl() command is working?
03:34:50 <zzo38> Now I can try compile and see if it is working or not
03:36:58 <zzo38> I have to add a document that says that you must not make this software double-daemonized in Cygwin
03:37:10 <zzo38> (Single-daemonized is good enough)
03:40:44 <oerjan> double double toil and trouble
03:46:29 <zzo38> 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 <zzo38> 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 <Sgeo_> zzo38, what's this?
05:33:30 -!- SgeoN1 has quit (Quit: Bye).
05:36:10 <zzo38> It is commands in my IRC server.
05:36:43 <pikhq> Seems more like an IRC-like server.
05:37:41 <zzo38> 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 <AnMaster> oerjan, hi again
05:40:50 <AnMaster> time to upgrade from karmic I feel
05:41:44 <AnMaster> <oerjan> double double toil and trouble <-- in modern language this would be "long double toil and trouble"
05:42:30 <AnMaster> zzo38, with double daemonise, do you mean double fork()?
05:43:03 <AnMaster> zzo38, also, how do you implement server linking?
05:43:05 <zzo38> 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 <AnMaster> what server-server protocol I mean
05:43:21 <zzo38> Server-server protocol is just normal IRC protocol
05:43:30 <zzo38> But I have no other servers linked
05:43:41 <AnMaster> zzo38, how do you prevent riding netsplits then?
05:43:50 <AnMaster> if you don't have timestamps
05:43:57 <zzo38> 194IRCd/CthulhuIRCd is based on ngIRCd, which uses normal IRC protocol.
05:44:03 <zzo38> What is riding netsplits means?
05:44:18 <zzo38> (I didn't write the server-server protocol codes, that was already there)
05:44:18 <AnMaster> zzo38, well if you have a netsplit a channel could become empty on one side
05:44:36 <AnMaster> zzo38, now imagine some person joining this empty channel, thus getting +o in it
05:44:49 <AnMaster> when the servers reconnect that person could kick all the real ops of the channel
05:44:52 <zzo38> ! type channels is meant for that purpose. Unfortunately, ! type channels is not implemented yet.
05:45:06 <AnMaster> zzo38, how does ! type channels prevent this?
05:45:50 <AnMaster> 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 <zzo38> 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 <AnMaster> zzo38, what a hackish way, and you could get same, since it is random
05:46:22 <zzo38> The channel types is #&!+ currently only #&+ is implemented
05:46:44 <zzo38> AnMaster: I know, but apparently that is how it is supposed to work.
05:46:55 <AnMaster> zzo38, the timestamp solution is much cleaner
05:47:04 <AnMaster> zzo38, and I never heard of any network using ! style channels
05:47:13 <zzo38> IRCNET uses ! type channels
05:47:22 <AnMaster> zzo38, okay but ircnet is whacky
05:47:35 <zzo38> IRCNET uses all four types of channels
05:47:46 <AnMaster> ircnet is the worst irc network still in existence
05:48:05 <AnMaster> from a pure technical perspective I mean
05:48:15 <zzo38> AnMaster: I know, it becomes difficult to connect and stay on, and stuff like that.
05:48:20 <AnMaster> purely*
05:48:23 <zzo38> That is why I run my own IRC
05:48:26 <AnMaster> zzo38, well that too
05:48:31 <AnMaster> but why not use freenode?
05:48:36 <zzo38> (Actually, there are other reasons I run my own IRC, as well)
05:48:41 <AnMaster> zzo38, freenode is a relatively sane and modern irc network
05:48:52 <zzo38> There are a lot of reasons I run my own IRC.
05:48:59 <oerjan> that's what they WANT you to think
05:49:08 <AnMaster> oerjan, I said "relatively"
05:49:10 <Sgeo_> C# closures make me a happy developer
05:49:25 <AnMaster> oerjan, and probably yes, they want me to think that. But so would anyone
05:49:37 <oerjan> a closure a day keeps the bugs away?
05:49:39 <zzo38> 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 <zzo38> & and + type channels are already immune
05:50:04 <oerjan> eek
05:50:57 <AnMaster> zzo38, I certainly hope it does it properly
05:51:12 <zzo38> AnMaster: Hope what does what properly?
05:51:38 <AnMaster> zzo38, ngircd implements the server protocol properly
05:51:43 <AnMaster> that is what I hope
05:52:00 <AnMaster> 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 <zzo38> I think it does, it says it is able to be connected to servers using the original IRCd
05:52:14 <AnMaster> somewhat different views on matters but both are very good
05:52:22 <AnMaster> atheme is the best service package
05:52:35 <AnMaster> <zzo38> 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 <AnMaster> since the original protocol did not prevent riding netsplits and so on!
05:52:57 <zzo38> 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 <AnMaster> TS6 or some similar server-server protocol is the way to go
05:54:00 <AnMaster> (both inspircd and charybdis uses server-server protocols based on TS6, not compatible though)
05:54:39 <zzo38> 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 <AnMaster> zzo38, that would work I guess
05:55:09 <AnMaster> zzo38, but what happens when there is a conflict?
05:55:23 <AnMaster> on server linking I mean
05:55:36 <AnMaster> what happens currently?
05:57:47 <zzo38> AnMaster: I don't know what happens currently
05:58:09 <zzo38> But you can try irc.barton.de, which runs ngIRCd
05:58:21 <zzo38> And irc.barton.de also has multiple servers
05:58:29 <AnMaster> well I would have to wait for a netsplit...
05:58:47 <zzo38> You can also just look at the codes and try to figure out
05:58:56 <AnMaster> well, I'm not THAT interested
05:59:24 <AnMaster> 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 <zzo38> 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 <pikhq> zzo38: No, but there is an actual *definition* of the IRC protocol.
06:02:19 <pikhq> It's an RFC.
06:02:44 <zzo38> I know, I have read the RFC
06:03:14 <pikhq> Then there you go.
06:04:00 <zzo38> ?
06:04:20 <zzo38> What exactly reason are you refering to this for?
06:04:50 <zzo38> ngIRCd already implements the IRC protocol, isn't it?
06:04:54 <pikhq> I highly doubt SUMMON CTHULHU is valid. :)
06:05:24 <oerjan> cthulhu does not ask what is valid
06:05:42 <zzo38> 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 <Sgeo_> Any C# people here? I'm not getting a response in ##csharp
06:06:11 <pikhq> Sgeo_: No, but we are people of reasonable intelligence.
06:06:26 <pikhq> Also, C# has monads and lambda; I can fake C# knowledge. :P
06:06:29 <oerjan> that's what we WANT you to, er, something
06:06:49 <Sgeo_> Can I access an anonymous function from within the anonymous function?
06:07:04 <zzo38> That's what the government wants you to think.
06:07:25 <pikhq> If said anonymous function has had a name bound to it somehow, almost certainly. After all, those suckers close.
06:07:50 <pikhq> :P
06:08:08 <pikhq> On a more serious note: you probably want a fixed-point combinator.
06:08:19 <zzo38> For example, I have implemented some new commands which are not part of any RFC: EUTHANIZE FLUSH NOMMUS PROXY
06:08:41 <Sgeo_> It has a name bound to it, but the IDE says no
06:08:45 <pikhq> 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 <Sgeo_> C# isn't exactly Haskell-pure
06:09:42 <pikhq> 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 <pikhq> Which is: Y := λf.(λx.f (x x)) (λx.f (x x))
06:11:22 <oerjan> Y ask Y
06:11:50 -!- augur has quit (Ping timeout: 245 seconds).
06:12:04 <Sgeo_> I just Googled, and found stuff that looks like it may be useful for this
06:12:05 <Sgeo_> ty pikhq
06:12:29 <pikhq> Yes, almost certainly a fixed point combinator.
06:12:36 <pikhq> (as that is what you asked for)
06:12:41 <Sgeo_> Although I should note that I don't intend to CALL the function from within the function
06:12:49 <Sgeo_> Don't know how much of a difference that makes
06:12:52 <pikhq> None.
06:13:14 -!- augur has joined.
06:13:54 <pikhq> Erm. No. Possibly makes a difference.
06:13:55 <Sgeo_> Well, without even looking at the combinator stuff in that article, a flawed workaround makes the compiler not complane for me
06:14:03 <pikhq> I'd have to see the code to be sure.
06:14:54 <Sgeo_> The flaw shouldn't affect me
06:15:57 <Sgeo_> 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 <AnMaster> <pikhq> Also, C# has monads and lambda; I can fake C# knowledge. :P <-- ??? C# has monads?
06:19:37 <AnMaster> what?
06:19:38 <AnMaster> since when?
06:19:50 <pikhq> AnMaster: They call it "LINQ".
06:19:58 <AnMaster> pikhq, oh that is post-2.0
06:20:02 <AnMaster> so no clue about ot
06:20:03 <AnMaster> it*
06:20:13 <AnMaster> pikhq, also I thought that was SQLish
06:20:13 <pikhq> Which is nothing more than monads and monad comprehension syntactic sugar.
06:20:16 <AnMaster> not monadish
06:20:32 <pikhq> Yes, that's one of the monads.
06:20:34 <pikhq> ;)
06:20:37 <AnMaster> pikhq, hm
06:20:51 <AnMaster> pikhq, so fairly advanced stuff then
06:20:59 <pikhq> Yeah.
06:21:29 <AnMaster> pikhq, how did they get this past the OO-mad people?
06:21:49 <pikhq> Don't call it monads.
06:21:57 <AnMaster> it's that easy?
06:22:05 <AnMaster> oh my
06:22:22 <pikhq> Yes.
06:22:37 <AnMaster> pikhq, what do they call it instead?
06:22:40 <pikhq> LINQ.
06:23:27 <AnMaster> pikhq, right but the monad data type I mean
06:23:33 <AnMaster> pikhq, or whatever
06:23:43 <zzo38> 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 <pikhq> 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 <zzo38> 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 <AnMaster> pikhq, ah
06:24:36 <oerjan> !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 <EgoBot> mkdir: cannot create directory `/tmp/tmp.14246': No space left on device
06:24:46 <oerjan> wtf
06:24:52 <zzo38> (I also updated the MOTD a bit)
06:24:57 <pikhq> Gregor, the bot's broken!
06:25:40 <zzo38> Did you create too many files?
06:28:49 -!- coppro has joined.
06:29:26 <AnMaster> !help
06:29:27 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
06:29:34 <AnMaster> !bf_txtgen test
06:29:38 <EgoBot> Top %: 0.1
06:29:43 <AnMaster> what?
06:29:54 <AnMaster> very strange error
06:30:02 <AnMaster> `help
06:30:09 <HackEgo> Failed to clone the environment!
06:30:13 <AnMaster> okay
06:30:18 <AnMaster> so yeah his server is broken
06:31:24 * oerjan checks that the newtype trick works in winhugs
06:32:21 <zzo38> 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 <coppro> HELP FAQ
06:33:33 <zzo38> coppro: Not on *this* server!
06:33:54 <zzo38> I didn't mean this server! I meant my server (zzo38computer.cjb.net:194)
06:50:43 <AnMaster> zzo38, not even ircnet uses 194 afaik?
06:50:57 <zzo38> AnMaster: I think you are correct
06:51:06 <AnMaster> so why...
06:51:41 <pikhq> Because zzo38... Is zzo38.
06:51:42 <pikhq> :P
06:53:09 <coppro> http://www.theonion.com/interactive/the-onion-sports-introduction-to-world-cup-soccer,17558/
06:54:14 <AnMaster> pikhq, point taken
06:58:44 <AnMaster> coppro, not very funny to an European
06:58:55 <AnMaster> even though I'm not the least interested in football
06:59:05 <AnMaster> and never understood what "off side" was about
06:59:37 <coppro> 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 <coppro> some of them aren't funny (iron rod), but others are great (red card)
07:01:00 <oerjan> 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 <AnMaster> oerjan, XD
07:30:06 <AnMaster> coppro, "halph"?
07:30:34 * AnMaster waits for some explanation to that
07:30:42 <coppro> I will decline to answer
07:30:49 <AnMaster> coppro, why?
07:31:19 <coppro> too lazy
07:31:26 -!- augur has joined.
07:34:54 <augur> lalala
07:35:00 <oerjan> AnMaster: coppro is just trying to be too clever...
07:35:23 <coppro> I am?
07:35:48 <augur> oerjan: check this out
07:36:06 <oerjan> coppro: well either you or my lazy pun
07:36:11 <augur> you need to define a formal system of whatever sort you like
07:36:19 <augur> a programming language, if you will
07:36:48 <augur> in which the following expression, using normal functional application, is ambiguous between two readings:
07:37:29 <AnMaster> ahargh!
07:37:32 <augur> f(xs, i, first(g)) -- where the interpretations of this are
07:37:35 <AnMaster> (that is aha + argh)
07:37:43 <oerjan> AnMaster: you got my pun?
07:37:47 <AnMaster> oerjan, no
07:37:53 <AnMaster> it was caused by insufficiently debounced power key
07:38:05 <AnMaster> aha! for finding out the cause of the issues.
07:38:13 <AnMaster> argh! for not being easy to fix
07:38:16 <oerjan> AnMaster: too bad, it would have been such a great reaction
07:38:16 <augur> 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 <AnMaster> oerjan, I was not paying attention to IRC at all
07:38:49 <augur> oerjan: can you think of a way this could be the case
07:39:05 <AnMaster> also I need a 24 tooth clutched lego gear. I know I have three, I can't find any of them...
07:40:15 <coppro> clutched gear?
07:41:35 <AnMaster> coppro, that is what it is called officially
07:41:42 <oerjan> 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 <oerjan> *looks like
07:41:52 <AnMaster> coppro, basically it slips if stuck
07:42:06 <coppro> ah
07:42:11 <coppro> oh, I know what one you mean
07:42:12 <AnMaster> coppro, so it acts to prevent stuff breaking
07:42:21 <AnMaster> coppro, white with grey middle?
07:42:25 <coppro> yeah
07:42:31 <AnMaster> coppro, yep that's the one
07:42:42 <augur> 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 <AnMaster> coppro, didn't know you were a lego fan
07:42:55 <augur> think of it like Intercal's nondeterminism
07:43:15 <coppro> AnMaster: not currently, but I spent some time with it previously
07:43:26 <coppro> (through school)
07:43:29 <AnMaster> coppro, ah
07:43:40 <AnMaster> I wonder why the white one says 2.5 * 5.0 Ncm on it
07:43:48 <AnMaster> is it the slippage load or something
07:44:00 <AnMaster> (I found it at last)
07:46:30 <AnMaster> coppro, huh seems I have 4 of them
07:46:41 <AnMaster> well I can only find 2. But peeron says I have 4
07:46:50 <AnMaster> ( http://www.peeron.com/inv/parts/60c01?myparts=1 )
07:46:57 <AnMaster> "# (You own 1 x) 2 in 8479-1 - Barcode Multi-Set (1997)
07:46:57 <AnMaster> # ( 1 x) 1 in 3804-1 - Robotics Invention System 2.0 (2001)
07:46:57 <AnMaster> # ( 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 <AnMaster> coppro, very nifty site that
07:47:37 <coppro> wow, seems awesome
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:02 <AnMaster> coppro, very slow loading site too
08:00:17 <coppro> hate those
08:10:10 <coppro> ****ing end-of-season cliffhangers!
08:10:44 <AnMaster> coppro, oops
08:10:50 <AnMaster> coppro, what series?
08:10:50 <coppro> oops?
08:11:02 <coppro> Stargate Universe
08:11:06 <AnMaster> mhm
08:11:09 -!- MigoMipo has joined.
08:11:34 <coppro> it's like a Stargate tradition
08:11:48 <AnMaster> I see
08:13:23 <coppro> however, the cliffhanger here ends with something like half the cast facing imminent death for various reasons :(
08:13:50 <coppro> I wish it was that the entire ship faced certain destruciton or something
08:14:00 <coppro> because then I'd know how that will come out
08:14:21 <AnMaster> coppro, XD
08:14:35 <AnMaster> coppro, certain destruction
08:14:36 <AnMaster> well
08:14:43 <coppro> they'd find an impossible solution
08:14:47 <AnMaster> presumably it would explode in the first episode
08:14:48 <AnMaster> :P
08:14:53 <coppro> ending a series isn't a great way to start a new season
08:14:59 <AnMaster> coppro, otherwise it isn't certain destruction
08:15:04 <AnMaster> it is certain survival
08:15:09 <coppro> well, yes, that's the irony
08:15:27 <AnMaster> coppro, just try applying logic :P
08:15:39 <coppro> however, the way they did these cliffhangers, there's no telling who will come out of the premiere alive
08:15:52 <AnMaster> oh?
08:16:07 <AnMaster> coppro, presumably some of them
08:16:14 <pikhq> 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 <AnMaster> coppro, either some or all
08:16:20 <coppro> exactly, pikhq
08:16:26 <AnMaster> what?
08:16:30 <AnMaster> breaking physics? why?
08:16:33 <coppro> AnMaster: Yes, but the trick is that some people might actually die
08:16:40 <pikhq> (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 <coppro> and I have to wait 3 months to survive!
08:17:33 <coppro> 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 <coppro> also, anyone here read Calculus by Spivak?
08:19:59 <oerjan> you broke physics! you bastards!
08:20:27 <pikhq> Hey, who needs that "inertia" thing anyways?
08:20:42 <oerjan> not me. i may have _seen_ the book.
08:22:20 <coppro> pikhq: what about inertia?
08:22:35 * pikhq removes it
08:22:38 <coppro> oh
08:22:56 <coppro> watch out you don't get killed by a falling satellite
08:25:40 <AnMaster> <coppro> I learned today that too much gamma radiation causes people to evaporate into dust! <-- no?
08:25:43 <AnMaster> welll
08:25:45 <AnMaster> well*
08:25:46 <AnMaster> maybe
08:25:50 <AnMaster> but define too much
08:25:58 <AnMaster> also boil away seems more likey
08:26:33 <AnMaster> <pikhq> Hey, who needs that "inertia" thing anyways? <-- humans. iirc we wouldn't survive without it
08:26:47 <coppro> 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 <AnMaster> pikhq, like, we would feel the terrible speed from earth moving around the sun all the time
08:27:01 <coppro> admittedly, while I'm not even sure such a pulse would be emitted, the concept of a binary pulsar is awesome
08:27:18 <AnMaster> heh
08:27:59 <AnMaster> coppro, being close to a supernova is sure to not be healthy
08:28:05 <coppro> true enough
08:28:15 <AnMaster> in terms of gamma radiation as well as other stuff
08:29:02 <pikhq> AnMaster: I was joking, as you well know.
08:29:10 <pikhq> Without inertia, a *hell* of a lot of stuff breaks.
08:29:19 <pikhq> Like... Orbit.
08:29:23 <AnMaster> pikhq, yep
08:29:27 <coppro> 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 <pikhq> And any moving object will kinda cease to be moving unless acted upon by an outside force...
08:31:54 <oerjan> 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 <AnMaster> coppro, heh
08:32:14 <oerjan> the following _photons_ would evaporate earth completely.
08:32:33 <coppro> how come the neutrons are emitted first?
08:32:33 <AnMaster> oerjan, yeah
08:32:48 <oerjan> coppro: not neutrons, neutrinos. very different.
08:32:51 <AnMaster> oerjan, and how can we be killed by neutrinos?
08:32:54 <coppro> oh
08:32:57 <coppro> misread, nvm
08:33:19 <coppro> neutrinos can and do interact with other matter, it's just exceedingly unlikely
08:33:26 <AnMaster> yep exactly
08:33:45 <AnMaster> so... a hell of a lot of neutrinos?
08:33:48 <oerjan> 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 <coppro> pretty much
08:33:59 <oerjan> *following
08:34:16 <coppro> we would stand no more chance than a whelk
08:35:56 <AnMaster> 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 <coppro> very
08:37:57 <coppro> we'd be good for a hundred years though!
08:37:58 <oerjan> 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 <AnMaster> oerjan, and if that happens
08:38:20 <oerjan> in which case we're toast at a much larger distance
08:38:28 <AnMaster> oerjan, what distance?
08:38:34 <oerjan> i don't recall
08:38:41 <AnMaster> bbl breakfast. Hopefully we won't be reached by a supernova that happened 25 years ago during that!
08:39:04 <oerjan> there are no real candidates afaik
08:39:51 <oerjan> 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 <oerjan> (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 <vuvuzello> 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 <oerjan> otoh we _are_ several centuries overdue for a supernova somewhere in our own galaxy
08:43:36 <vuvuzello> kiloparsec
08:43:38 <oerjan> (iirc)
08:44:57 <oerjan> damn parsecs which i can never remember how to convert to lightyears
08:45:19 <oerjan> 1 Parsec = 3.26163626 light years
08:45:46 <oerjan> hm with all those 6's it _should_ be possible to memorize, you'd think
08:46:28 <vuvuzello> td
08:46:29 <vuvuzello> yes
08:46:37 <vuvuzello> the other digits are 32132
08:46:41 <oerjan> hm wait wikipedia says 3.26156
08:47:19 <oerjan> 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 <AnMaster> uh uh "WARNING: Failed to read mirror file" looks like a BAD thing during a dist upgrade.
09:19:50 <AnMaster> Right?
09:30:48 -!- augur has quit (Read error: Connection reset by peer).
09:30:51 -!- augur has joined.
09:42:44 <AnMaster> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <CakeProphet> zzo38: interesting.
13:55:32 <CakeProphet> about the named pipe stuff.
13:55:43 <CakeProphet> This is Windows 7 I assume? or...?
13:56:32 <zzo38> Windows XP
13:56:50 <CakeProphet> oh... I didn't know Windows used a Device directory
13:56:56 -!- alise has joined.
13:57:12 <zzo38> It does, but to use it you need this program: http://zzo38computer.cjb.net/prog/ddd.zip
13:57:20 <alise> hiiii
13:57:35 <zzo38> Source-codes is included with this program.
13:58:40 <zzo38> 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 <zzo38> This program has no source-codes, though.
14:04:58 -!- kar8nga has quit (Remote host closed the connection).
14:07:43 <CakeProphet> ah.
14:09:36 <zzo38> 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 <zzo38> 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 <zzo38> http://zzo38computer.cjb.net/img6/MetaEdit_Error_Message.JPG
14:26:40 <AnMaster> yes! I finally bent gdm mostly to my will
14:27:13 <AnMaster> 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 <AnMaster> (meaning upgrade failed near, but not at, the end)
14:27:46 <AnMaster> CakeProphet, was it you who said something about gconf to fix button position in windows?
14:28:03 <AnMaster> (after upgrade to lucid)
14:28:52 <AnMaster> or it could have been someone else I guess
14:32:27 <alise> AnMaster: Fix? You can use less provocative words for things like that, you know.
14:32:48 <alise> Taking all your opinions as objective truth is a disease, one which I'm only starting to recover from.
14:32:55 <AnMaster> alise, the thing is, the changed button position makes it easy to click close instead of file menu
14:32:58 <AnMaster> that is the reason I say fix
14:33:28 <alise> "How can I fix Windows?" "Install Linux because Windows makes it easy to get viruses!"
14:33:39 <AnMaster> alise, windows != MS windows here
14:33:44 <alise> I know that.
14:34:27 <AnMaster> 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 <alise> Ha @ people thinking Novell v SCO is over.
14:34:37 <alise> Even groklaw.
14:34:44 <alise> SCO will so totally start arguing the opposite, it's inevitable.
14:34:53 <AnMaster> alise, can they appeal in theory?
14:35:04 <alise> Yes, but only if they argue the opposite arguments to their last appeal.
14:35:11 <alise> Which would be utterly bizarre and will, therefore, happen.
14:35:34 <AnMaster> alise, right, but won't that then be dismissed as ridiculous?
14:35:45 <alise> All their previous appeals were ridiculous, too.
14:36:01 <AnMaster> alise, how many times can you appeal in US?
14:36:17 <AnMaster> I mean, at some point you would reach the supreme court or whatever they call it
14:36:24 <alise> Don't know the US system -- all I know is that ais523 said SCO could do this.
14:36:30 <AnMaster> yes I saw that
14:36:39 <AnMaster> was just wondering how far they reached in the system
14:36:56 <AnMaster> `ls
14:37:05 <AnMaster> hm
14:37:05 <HackEgo> 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 <AnMaster> !bf_txtgen is it fixed?
14:37:21 <EgoBot> 123 +++++++++++++++[>++++++++>+++++++>++>++++<<<<-]>>.<-----.>>++.<.<+.>>.<---.+++.<++++.>----.-.>>+++.<----------------------. [826]
14:37:23 <AnMaster> yep
14:37:42 <alise> 00:25:40 <AnMaster> <coppro> I learned today that too much gamma radiation causes people to evaporate into dust! <-- no?
14:37:42 <alise> 00:25:43 <AnMaster> welll
14:37:42 <alise> 00:25:45 <AnMaster> well*
14:37:42 <alise> 00:25:46 <AnMaster> maybe
14:37:42 <alise> 00:25:50 <AnMaster> but define too much
14:37:43 <alise> 00:25:58 <AnMaster> also boil away seems more likey
14:37:45 <alise> 00:26:33 <AnMaster> <pikhq> Hey, who needs that "inertia" thing anyways? <-- humans. iirc we wouldn't survive without it
14:37:48 <alise> >_<
14:39:07 <alise> 00:35:56 <AnMaster> even a supernova within a hundred lightyears would be BAD as far as I understood?
14:39:08 <alise> 00:37:36 <coppro> very
14:39:08 <alise> 00:37:57 <coppro> we'd be good for a hundred years though!
14:39:11 <alise> Thanks, captain obvious!
14:40:05 <CakeProphet> .......
14:40:10 <alise> 01:42:44 <AnMaster> dammit google, "continuous" should not
14:40:11 <alise> fuzzy match
14:40:11 <alise> "continue"...
14:40:13 <alise> search +continuous
14:40:16 <alise> CakeProphet: ellipses howso
14:40:24 <CakeProphet> 08:56 -!- alise [~alise@91.105.125.91] has joined #esoteric
14:40:27 <CakeProphet> you mad bro?
14:40:38 <alise> How I mad, bro?
14:40:46 <CakeProphet> I am disappoint. :(
14:40:51 <AnMaster> alise, I know, but it was a strange fuzzy match anyway
14:40:58 <alise> CakeProphet: thou art confuzzling me.
14:41:07 <CakeProphet> Dunno
14:41:12 <CakeProphet> I felt like quoting something from you
14:41:17 <CakeProphet> but I couldn't find anything
14:41:18 <alise> 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 <alise> 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 <alise> restrictions (so even if you have passworded server or hub that doesn't allow any users in).
14:41:20 <CakeProphet> so I just quoted you logging in
14:41:25 <alise> UnrealIRCd: Awesome engineering
14:41:43 <CakeProphet> IRC written in the unreal engine?
14:41:52 <alise> >_<
14:42:00 -!- chickenzilla has joined.
14:42:09 <alise> so i have an extremely important life dilemma for you all
14:42:28 <alise> 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 <alise> My life is so exciting, to be faced with such dilemmas as these.
14:42:40 <Sgeo_> Air-dry hands
14:42:40 <CakeProphet> ....pick the towel up?
14:43:05 <Deewiant> Unless you managed to completely immerse it in the muck, use the other side
14:43:07 <CakeProphet> dispose of it properly, air dry, continue with life.
14:43:12 <CakeProphet> or yes.
14:43:18 <CakeProphet> what Deewiant has suggested.
14:43:22 <CakeProphet> for the drying phase of this operation.
14:43:24 <Sgeo_> Why are you typing with wet hands?
14:43:31 <alise> Deewiant: That's the scary thing, it CRUMPLED! *dramatic music*
14:43:55 <alise> 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 <alise> 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 <alise> So anyway, I think I have a workable model for a prototype secure, STUFF-implementing, high-level OS.
14:44:47 <CakeProphet> ...it's kind of weird being up this early. It's 9:44 AM
14:45:04 <CakeProphet> whereas, just a few weeks ago, this is the time I would be going to sleep.
14:45:55 <alise> Oh look at that, another iPhone.
14:46:19 <Sgeo_> alise, there's a virtual world I think I may be interested in
14:46:28 <alise> Astonishing.
14:46:31 <Sgeo_> But it has Apple-esque policies on content creation...
14:46:42 <CakeProphet> whatchu talkin' bout?
14:47:05 <Sgeo_> Blue Mars
14:47:43 <Sgeo_> http://sandboxcitymars.blogspot.com/2010/05/tharsis-estates-uploaded-to-be-online.html
14:48:37 <Sgeo_> On a different post: "- Remove female models since they are too "adult" to pass QA.
14:48:37 <Sgeo_> "
14:48:42 <alise> XD
14:49:19 <Sgeo_> Maybe it's just a phase, or maybe the creator voluntarily was submitting to a PG thing
14:49:27 <Sgeo_> Or maybe I'm just trying to justify this to myself
14:49:59 <Sgeo_> At any rate, I can't enter Blue Mars until I make the gaming computer
14:50:48 <CakeProphet> psh, text-based is >
14:51:16 <Sgeo_> What are my options for text-based?
14:51:28 <Sgeo_> LambdaMOO, with a sucky culture, or M*U*S*H, with sucky softcode?
14:51:28 <zzo38> Is IRC servers supposed to disconnect the client if the client sends a command which is too long?
14:51:47 <CakeProphet> Sgeo_: there are some good text-based MUDs that use MUD-like commands and such
14:51:50 <CakeProphet> and there are other MOOs
14:52:18 <CakeProphet> ...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 <alise> How is LambdaMOO's culture sucky?
14:53:53 <Sgeo_> 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 <CakeProphet> When I was working on a Python MUD server the built-in documentation feature of Python was rather handy
14:55:11 <CakeProphet> because I could just write up helpfiles on the command functions themselves.
14:55:36 <CakeProphet> and then have the helpfile system extract the __doc__ attribute.
14:56:19 -!- kar8nga has joined.
14:56:41 <alise> <alise> So anyway, I think I have a workable model for a prototype secure, STUFF-implementing, high-level OS.
14:56:45 <alise> I wish someone was more excited by this >_>
14:56:55 <CakeProphet> you've convinced me.
14:56:58 <CakeProphet> I'm excited.
14:56:59 <Sgeo_> What's stuff?
14:57:15 <alise> STUFF is my name for the family of models of stuff in operating systems.
14:57:22 <alise> A model is only STUFF if it is unified (everything fits into it).
14:57:25 <alise> Plan 9's files are STUFF.
14:57:29 <alise> Smalltalk's objects are STUFF.
14:57:42 <alise> Unix files aren't STUFF, because you have a lot of things like ioctl() that don't fit into the model.
14:57:52 <alise> Any truly good OS must, of course, have STUFF.
14:58:26 <Sgeo_> So "Everything is a file" is cake?
14:58:29 <Sgeo_> In UNIX?
14:58:39 <alise> Yes, yes it is.
14:58:46 <alise> I would also have accepted "lie".
15:02:27 <CakeProphet> yeah Plan 9 and Styx does "everything is a file"
15:02:29 <CakeProphet> but not UNIX.
15:03:04 <alise> 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 <alise> 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 <Sgeo_> Stop making me want to study Smalltalk again!
15:04:59 <CakeProphet> great... but is it Turing complete?
15:05:04 <CakeProphet> this is #esoteric, you know.
15:05:19 <alise> Yes, it is, being that the system would be programmed in it ;-)
15:05:28 <alise> Urgh, why is ;-) so creepy?
15:05:30 <CakeProphet> oh well good.
15:05:33 <CakeProphet> it's the nose.
15:05:36 <CakeProphet> ;) is better.
15:05:49 <alise> mm
15:06:01 <alise> even ;) triggers some sort of "crazy pedo" switch in my brain though :P
15:06:11 <CakeProphet> What makes you say that? ;)
15:06:17 <alise> AIEEEEEEE
15:06:21 <CakeProphet> maybe winks are just creepy.
15:06:25 <CakeProphet> in general.
15:06:37 <CakeProphet> What about ;P
15:06:44 <CakeProphet> that requires quite a bit of coordinate.
15:06:50 <CakeProphet> tongue-waggling /and/ winking, my word.
15:11:17 -!- hiato has quit (Read error: Connection reset by peer).
15:12:49 <alise> http://pastie.org/1001801.txt?key=hvhwcbziyri1j4vsujpzqq Some very muddled thoughts about what something in my system might look like.
15:15:01 <Sgeo_> Must.. stay.. awake
15:15:29 <alise> Admittedly it is ugly, but ...
15:15:30 <Sgeo_> My eyes are tearing up
15:15:33 <alise> It is a start.
15:17:22 <Sgeo_> I want to torrent something, but don't have nearly enough disk space
15:18:08 <alise> ?
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 <alise> CakeProphet: So were you legitimately excited? Somehow I think not :P
15:27:50 <CakeProphet> -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 <CakeProphet> which is not very.
15:28:03 <CakeProphet> *equally
15:28:31 <CakeProphet> though I am intrigued. I don't know if excited is the right word. :)
15:32:45 <alise> 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 <alise> And had sections of thinking about nothing else for a while.
15:33:19 <CakeProphet> ah, well okay.
15:38:01 <alise> Problem is, sometimes these purist designs turn out to be awkward in practice.
15:38:07 <alise> e.g.
15:38:08 <alise> ^ of: 's:
15:38:08 <alise> ^ (name: s)
15:38:09 <CakeProphet> huh. imagine that.
15:38:10 <alise> is hideous.
15:38:16 <alise> CakeProphet: Shush, you.
15:38:22 <CakeProphet> :)
15:38:24 <alise> I don't mean purist as in lambda calculus purist :P
15:38:30 <CakeProphet> no I know what you mean
15:39:29 <CakeProphet> 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 <CakeProphet> not only does it fit, but it fits well and makes sense.
15:40:10 <alise> Yeah.
15:40:23 <alise> Plan 9 totally nails it as far as inert things go; it doesn't have actual process code running in files.
15:40:33 <alise> Smalltalk nails it by simply ignoring the outside world.
15:42:47 <alise> 18:07:33 <oerjan> PROLOG isn't 2d though
15:42:51 <alise> I DON'T KNOW ABOUT PROLOG, BUT Prolog IS 1D
15:43:20 <CakeProphet> so.. are you mixing message passing into the filesystem or?
15:43:35 <alise> 18:13:17 <pikhq> About a meg of Brainfuck.
15:43:36 <alise> Two.
15:43:40 <alise> CakeProphet: There is no filesystem.
15:44:05 <alise> 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 <alise> 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 <alise> So, what is an object?
15:44:46 <alise> 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 <alise> How do objects interact?
15:45:16 <alise> 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 <alise> 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 <alise> If given any object, given a certain condition, do this thing; otherwise, keep looking for a "handler".
15:45:58 <alise> The interesting thing is, this message is sent asynchronously.
15:46:17 <alise> "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 <CakeProphet> alise: you could also have objects not running when they're waiting on messages. Like Erlang essentially.
15:46:32 <alise> "x := a b c d" makes x a future, in a sort of lazy way.
15:46:45 <alise> CakeProphet: Possibly, but I think objects should be able to constantly run code in the background, e.g. a calculation.
15:46:48 <alise> Now, the interesting thing:
15:46:54 <alise> How do we know what "a" is, when we send a message to the object a?
15:46:56 <alise> Simple.
15:47:05 <alise> Every object has "slots".
15:47:12 <alise> For instance, every object has the slot "self", pointing to itself.
15:47:17 <alise> There are NO global variables.
15:47:23 <alise> How do you get slots pointing to useful things?
15:47:26 <CakeProphet> alise: well right... this would be the case in which you wait for messages asynchronously with a timeout.
15:47:31 <alise> Simple: You specify in the object's definition that it requires some certain kind of object.
15:47:38 <alise> Then whatever creates you must supply.
15:47:46 <alise> This is security.
15:47:57 <alise> You can only use things you have been trusted to use by something else trusted to use them.
15:48:06 <alise> You are never allowed to access anything you are not trusted with.
15:48:20 <alise> And, incidentally, those method handlers? Those are slots, too, that you assign yourself.
15:48:57 <alise> 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 <alise> You might ask: how do we do arguments?
15:49:16 <alise> Simple.
15:49:22 <alise> Imagine some object that will add numbers for you, call it adder.
15:49:33 <alise> Now say we want to do "adder add 2 3" and get 5 back.
15:50:00 <alise> 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 <alise> This is like currying, but objecty.
15:50:30 <CakeProphet> 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 <CakeProphet> alise: that sounds inefficient from an OS design standpoint.
15:51:21 <alise> Inefficient? Howso? Also, the waiting for messages would be done implicitly, of course.
15:51:33 <alise> Basically, computation would be done by the asynchronous message passes:
15:51:38 <alise> You do "foo docomplexcomputation".
15:51:41 <alise> docomplexcomputation has a shitload of code.
15:51:47 <alise> It runs asynchronously, not bothering you.
15:51:50 <alise> Tada.
15:51:51 <CakeProphet> ....right. but why not have an option to block and wait? This makes scheduling easier.
15:52:03 <alise> Of course, "foo resultsofcomplexcomputation" would then block until the comptuation is done.
15:52:20 <alise> CakeProphet: see above
15:52:35 <alise> Since objects control all access to their own privates (har har), they block whenever it is needed.
15:53:23 <CakeProphet> but you cannot block while listening?
15:53:46 <alise> Well... listening is implicit. There is no "listen" instruction.
15:53:58 <CakeProphet> ...no, there would have to be.
15:54:02 <alise> No.
15:54:08 <CakeProphet> there has to be a point in code where you receive the message.
15:54:11 <CakeProphet> that's what I mean by listen.
15:54:18 <CakeProphet> "listen" implies block-until-receive.
15:54:22 <alise> When you define a Smalltalk object, where is the code that does "listen for messages, send off to appropriate method"?
15:54:26 <alise> There is none. It is part of the language.
15:54:50 <CakeProphet> right, but that's because there's no concurrency.
15:54:54 <alise> 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 <CakeProphet> so basically you're saying that messages are given handlers.
15:55:46 <CakeProphet> and that is why you don't have to listen with a command.
15:56:01 <alise> Well... no. Messages just pass on to slots, basically.
15:56:22 <alise> 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 <CakeProphet> which are?
15:56:30 <alise> I told you what slots are.
15:56:36 <CakeProphet> ...but what are they.
15:56:38 <CakeProphet> as in
15:56:44 <CakeProphet> I know what a slot is on an object
15:56:46 <alise> <alise> How do we know what "a" is, when we send a message to the object a?
15:56:46 <alise> <alise> Simple.
15:56:46 <alise> <alise> Every object has "slots".
15:56:46 <alise> <alise> For instance, every object has the slot "self", pointing to itself.
15:56:46 <alise> <alise> There are NO global variables.
15:56:46 <alise> <alise> How do you get slots pointing to useful things?
15:56:48 <CakeProphet> but what do you assign slots to.
15:56:48 <alise> <CakeProphet> alise: well right... this would be the case in which you wait for messages asynchronously with a timeout.
15:56:51 <alise> <alise> Simple: You specify in the object's definition that it requires some certain kind of object.
15:56:53 <alise> <alise> Then whatever creates you must supply.
15:56:55 <alise> <alise> This is security.
15:56:57 <alise> <alise> You can only use things you have been trusted to use by something else trusted to use them.
15:56:59 <alise> <alise> You are never allowed to access anything you are not trusted with.
15:57:01 <alise> <alise> And, incidentally, those method handlers? Those are slots, too, that you assign yourself.
15:57:02 <CakeProphet> ......you can stop now.
15:57:03 <alise> Objects.
15:58:36 <zzo38> Do file-system also need object with each slot for each directory/file/mode/etc?
15:58:37 <CakeProphet> this doesn't sound very language agnostic.
15:58:48 <alise> CakeProphet: Of course it isn't.
15:58:51 <alise> There is no reason to be.
15:59:08 <alise> The line between "language environment" and "operating system" is a false one, created by bad OSes from the 70s, pretty much.
15:59:29 <alise> 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 <CakeProphet> I think there are benefits to being able to use any language in your OS environment easily.
15:59:40 <alise> How language agnostic is Smalltalk? It's a question that doesn't make sense, isn't it?
15:59:48 <CakeProphet> ...Smalltalk is a language
15:59:50 <alise> 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 <alise> CakeProphet: No.
15:59:55 <alise> CakeProphet: Smalltalk is an operating system.
15:59:59 <CakeProphet> ...what?
16:00:12 <alise> 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 <CakeProphet> since when is Smalltalk an OS?
16:00:23 <alise> Look up the history.
16:00:29 <CakeProphet> right
16:00:39 <alise> Smalltalk is a language AND and an operating system, and always had been.
16:00:40 <CakeProphet> but that would answer the question "since when was Smalltalk an OS"
16:00:43 <CakeProphet> not my actual question.
16:00:47 <alise> Originally it ran directly on the machine.
16:01:17 <alise> 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 <zzo38> 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 <alise> 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 <zzo38> Inferno is a operating system and VM, and can run inside of other operating-system, or by itself.
16:01:58 <alise> Inferno is basically Plan 9 made to be VMy.
16:02:12 <CakeProphet> ...I am still Smalltalk is a programming language and not an OS.
16:02:29 <alise> You are wrong, and the creators of Smalltalk even disagree with you.
16:02:39 <CakeProphet> 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 <alise> Heck, even cpressey disagrees with you. That's like being dishonoured to the max. At least here :P
16:03:29 <CakeProphet> saying Smalltalk is an operating system is like saying that any language with its own process scheduler is an OS.
16:03:54 <alise> Well, I'm uninterested in arguing it.
16:04:14 <CakeProphet> I suppose I am as well.
16:07:22 <Sgeo_> Smalltalk is probably more of an OS than YouOS was
16:08:09 <CakeProphet> Erlang is more of an OS than Smalltalk.
16:08:17 -!- BeholdMyGlory has quit (Remote host closed the connection).
16:08:26 <alise> CakeProphet: hahaha
16:08:55 <Sgeo_> Erlang programs can standalone. Smalltalk programs rarely do
16:09:04 <Sgeo_> [Unless you're using GNU Smalltalk[
16:09:05 <alise> 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 <Sgeo_> ]
16:09:10 <alise> Would be good.
16:09:15 <alise> Or you'll just be embarrasing yourself.
16:09:29 <CakeProphet> nah...
16:09:56 <CakeProphet> I'd only embarass myself if I cared what a language designer thinks. I know plenty about Smalltalk.
16:10:04 <alise> But, clearly, not enough.
16:10:09 <Sgeo_> Fuckin' popunders, how do they work?
16:10:14 <CakeProphet> That's nice.
16:10:15 -!- CakeProphet has quit (Quit: leaving).
16:10:52 <alise> 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 <alise> "Ask Proggit: How to file an International Software Patent WITHOUT a patent attorney?"
16:13:21 <alise> Yes, proggit will help you file a software patent.
16:13:53 <zzo38> I don't like patent.
16:13:57 <zzo38> I don't file any patent
16:14:58 <alise> Even those who do like patents dislike software patents, especially as they contradict what a patent was originally invented for!
16:15:02 <alise> Ridiculous.
16:15:51 <zzo38> 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 <alise> I dislike all forms of intellectual property! Apart from trademarks, those are quite acceptable.
16:16:29 <zzo38> I also happen to like trademarks. I find trademarks also acceptable.
16:17:18 <alise> "Trademarks: Quite acceptable, agreeable things." That's some rallying cry.
16:17:28 <alise> "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 <alise> Sgeo_: there are many factors mitigating this in a no-IP world
16:18:12 <alise> 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 <alise> "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 <zzo38> 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 <alise> Also a good point: wanting desperately to be credited for some software is basically ego.
16:21:00 <alise> 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 <alise> And I don't see this as a particularly positive trait in you.
16:23:35 <Sgeo_> 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 <Sgeo_> Although I probably value recognition more, and money less, than many people
16:29:24 <zzo38> 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 <zzo38> Here is the comment: Request must not exceed 512 chars (incl. CR+LF!), see RFC 2812. Disconnect Client if this happens.
16:30:29 <zzo38> But surely instead it should just truncate, or else, display an error without disconnecting the client.
16:31:46 <alise> 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 <alise> Or something.
16:32:08 <alise> Then, if the buffer does not have \r\n, read until \r\n.
16:32:12 <alise> (and disregard)
16:34:50 <zzo38> 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 <alise> Yarr
16:35:17 <alise> I want to write an IRC daemon, now.
16:35:18 <alise> In fact, I will.
16:41:40 <Sgeo_> alise, I lied. There is one project for which completing it is more important to me than recognition
16:44:58 <zzo38> 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 <zzo38> What you call this program?
16:47:12 <alise> zzo38: I will probably start it from scratch.
16:47:15 <alise> Probably C.
16:47:17 <alise> Unsure.
16:47:25 <alise> I dislike basing programs on others for some reason.
16:48:04 <zzo38> What features do you plan to implement?
16:48:46 <alise> 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 <alise> Plus my own services implementation, most likely.
16:52:42 <zzo38> Maybe can you make a list?
16:53:37 <alise> Hmm...
16:53:44 <alise> Hard. I'll try.
16:54:02 <alise> zzo38: You know all the variations on *-line? I'd probably try and unify them.
16:56:22 <alise> I guess that's not so radical.
16:56:24 <alise> But eh.
16:56:27 <alise> zzo38: What is yours based on?
16:56:56 <zzo38> Mine is based on ngIRCd. It is the closest program to what I wanted, so I used it
16:58:02 <alise> ngircd is nice.
16:58:32 <alise> it's event based, right?
16:58:34 <alise> well, kinda obvious
16:58:37 <alise> all irc servers are
16:59:50 <zzo38> 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 <alise> I'm a severe sufferer of NIH syndrome, so I loathe to use anyone else's INHERENTLY FLAWED work!
17:02:16 <AnMaster> 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 <alise> AnMaster: it's called branding and you're allowed to do it.
17:02:47 <alise> the foot just confuses ubuntu users, I say this from experience
17:02:56 <alise> (my mother asked me "why is there a foot on the back of the cards o_o")
17:02:56 <AnMaster> alise, also the non-logo filled green background with green bg with ubuntu logo in it
17:03:01 <AnMaster> which makes less sense
17:03:19 <AnMaster> and it is an ugly green shade compared to upstream IMO
17:03:29 <alise> that's a rather more specific complaint :P
17:03:36 <alise> btw i forget, what are & and ! channels? on irc
17:03:40 <alise> I know what + is, modeless.
17:04:03 <zzo38> & is local to the current server, and ! is like # but safe against netsplit by adding a code to the beginning
17:04:17 <AnMaster> yeah random code, so not completely safe
17:04:26 <AnMaster> and much worse than the normal solution
17:04:35 <AnMaster> which checks timestamp on channels when servers link
17:04:37 <zzo38> 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 <alise> & seems silly.
17:04:45 <alise> so does ! too
17:04:48 <AnMaster> and discards the newer one if they are different
17:04:53 <AnMaster> (modes from it that is)
17:05:15 <alise> 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 <alise> due to some character set or whatever
17:05:32 <zzo38> In my opinion, it is # silly and &!+ good
17:05:44 <alise> why is & good
17:05:50 <alise> the whole point of server linking is to present a unified network
17:06:05 <zzo38> There are some reasons to have local channels to a server
17:06:09 <alise> 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 <alise> if the former, then it would be useful as an impromptu ad-hoc private channel
17:06:31 <zzo38> It can include server administration stuff, and so on
17:06:50 <zzo38> When you do PRIVMSG to a,b,c,
17:07:01 <alise> a,b,c privmsgs don't work on freenode
17:07:02 <zzo38> No, I see it only being send to me only
17:07:11 <AnMaster> alise, not sure
17:07:18 <AnMaster> alise, I think "only to them"
17:07:25 <alise> zzo38: doesn't work on freenode, like i said
17:07:29 <alise> AnMaster: that sucks
17:07:43 <alise> well, nobody supports a,b,c messages right? So if I supported them, I might as well make that change.
17:07:50 <alise> and also, a request for the names of a,b,c would return a, b and c
17:07:53 <AnMaster> alise, oh lots of ircds support it
17:07:56 <zzo38> And I look at the log, it does appear in the log
17:07:57 <AnMaster> basically everywhere but freenode
17:07:59 <AnMaster> alise, ^
17:08:01 <alise> AnMaster: well, ok
17:08:04 <alise> AnMaster: but people only use it for spam :))
17:08:12 <zzo38> I sent it to: PRIVMSG zzo38,alise,#esoteric
17:08:13 <AnMaster> alise, nop,
17:08:18 <AnMaster> I seen it use for valid purposes
17:08:31 <zzo38> See? It works
17:08:37 <alise> well... I think I should have SOME sort of impromptu private chat functionality
17:08:43 <alise> zzo38: huh
17:08:46 <alise> maybe freenode supports it now
17:09:04 <alise> AnMaster: zzo38: see private messages
17:09:10 <zzo38> You can just send messages to directly to the other user, if it is only 2 people
17:09:56 <AnMaster> bit busy
17:09:58 <zzo38> For more than 2 people, you can use a channel with key or limit mode set
17:11:14 <zzo38> Or, you can possibly have the client to open connection to multiple using the comma
17:11:23 <alise> Okay then, new proposal:
17:11:32 <zzo38> (In PHIRC, the command is "/CHAN alise,AnMaster" for example)
17:12:06 <alise> 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 <alise> If b parted, all users in "@a,b,c,you" would get transferred to "@a,c,you" instead.
17:12:32 <alise> "NAMES @a,b,c,you" would yield a, b, c and you.
17:13:43 <zzo38> Perhaps all the names should be put in alphabetical order
17:14:05 <alise> Agreed.
17:14:26 <alise> So join @x,z,y,ab,c would make you join @ab,c,x,y,you,z.
17:14:30 <alise> (assuming your nick is you)
17:14:36 <alise> And the join would fail if any user was not online.
17:14:40 <zzo38> alise: Yes, that is what I meant
17:15:09 <alise> Yeah.
17:15:45 <alise> 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 <zzo38> 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 <alise> Or maybe just "PRIVMSG @a,b,c,d :foo" when you're not in it.
17:17:09 <alise> AnMaster's pointed out that commas in channel names are a bad idea.
17:17:16 <alise> So how about @a;b;c.
17:17:17 <zzo38> 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 <alise> Yeah, so ; instead.
17:17:55 <AnMaster> alise, better check that that doesn't break some common irc clients like irssi, xchat, and the other big ones
17:17:56 <zzo38> That is, using something which is allowed in a channel name but disallowed in a nick name is should be used.
17:18:00 <alise> AnMaster: I will, yes.
17:18:09 <alise> zzo38: @ isn't allowed in a nick, is it?
17:18:18 <AnMaster> alise, user!ident@host
17:18:23 <alise> But @abc.
17:18:28 <alise> You can't PRIVMSG to @abc.
17:18:30 <zzo38> I don't think so. @ is used to separate nick!username@hostname
17:18:40 <alise> Right.
17:18:45 <AnMaster> alise, just don't use $
17:18:54 <alise> $$$$why not
17:19:09 <AnMaster> alise, because that is used for global notices and such. /notice $*.freenode.net [Global notice from staff]
17:19:25 <alise> Ah.
17:20:21 <AnMaster> alise, you know, it would probably be saner to make a new protocol and drop compatibility.
17:20:29 <AnMaster> would make a lot of the stuff less hackish
17:20:36 <alise> That was what the Haver developers did.
17:20:40 <alise> Issue was, writing good clients is hard.
17:20:46 <alise> And most people won't want to install one, anyway.
17:20:50 <alise> So it's pretty much dead.
17:20:52 <AnMaster> hm
17:20:58 <alise> And it turns out IRC actually gets a lot of stuff damn right.
17:21:03 <alise> Sure, it has warts and flaws, but the actual basics are good.
17:21:08 <AnMaster> alise, yes but only because no one follows the spec
17:21:10 <AnMaster> :P
17:21:16 <zzo38> 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 <alise> zzo38: But clients won't support this by default.
17:21:51 <alise> I want something I can use right now to say, e.g. /join @coconspirator1,coconspirator2,coconspirator3 and discuss evil plans.
17:22:06 <zzo38> 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 <AnMaster> alise, can you prevent yourself from being joined against your will to such a channel?
17:22:12 <zzo38> It depend on the client, how it is done
17:22:25 <AnMaster> alise, anyway you could do a client script to create a random channel and send INVITE ;P
17:22:53 <alise> AnMaster: Any such joining thing would just be a script that /parts as soon as you join.
17:22:59 <alise> Perhaps a server could support it, but who cares.
17:23:25 <AnMaster> alise, well I can quite easily see the possibilities for abuse. filling channel list with useless channels
17:23:36 <AnMaster> and making you hit channel count limit
17:23:48 <alise> As I said, there will be a limit on the amount of @ channels you can be in at one time.
17:24:37 <AnMaster> alise, aha! DOS to prevent the user from joining the ones he want
17:24:50 <AnMaster> just get a few bots on that create new such channels with him/her
17:24:52 <alise> How could you do that if you can only make a user join five channels?
17:24:54 <zzo38> 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 <alise> 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 <alise> 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 <alise> zzo38: I guess so.
17:25:38 <zzo38> 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 <alise> Maybe I'll do that.
17:25:51 <alise> /privchat would work in xchat, I guess.
17:26:16 <AnMaster> 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 <alise> zzo38: what if someone invites someone and they are really annoying and you want to get rid of them?
17:26:21 <alise> starting a new privchat would be irritating
17:26:36 <alise> AnMaster: and the point of this would be?
17:26:37 <zzo38> alise: Then you use SILENCE or the client ignore feature.
17:26:42 <alise> you can flood channels with tons of bots too to stop people talking
17:26:45 <alise> whoop de doo
17:26:54 <alise> zzo38: no, because then they would see your secret plans
17:26:57 <alise> and they are plotting against you
17:27:50 <zzo38> 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 <alise> Alright then.
17:28:12 <AnMaster> alise, ... whatever the point of idiots trolling is
17:28:15 <alise> It should be PRIVCHAT user1 user2 user3, btw, not commas.
17:28:16 <alise> Surely?
17:28:18 <AnMaster> I'm just saying it will happen
17:28:19 <alise> Or, can IRC commands not be variadic.
17:28:20 <AnMaster> not that it is good
17:28:35 <AnMaster> alise, I could quite imagine someone like fax or such doing it
17:28:38 <alise> 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 <alise> nah, fax hates programming :-P
17:28:52 <zzo38> But even then, the server owner could program it to see all of your evil plans anyways!
17:29:03 <zzo38> (If they wanted to!)
17:29:05 <alise> zzo38: yeah but server owners are rarely so ... good :P
17:29:11 <alise> also they rarely care about Agora conspiracies
17:29:35 <zzo38> Is "good" the right word? Do you mean "intrusive" or something?
17:29:36 <alise> Actually, I once had a marvellous proposal.
17:29:54 <alise> zzo38: Well, it's not "bad" per se because they're foiling evil plans.
17:29:56 <alise> Intrusive is a good word.
17:30:16 <alise> So, this marvellous proposal.
17:30:31 <alise> It was a cryptographically-secure, completely-encrypted, democratic chat system.
17:30:42 <AnMaster> 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 <alise> 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 <alise> etc.
17:31:19 <alise> Never got around to... doing it, though.
17:31:48 <alise> AnMaster: well, e.g. "/privchat ais523 comex" is quicker than "/join #cabalchat \n /invite ais523 \n /invite comex".
17:32:04 <alise> Making it an invite would be good.
17:32:07 <alise> Then it couldn't be abused.
17:33:11 <alise> But, yeah, my encrypted chat system would have made everything perfect forever.
17:33:21 <AnMaster> alise, the automatic join is somewhat annoying though
17:33:27 <AnMaster> yeah so invite
17:33:31 <alise> AnMaster: yeah, invite
17:33:52 <alise> 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 <zzo38> INVITE is what I proposed anyways, after alise propose @ channel
17:34:36 <zzo38> alise: Which is basically what my modification of your idea is.
17:34:45 <alise> Yep.
17:34:47 <alise> I agree with it now.
17:35:05 <zzo38> OK
17:37:00 <alise> zzo38: what select()-like function does ngircd use? epoll/kqueue?
17:38:26 <zzo38> I think the autoconf will automatically select the right one and use preprocessor macro to choose one
17:38:52 <alise> Ew, autoconf!
17:39:11 <AnMaster> alise, most ircds try to select the best polling function at some sort of configure time
17:39:18 <alise> Yeah.
17:39:24 <AnMaster> alise, inspircd doesn't use autoconf btw
17:39:25 <alise> I was just wondering if it was still stuck in select() age.
17:39:28 <AnMaster> it uses some perl thingy iirc
17:39:34 <alise> Is it easy to migrate code from select() to epoll()/kqueue?
17:39:37 <zzo38> I don't use autoconf for my own programs, but this program uses autoconf, so, it is still used.
17:39:40 <AnMaster> since autoconf didn't really cover the needs. it is very modular
17:39:59 <AnMaster> rather nice build system to _use_ at least
17:40:59 <zzo38> When I write a program with based from other program with autoconf, then autoconf is still used. Otherwise it isn't.
17:42:24 <zzo38> 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 <zzo38> 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 <zzo38> The syntax highlighting in PHIRC is designed to work only with properly formed IRC commands, so NS and CS confuse it.
17:44:50 <alise> So, anyway, now I'm kinda sad that I didn't spec up that chat system.
17:44:53 <alise> It was terribly well thought out.
17:45:50 <zzo38> (When I complain that the NS and CS are improper syntax, they don't believe me.......)
17:47:33 <alise> ...but they won't be saying that when I take over the world! *mad cackle*
17:52:39 <alise> <alise> Is it easy to migrate code from select() to epoll()/kqueue?
17:52:46 -!- KingOfKarlsruhe has joined.
17:54:38 <alise> AnMaster: ^
17:56:56 <AnMaster> alise, not sure, a bit of work at least. It would be easier the other way around
17:56:58 <AnMaster> I think
17:57:03 <AnMaster> bbl
17:57:06 <alise> So I should start out writing epoll?
17:57:46 <AnMaster> 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 <AnMaster> 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 <alise> I care mainly about Linux, tbh.
17:58:41 <AnMaster> so your abstraction should probably just maintain it's own list for the select() case
17:58:49 <alise> So I'd prefer starting just supporting epoll or something.
17:58:58 <AnMaster> would probably work
17:59:16 <AnMaster> anyway, it is like two screens of man page for each to learn them
17:59:27 <alise> Yeah, but ... only losers use BSD :P
17:59:29 <AnMaster> or at least get an idea of how it works
17:59:36 <AnMaster> alise, does OS X use kqueue?
17:59:39 <AnMaster> presumably it does
17:59:41 <alise> Yes :P
17:59:58 <AnMaster> yep losers and typography geeks
18:00:11 <alise> hey now that's person
18:00:12 <AnMaster> so no one important really
18:00:12 <alise> *personal
18:00:17 <AnMaster> ;P
18:00:24 <alise> os x sorta sucks at typography recently anyway.
18:00:27 <AnMaster> what?
18:00:37 <AnMaster> alise, why?
18:00:41 <alise> It has nice typefaces, yes, but it's seen some woeful typographic crimes recently.
18:00:47 <AnMaster> such as?
18:00:49 <alise> Especially on the iPhone and iPad.
18:01:00 <alise> iBooks, for instance, justifies text without hyphenating it. Rivers and other such abhorrent ugliness abound.
18:01:29 <alise> http://subtraction.pmhclients.com/images/uploads/2010-06-08-ibooks.png
18:01:38 <alise> It's high-quality typesetting!
18:01:47 <alise> AnMaster: So really, nowadays the only true refuge of typography fans is TeX.
18:01:51 <AnMaster> hm
18:01:57 <alise> Which is, you know, not so bad really.
18:01:59 <AnMaster> alise, and yeah Computer Modern is wonderful :)
18:02:07 <alise> I never said Computer Modern.
18:02:10 <alise> Did I say Computer Modern?
18:02:17 <alise> Computer Modern is Didone, for heaven's sake!
18:02:20 <AnMaster> I did, and I was serious
18:02:30 <AnMaster> alise, whatever that means
18:02:35 <AnMaster> I just like how it looks
18:02:46 <alise> 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 <alise> 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 <AnMaster> did one, did two, did three, ....
18:03:43 <AnMaster> alise, and you don't like them?
18:03:44 <AnMaster> why?
18:03:49 <alise> Nobody does.
18:03:53 <AnMaster> alise, um...
18:03:58 <AnMaster> presumably Knuth does?
18:04:07 <AnMaster> and I just said I did
18:04:19 <alise> 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 <alise> No, you didn't say you like them. Just one particular specimen.
18:04:32 <AnMaster> alise, well true
18:04:40 <alise> Computer Modern is a wonderful typeface family, though I daresay its sans-serif variation is its high-point.
18:04:51 <alise> But, e.g. Bodoni is completely unreadable for long texts.
18:04:58 <AnMaster> 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 <alise> And the appearance is jarring.
18:05:08 <alise> AnMaster: Now try reading a book set entirely in it.
18:05:28 <AnMaster> alise, well? shouldn't be too hard?
18:05:31 <alise> The ridiculously thick strokes along with the ridiculously thin serifs are painful for a long text.
18:05:41 <AnMaster> hm true
18:05:53 <alise> 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 <AnMaster> well then I say that that "Bodoni" isn't a good one
18:06:06 <alise> But Bodoni is the definition of DIdone.
18:06:07 <alise> *Didone
18:06:11 <AnMaster> but I don't have enough data points to make a generalisation as you pointed out before
18:06:12 <alise> Didone is literally "Like Bodoni or Didot".
18:06:33 <AnMaster> hm
18:06:34 <alise> 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 <alise> (And WTF @ that 7.)
18:06:47 <alise> And that Q's tail.
18:06:52 <AnMaster> what is wrong with the 7?
18:07:03 <alise> It looks like it's been melted.
18:07:12 <alise> Top bit is fine, whoops, just sort of slouching downwards.
18:07:17 <AnMaster> alise, does it? I find the 5 harder to accept
18:07:21 <AnMaster> it looks like a flag
18:07:23 <AnMaster> at the top
18:07:27 <alise> The 5 is a backwards c waving a flag.
18:07:29 <alise> Ha
18:07:49 <alise> Anyway, Computer Modern is the only acceptable Didone. It's a good one.
18:07:55 <alise> But it's still Didone and therefore on principles I must loathe it :-P
18:08:41 <alise> Computer Modern sans is very, very nice, though.
18:08:57 <alise> http://media.smashingmagazine.com/cdn_smash/images/freefonts/cmu-sans-serif.gif
18:10:07 <alise> One gripe with Computer Modern serif: the Q'stail should not look like that.
18:10:09 <alise> http://www.identifont.com/samples/ams/CMR10.gif
18:10:12 <AnMaster> bbl food
18:10:14 <alise> It pokes into the Q before exiting, which is ugly.
18:11:04 <alise> Hmm.
18:11:13 * alise wonders about IRC server architecture and such.
18:12:41 <jabb> I love monospace
18:12:46 <jabb> for everything
18:13:08 -!- impomatic has joined.
18:13:30 <alise> jabb: hi oklopol
18:14:18 -!- kar8nga has joined.
18:17:06 <pineapple> didone?
18:17:13 <zzo38> 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 <impomatic> Is anyone (in the UK) going to the Vintage Computer Festival next week?
18:21:43 <AnMaster> alise, I think you are mistaken
18:21:46 <AnMaster> * [jabb] (~grue@71.94.31.166): grue
18:21:52 <AnMaster> that does not look like oklopol
18:22:13 <alise> I was joking.
18:22:15 <AnMaster> geoip gives US too
18:22:17 <AnMaster> alise, ah
18:22:17 <alise> impomatic: When is it?
18:22:35 <AnMaster> impomatic, what sort of stuff will be shown there?
18:22:39 <AnMaster> PDP-10s?
18:22:47 <impomatic> 19/20 June. 10:30am start, at Bletchley Park near Milton Keynes.
18:22:56 <alise> What weekdays?
18:22:59 <AnMaster> hm then it could be way older
18:23:07 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
18:23:15 <impomatic> Details: http://www.tnmoc.org/vcf-gb.aspx
18:24:03 <alise> impomatic: It's on the weekend! Hooray.
18:24:07 <alise> I might be able to come, then.
18:24:19 <AnMaster> impomatic, what sort of vintage machines is it dealing with? mainframe? early home systems (c64 and such)? Or maybe varied?
18:24:33 <alise> 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 <AnMaster> alise, XD
18:25:05 <impomatic> AnMaster: varied
18:25:09 <alise> "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 <AnMaster> impomatic, ah nice
18:25:24 <alise> "What's your name, Miss ..." (Most people mistake me for female :P)
18:25:30 <AnMaster> impomatic, a pity it is way too far away for me
18:25:51 <impomatic> Not so close to me. We need to camp over.
18:26:20 <alise> Yes, but AnMaster's in Sweden.
18:26:27 <impomatic> Ah okay :-)
18:26:39 <AnMaster> exactly, way too far away
18:26:41 <alise> I'm in the north, so... I guess I can probably not make it.
18:27:48 <impomatic> I'll take some photos for you then! So you know what you missed :-)
18:28:23 <alise> Tease.
18:28:43 <alise> Would be nice to have a break from the crappy weeks I've been having... oh well.
18:30:26 <AnMaster> alise, not moving abroad?
18:33:32 <alise> In a week?
18:37:41 -!- oerjan has joined.
18:41:10 <oerjan> <alise> 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 <impomatic> Dry my hands on my jeans?
18:42:26 <oerjan> 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 <oerjan> (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 <alise> apparently the Dyson air hand-dryers are really good
18:43:26 <alise> the rest are shit though
18:43:28 <oerjan> s/it/the paper towels/
18:43:35 <alise> although maybe it was a Dyson, iirc those are the ones you have to stick your hands into
18:43:35 <oerjan> alise: that's exactly the kind they have
18:43:53 <alise> well i agree that i wouldn't entrust my hands into james dyson's... hands
18:43:54 <alise> but still :P
18:44:49 <oerjan> 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 <alise> `addquote <oerjan> alise: mainly it's the fact it blows so hard [...]
18:45:24 <alise> LULZ
18:45:29 <alise> actually wait the whole thing is hilarious out of context
18:45:34 <alise> good thing HackEgo seems to have broken
18:45:38 <oerjan> whew
18:45:49 <HackEgo> 179|<oerjan> alise: mainly it's the fact it blows so hard [...]
18:45:55 <oerjan> argh!
18:45:57 <alise> darn
18:45:58 <alise> `help
18:45:59 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
18:46:09 <alise> `revert 1505
18:46:11 <HackEgo> Done.
18:46:14 <alise> `addquote <oerjan> 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 <HackEgo> 179|<oerjan> 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 <alise> oerjan is a closeted gay republican
18:47:10 <impomatic> New programming games keep getting invented faster than I'm learning the old ones :-(
18:51:36 <AnMaster> <alise> apparently the Dyson air hand-dryers are really good <-- are they spherical?
18:51:44 <alise> *ballic
18:51:46 <alise> not afaik :P
18:51:51 <AnMaster> alise, meh.
18:52:01 <alise> i think it's a reasonable bet that they have some parts also found in vacuum cleaners!
18:52:28 <AnMaster> alise, Dyson dryer sphere would have been an awesome name
18:53:11 <alise> you forgot "air multiplier"
18:53:33 <AnMaster> heh?
18:53:38 <alise> http://www.dyson.co.uk/fans/
18:53:55 <alise> 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 <AnMaster> um...
18:53:59 <alise> also it costs. a lot
18:54:00 <AnMaster> XD
18:54:42 <oerjan> AnMaster: that's definitely not the hand drying type though
18:54:52 <AnMaster> alise, I can't see any air vents or sch?
18:54:54 <AnMaster> such*
18:55:02 <alise> AnMaster: it's the ring
18:55:10 <AnMaster> alise, it looks like a magnifier without the glass to be honest...
18:55:20 <AnMaster> alise, and what in the ring?
18:55:23 <alise> http://www.dyson.co.uk/images/technology/air_multiplier/header16xMultiplier.jpg some definition of 15
18:55:28 <alise> also lol @ 16x in filename but 15x in picture
18:55:34 <alise> AnMaster: nothing, the parts are down below
18:55:45 <oerjan> http://www.dyson.co.uk/dryers/ that picture is the hand dryer thing
18:55:56 <AnMaster> alise, there must be some holes for the air to exit through ...
18:56:05 <alise> AnMaster: in the ring.
18:56:29 <AnMaster> alise, also I assume it uses fusion or something to produce new oxygen molecules and so on?
18:56:36 <alise> no :P
18:56:42 <AnMaster> alise, or where does it get the extra 14 parts of air from?
18:56:43 <oerjan> and heck, would you really want to put your hands into anything whose name contains "blade"
18:56:49 <alise> hammerspace
18:56:56 <AnMaster> XD
18:57:25 <AnMaster> "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 <impomatic> New programming games keep getting invented faster than I'm learning the old ones :-(
19:02:21 <AnMaster> impomatic, such as?
19:02:39 <alise> hi ais523!
19:02:50 <alise> Does anyone know of a... curses-based word processor? The idea sounds crazy, I know...
19:03:08 <ais523> alise: word processors always used to work like that
19:03:17 <alise> Yes, but not in that sense, really.
19:03:23 <ais523> WordPerfect could easily have been implemented with curses, although it probably used a different library
19:03:31 <AnMaster> hello ais523 btw
19:03:35 <alise> 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 <alise> And perhaps automatically justify and hyphenate text as you type.
19:03:56 <AnMaster> alise, emacs mode!
19:04:05 <AnMaster> if there isn't one, there should be
19:04:09 <ais523> oh, there is emacs rich text mode, you're right
19:04:16 <ais523> which I have used as a word processor before
19:04:20 <alise> http://www.gnu.org/software/emacs/manual/html_node/emacs/Formatted-Text.html#Formatted-Text
19:05:02 <impomatic> 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 <alise> It does not seem to justify /as I type/.
19:05:38 <ais523> if this is a reference to the Dyson Airblade, it doesn't work very well
19:05:44 <alise> Oh, I don't have auto fill mode.
19:05:49 <alise> ais523: it is
19:05:54 <impomatic> 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 <ais523> all the new handdriers at the university are that model
19:06:20 <ais523> but they never seem to really leave my hands dry, unlike the old-fashioned sort which did after a few minutes
19:06:35 <alise> someone ought to just invent a self-cleaning towel
19:06:50 -!- vuvuzello has joined.
19:06:51 <impomatic> Airblade never dried my hands properly.
19:06:56 <alise> enriched-mode sucks, it can't hyphenate
19:10:13 <ais523> yep, it's far from ideal
19:10:25 <ais523> hmm, someone should write a curses implementation of LyX
19:10:35 <AnMaster> ais523, ouch
19:10:41 <ais523> AnMaster: why ouch?
19:10:42 <alise> LyX's typesetting is piss-poor.
19:10:49 <alise> It only looks good after sending off to LaTeX.
19:10:49 <ais523> alise: yes, wouldn't be hard to do better
19:10:55 <alise> Okay, full list of problems with enriched-mode:
19:10:56 <ais523> it's good enough to tell what you're doing, though
19:11:05 <alise> - It justifies without hyphenation. This is a cardinal sin.
19:11:15 <alise> - It can't do nice quotes.
19:12:23 <ais523> hmm, this reminds me, I own a book about compiler design which appears to have been typeset using troff
19:12:33 <alise> 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 <alise> Ouch, enriched-mode. Ouch.
19:12:51 <ais523> that said, it gives examples in BCPL, so must be pretty old
19:12:55 <AnMaster> <alise> LyX's typesetting is piss-poor. <alise> It only looks good after sending off to LaTeX. <-- isn't that the POINT of it?
19:13:00 <ais523> with occasional mentions of Pascal and Cobol
19:13:00 <alise> ais523: groff actually typesets pretty well nowadays
19:13:01 <AnMaster> sending it off to latex I mean
19:13:09 <ais523> AnMaster: it would be better if it set well beforehand, though
19:13:16 <alise> AnMaster: Yes, but e.g. TeXmacs, though it has a bad interface, typesets as well as TeX in real-time.
19:13:22 <ais523> AnMaster: it would be better if it set well beforehand, though
19:13:31 <AnMaster> ais523, well maybe, I find that using a sans serif on screen when editing works better
19:13:41 <ais523> 'twould make it easier to edit, even though the final product would be the same
19:14:11 <ais523> hmm, I find that with a high enough resolution, serifs make text readable when smaller
19:14:17 <AnMaster> 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 <alise> Huh, I just realised that there is no standard modern UNIX tool for text jusitication.
19:14:24 <ais523> hmm, I find that with a high enough resolution, serifs make text readable when smaller assuming a good enough resolution
19:14:33 <alise> AnMaster: typography is not design.
19:14:33 <AnMaster> ais523, yeah but I can't afford such a high res desktop monitor
19:14:40 <ais523> alise: *roff and TeX are enough, surely?
19:14:41 <AnMaster> alise, IMO it is
19:14:41 <alise> Typography is about readability, which is certainly important when editing.
19:14:43 <ais523> depending on what you're trying to do?
19:14:46 <alise> ais523: I mean plain text.
19:14:52 <AnMaster> alise, yes and that is why you use a sans serif when editing
19:14:57 <ais523> alise: *roff does plain text
19:15:01 <ais523> pretty well, too
19:15:05 <AnMaster> it isn't WYSIWYG. They never claimed that
19:15:07 <alise> AnMaster: I'm not interested in talking to you. You're as much a zealot as I used to be nowadays.
19:15:11 <AnMaster> use texmacs if you want that
19:15:18 <alise> ais523: sure, but...
19:15:23 <alise> ais523: one tool for one job? I know it's dead, but still.
19:15:25 <alise> We have fmt(1).
19:15:29 <AnMaster> alise, /used to/still am/ ;P
19:15:30 <alise> So why not just(1)?
19:15:43 <alise> I am much less of a zealot than I used to be.
19:15:55 <ais523> 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 <alise> ais523: what has that got to do with justifying text?
19:16:11 <ais523> you need quite a complicated tool to do typesetting correctly
19:16:20 <ais523> alise: quite a lot
19:16:27 <ais523> you can't typeset text unless you know the width to typeset it in
19:16:31 <ais523> and the lengths of the characters
19:16:37 <alise> ais523: monospaced justification, foo
19:16:45 <alise> one char = one width
19:16:50 <ais523> even monospaced, you need to know the widths of the characters
19:16:53 <ais523> which are not always 1 each
19:17:01 <AnMaster> alise, what about floats that should float to the margin? TeX has those as well
19:17:03 <ais523> think about tabs, combining characters, etc
19:17:03 <alise> ais523: they can be assumed to be so in a unix environment.
19:17:05 <alise> I am certain that original UNIX had a justification command.
19:17:08 <AnMaster> can't see fmt doing it
19:17:11 <alise> Dude, I don't want this as a component of a larger typesetting system.
19:17:27 <alise> 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 <AnMaster> alise, well it would have to be aware of the float placement to give optimal results for line hyphenation, no?
19:17:54 <AnMaster> alise, oh monospaced?
19:17:57 <AnMaster> hm
19:17:58 <oerjan> hey today's mezzacotta comic actually makes sense (sort of)
19:17:58 <alise> Not if there are no floats because THIS IS NOT PART OF A LARGER TYPESETTING SYSTEM.
19:18:12 <ais523> oerjan: people still read mezzacotta?
19:18:14 <AnMaster> alise, if you mean those extra spaces in man pages on some lines I find them ugly
19:18:14 <ais523> hmm, I must look at this
19:18:21 <alise> Just like fmt formats monospaced text ragged-right, you could easily write a progam to format text justified and hyphenated.
19:18:48 <alise> AnMaster: roff also hyphenates
19:18:49 <alise> (man is roff)
19:18:57 <oerjan> ais523: well i do, because i use that page as my "mezzacotta/iwc/d&d portal"
19:19:07 <AnMaster> alise, true
19:19:14 <AnMaster> alise, but only for English iirc?
19:19:22 <AnMaster> or does it support rules for different languages?
19:19:29 <alise> dunno, who cares
19:19:31 <ais523> I'd be surprised if groff at least didn't have international support
19:19:32 <AnMaster> ...
19:19:37 <alise> anyway the main thing for me is proper quotes really
19:19:46 <alise> i guess i could just use smartypants
19:19:56 <ais523> alise: actually, international language support is one of the direct causes of the growth of OSS
19:19:59 <alise> roff doesn't use any fancy hyphenation algorithm afaik
19:20:01 <alise> dunno about new groff
19:20:07 <AnMaster> alise, "proper quotes" is very English specific
19:20:10 <ais523> in that it's swayed many national governments who can't get a copy of Windows for the language they wany
19:20:11 <alise> just the typical "can't fit it? Oh well, put a hyphen in there".
19:20:12 <ais523> *want
19:20:17 <alise> AnMaster: FOR FUCKING FUCK'S SAKE, I'M WRITING IN ENGLISH!
19:20:25 <AnMaster> Swedish use the English "start quotes" both at the start and the end for example
19:20:33 <AnMaster> and Spanish (iirc) use upside down ones
19:20:40 <ais523> and French «quotes like this»
19:20:40 <alise> It uses end quotes, actually.
19:20:44 <alise> Unless I misremember.
19:20:47 <AnMaster> alise, sure but the tool should support several languages
19:20:52 <alise> Anyway, no shit, I want a tool for ENGLISH TEXT.
19:20:55 <alise> No it fucking shouldn't!
19:20:57 -!- oerjan has quit (Quit: Later).
19:20:58 <AnMaster> ...
19:21:15 <ais523> AnMaster: alise: you're arguing different arguments here
19:21:17 <alise> I want to type "abc" and get “abc”, I really did not sign up for your overengineering class.
19:21:17 <AnMaster> what do you have against non English people?
19:21:24 <alise> Oh my fucking god you are retarded.
19:21:24 <ais523> alise wants a tool that exists right now for something that she wants to do
19:21:36 <ais523> and AnMaster wants a tool that doesn't exist yet that would solve these sorts of problems in the future
19:21:42 <ais523> so AnMaster clearly wants something rather more general
19:21:50 <AnMaster> yes, and I don't see the issue with this
19:21:52 <alise> 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 <AnMaster> alise, olsner isn't that bad
19:22:19 <ais523> if you two could agree on what you were debating about, perhaps you'd have a chance at agreeing on something
19:22:27 <alise> Oh, the comedian.
19:22:30 <AnMaster> ais523, good point
19:22:46 <alise> 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 <alise> I suspect it is intentional.
19:23:06 -!- impomatic has left (?).
19:23:19 <ais523> 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 <ais523> which is a different phenomenon
19:23:32 <AnMaster> 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 <alise> Whatever it is it's irritating.
19:23:50 <ais523> AnMaster: one thing that's necessary to have a discussion is someone else who wants to discuss on that subject
19:24:00 <alise> AnMaster: you will note that everyone else in here has a freely flowing discussion /apart/ from you
19:24:04 <AnMaster> ais523, well yes, but alise doesn't seem to be very good at that either
19:24:04 <alise> who is continually held up on one interpretation
19:24:06 <alise> and argues it to the death
19:24:13 <alise> actually that's a lie, you won't note it ...
19:24:24 <AnMaster> alise, I have a freely flowing discussion with everyone but you though
19:24:32 <alise> ha
19:24:33 <AnMaster> so I would argue the problem isn't on my end
19:24:51 <alise> 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 <AnMaster> no, it is mostly you
19:25:07 <alise> don't bother answering, I know what --
19:25:11 <alise> yeah, how did I possibly guess
19:25:11 <AnMaster> okay, for jokes I agree
19:25:13 <alise> sigh
19:25:21 <AnMaster> that it may be true, but not in general
19:25:30 <alise> 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 <zzo38> I am glad I fixed it by now!
19:38:28 <zzo38> Now I have to implement SUMMONTYPE_FORWARD,SUMMONTYPE_LOGIN,SUMMONTYPE_SENDTOTTY but I am unsure how to implement those
19:39:28 <zzo38> And I should document these features so that other people can use them.
19:42:55 <zzo38> Do you know where I can get help with these things?
19:53:14 <ais523> I'm afraid not
19:53:30 <ais523> 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 <zzo38> ais523: I don't know. That is why I ask?
20:06:40 <ais523> I don't know either
20:06:51 <ais523> I'm suggesting various lines of thought you might want to take
20:14:43 -!- alise has joined.
20:15:01 <alise> does anyone know of an interpreter for some high-level-ish language with very few system dependencies?
20:15:10 <alise> i.e. plain C that doesn't use many standard library functions
20:15:27 <alise> 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 <alise> ais523? I ask you specifically merely because you know things :P
20:17:03 <alise> 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 <alise> or perhaps
20:17:05 <alise> getty &
20:17:06 <alise> getty &
20:17:06 <ais523> I have a lua interp installed, no idea how many dependencies it has
20:17:14 <alise> while true; do sleep (nearly forever); done
20:17:17 <alise> made them hang
20:17:18 <alise> go figure
20:17:20 <alise> anyway, it broke.
20:17:28 <ais523> but I think it's deliberately kept free of dependencies
20:17:32 <ais523> and ouch, is it unfixable?
20:19:12 <alise> 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 <alise> like i did last time, except there was no login screen that time
20:20:04 <alise> 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 <zzo38> Maybe you should write your own high-level-language for that purpose?
20:20:44 <ais523> Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
20:20:48 <alise> I am going to, but I'd like to prototype somethin with some other language, first.
20:20:49 <alise> Simpler.
20:21:45 <ais523> I think I'm using the official Lua interp
20:22:22 -!- BeholdMyGlory has joined.
20:24:12 <alise> Video = {}
20:24:12 <alise> Video:Start = 0xB8000
20:24:12 <alise> function Video:Put(x, y, col, chr)
20:24:12 <alise> addr = Video:Start + (y * 80) + x
20:24:12 <alise> poke(addr, chr)
20:24:13 <alise> poke(addr+1, col)
20:24:15 <alise> end
20:24:17 <alise> or something
20:28:23 <AnMaster> alise, you should have left one getty outside the thing
20:28:27 <AnMaster> or something
20:28:36 <alise> yeah i just didn't think to
20:28:37 <AnMaster> and having X available
20:31:13 <alise> no x installed
20:33:34 <AnMaster> I meant on host
20:33:52 <alise> on host?
20:34:22 <AnMaster> er yeah outside the chroot
20:34:53 <AnMaster> or did you remove that?
20:35:00 <Gregor> So I wrote a general-purpose C-library generational garbage collector in 340 lines of C :P
20:35:14 <AnMaster> Gregor nice.
20:35:39 <Gregor> I haven't even gotten it to crash yet, with (limited) testing.
20:35:41 <AnMaster> Gregor, does it support there being memory it doesn't manage?
20:36:00 <AnMaster> I always found that a bit tricky with boehm-gc if you interface external libraries that does allocation
20:36:05 <AnMaster> such as most GUI stuff
20:36:41 <Gregor> 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 <AnMaster> GGGGC?
20:37:07 <AnMaster> what does it stand for
20:37:09 <Gregor> That's the name of it.
20:37:17 <Gregor> Gregor's General-purpose Generational Garbage Collector
20:37:25 <alise> Gregor: the C is ugly
20:37:28 <alise> make it a g
20:37:29 <Gregor> (The reason for the line is that it's non-conservative and requires write-barriers to maintain cross-generation writes)
20:37:35 <alise> garbage ... some synonym of collector starting with a g
20:37:36 <Gregor> alise: I couldn't think of a way to :P
20:37:37 <AnMaster> alise, XD
20:37:45 <alise> Grabber
20:37:46 <zzo38> I think these rules are flawed http://safalra.com/other/mahjong-rules/
20:37:48 <alise> instead of collector
20:37:57 <Gregor> alise: Except that they're not called Garbage Grabbers :P
20:38:01 <Gregor> OHYEAH ALSO
20:38:04 <alise> They are now
20:38:10 <Gregor> Unrelated: alise: What does the word "litter" mean to you?
20:38:20 <alise> call it G5 for short
20:38:23 <AnMaster> Gregor, so it will make interfacing a lot of libraries a pain
20:38:38 <AnMaster> Gregor, stuff like ncurses and so on all malloc stuff
20:38:48 <AnMaster> heck even some glibc functions do
20:38:51 <alise> 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 <Gregor> AnMaster: Well, malloc still works and all, it's just cross-library pointers that are obnoxious.
20:38:55 <alise> Thus, littering.
20:38:56 <alise> Why?
20:39:04 <alise> It's mainly the latter one, though.
20:39:07 <alise> Dunno why I put the first one first.
20:39:32 <AnMaster> Gregor, hm
20:39:42 <AnMaster> Gregor, can't see why
20:39:42 <Gregor> 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 <Gregor> AnMaster: You have to declare any pointers from non-managed code to managed code, since it's not conservative.
20:40:10 <coppro> Gregor: I've never heard of that; litter is definitely not a synonym for garbage out here (Alberta)
20:40:19 <Gregor> coppro: CONFUSED.
20:40:23 <Gregor> OK, in Toronto then :P
20:40:29 <AnMaster> Gregor, ah
20:40:31 <Gregor> Confirmed by Torontonian guy I know.
20:40:42 <coppro> well, it's Toronto
20:40:45 <Gregor> AnMaster: s/code/data/ there obviously.
20:40:59 <AnMaster> Gregor, so any static variables are not handled?
20:41:08 <AnMaster> iirc boehm auto add those
20:41:29 <Gregor> AnMaster: Boehm doesn't auto-add them, it scans your entire static space and conservatively guesses what might be pointers.
20:42:00 <Gregor> 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 <Gregor> Note: GGGGC is meant to be used by a VM, not random-program-wanting-GC-X ;)
20:42:54 <alise> Liberal collectors ftw.
20:43:04 <AnMaster> Gregor, yeah I meant it auto adds the .bss and .data to the area to scan for pointers
20:43:06 <alise> Admittedly it requires a lot of bookkeeping in e.g., C, but then so does C code in general.
20:43:22 <Gregor> alise: And it's well worth it.
20:43:29 <AnMaster> Gregor, sorry if it wasn't clear
20:43:41 <alise> Gregor: So your collector is liberal? Good.
20:44:20 <AnMaster> Gregor, so does it need to know what is pointers and what is data in managed space?
20:44:37 <Gregor> AnMaster: Yes and no. You need to declare your managed types with a special macro to tell it.
20:45:07 <Gregor> But then you don't need to explicitly declare pointers later, since it knows your types.
20:45:47 <alise> Gregor: Plof!
20:45:54 <Gregor> alise: Why, what a wonderful idea! ;)
20:46:03 <alise> Holy shit, Plof's new website has the worst colours I have ever experienced!
20:46:05 <alise> Are you colour blind!
20:46:08 <AnMaster> Gregor, hm
20:46:12 <alise> My eyes runneth over... with BLOOD!
20:46:21 <Gregor> 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 <alise> Gregor: Ha ha, I see you finally adopted my ideas of dropping parens from function calls and also semicolons.
20:46:23 <AnMaster> Gregor, doesn't it need to know what allocation is what type?
20:46:25 <Gregor> alise: WHY THANK YOU.
20:46:29 <alise> Gregor: This is because I am a genius.
20:46:41 <Gregor> alise: Yes. I believe that was on the order of days after you suggested them.
20:46:49 <alise> Well, yes, but you actually implemented it.
20:46:53 <Gregor> Yes.
20:46:54 <AnMaster> Gregor, link btw? didn't see any
20:47:03 <Gregor> AnMaster: http://codu.org/projects/ggggc/
20:47:11 <AnMaster> thanks
20:47:23 <Gregor> All the major restrictions are written out there.
20:47:32 <coppro> I wonder what would happen if we banned alise from thinking about Haskell for a month
20:47:44 <alise> coppro: Do I think about Haskell a lot? Not really, these days.
20:47:52 <Gregor> coppro: He would think about ML a lot? :P
20:47:56 <AnMaster> Gregor, where is the dropped parens stuff?
20:48:11 <Gregor> AnMaster: http://plof.codu.org/ :P
20:48:15 <AnMaster> Gregor, oh misread then
20:48:21 <alise> Prepare for AnMaster to complain about them.
20:48:33 <AnMaster> Gregor, thought you were doing some insane macro hack in C to avoid () in function calls XD
20:48:34 <alise> 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 <AnMaster> <alise> Prepare for AnMaster to complain about them. <-- about what?
20:48:49 <alise> 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 <alise> AnMaster: the lack of parens
20:49:00 <AnMaster> alise, why should I?
20:49:04 <AnMaster> it is quite nice...
20:49:06 <alise> I thought you'd hate it.
20:49:14 <AnMaster> alise, this isn't lisp!
20:49:29 <Gregor> alise: Feh, sometimes LaTeX doesn't play nice >_>
20:49:31 <AnMaster> alise, anyway, lots of languages do it without parens
20:49:34 <alise> 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 <alise> If not, what is the fnptr syntax? &foo.bar?
20:49:42 <Gregor> alise: I'm actually a little bit surprised that it doesn't do that automatically.
20:49:53 <Gregor> alise: 'fraid you do need () for that, yeah.
20:49:55 <alise> Well, it's LaTeX. TeX is obsessively tuned, LaTeX not so much.
20:50:10 <Gregor> 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 <AnMaster> Gregor, dynamically typed
20:50:29 <AnMaster> ?
20:50:39 <Gregor> Even that's pushing it X-D
20:50:50 <alise> Gregor: You could have that if a method name ends in ?, then "foo.bar?" is "foo.bar? ()".
20:50:54 <alise> Gregor: That's a kludge, but meh.
20:51:00 <AnMaster> Gregor, ah, worse than bash?
20:51:00 <alise> Gregor: It would mean that you could do things like
20:51:03 <alise> if frobs.nicated?
20:51:05 <alise> instead of the awful
20:51:12 <alise> if frobs.are_nicated ()
20:51:24 <AnMaster> alise, very lispy
20:51:54 <alise> 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 <AnMaster> mhm
20:52:12 <Gregor> NEED LUNCH
20:52:13 <Gregor> Bye
20:52:24 <alise> 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 <AnMaster> 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 <alise> AnMaster: Ruby on Rails is indeed awful. Ruby isn't an awful language, okay, compared to current ones.
20:52:45 <alise> Just compared to the ideal, it's awful.
20:52:56 <AnMaster> ah
20:53:02 <alise> 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 <alise> (Note: Python zealot metric is considered totally retarded.)
20:53:18 <alise> At the most it'll be somewhere above Python.
20:53:33 <AnMaster> python on parachutes
20:53:37 <AnMaster> should like totally be done
20:54:25 <coppro> python on grails
20:54:35 <alise> Grails actually exists, for Groovy.
20:54:39 <AnMaster> coppro, not an alliteration
20:54:56 <alise> TeX on Trams
20:54:58 <AnMaster> alise, groovy? *sounds familiar, slightly*
20:55:06 <alise> groovy is one of those jvm languages.
20:55:06 <AnMaster> C on Catamarans?
20:55:10 <AnMaster> alise, ah
20:55:13 <alise> C on Caterpults
20:55:14 <coppro> but it's perfect for python
20:55:18 <alise> (TECO on Trams also)
20:55:25 <alise> Verilog on Vespas
20:55:31 <AnMaster> VHDL too?
20:55:37 <AnMaster> ELISP on?
20:55:38 <alise> sure :P
20:55:43 <alise> Lisp on Locomotives
20:55:47 <AnMaster> alise, and elisp?
20:55:59 <alise> dunno
20:56:01 <AnMaster> hm
20:56:02 <alise> http://www.coboloncogs.org/INDEX.HTM
20:56:04 <AnMaster> assembler?
20:56:14 <alise> Assembly on Aeroplanes
20:56:15 <AnMaster> assembler on asses!
20:56:17 <AnMaster> ah
20:56:31 <AnMaster> nice link
20:56:45 <AnMaster> is it actually more than a joke page?
20:56:52 <alise> no
20:57:00 <AnMaster> *phew*
20:57:19 <alise> Eiffel on ... ?
20:57:30 <AnMaster> uh
20:57:52 <AnMaster> electric cars?
20:57:53 <AnMaster> nah
20:57:57 <AnMaster> must be one word
20:58:13 <AnMaster> alise, D on?
20:58:23 <alise> D on Dromedaries
20:58:26 <AnMaster> XD
20:58:34 <alise> Haskell on ...
20:58:38 <AnMaster> hogs?
20:58:43 <alise> XD
20:58:43 <AnMaster> nah
20:58:56 <alise> APL on Arks
20:59:06 <AnMaster> alise, J on?
20:59:17 <alise> ... don't ask me!
20:59:26 <AnMaster> hm
20:59:38 <AnMaster> what else is there
20:59:49 <AnMaster> ML on?
20:59:59 <alise> ML on Mexican Slaves
21:00:04 <AnMaster> XD
21:00:34 <AnMaster> alise, smalltalk on?
21:00:40 <alise> ¯\(°_o)/¯
21:00:42 <alise> Sex Robots?
21:00:45 <AnMaster> haha
21:00:52 <AnMaster> I think we are moving away from the area now
21:01:00 <AnMaster> err, doesn't matter though
21:01:05 <AnMaster> alise, okay Forth on?
21:01:24 <AnMaster> I can't think of anything funny for it
21:01:49 <alise> Forth on ... Flatulence
21:02:01 <AnMaster> mhm
21:02:40 <AnMaster> alise, oh wait for D, dirigibles is better than dromedaries
21:02:57 <alise> Z notation on Zeppelins
21:03:06 <AnMaster> Z notation?
21:03:10 <AnMaster> what was that now again
21:03:15 <AnMaster> rings a bell, somewhere
21:03:36 <alise> Dijkstra's formalised ZFC+lambda calculus definition language thing.
21:03:39 <AnMaster> ah
21:03:40 <AnMaster> alise, BankStar on bunnies?
21:03:50 <alise> BancStar on Busoms
21:03:57 <AnMaster> busoms?
21:04:08 <AnMaster> even aspell with webster doesn't know it
21:04:32 <AnMaster> alise, could be busses though
21:05:05 <alise> *Bosoms
21:05:05 <AnMaster> INTERCAL on ...?
21:05:05 <alise> Typo.
21:05:09 <AnMaster> hm
21:05:13 <AnMaster> intercity trains?
21:05:32 <alise> INTERCAL on Imagery
21:05:35 <alise> i dunno :P
21:05:38 <AnMaster> obviously using ruby on rail gauge
21:05:47 <AnMaster> which brings us to a full circle or something
21:07:44 <AnMaster> alise, befunge on boats
21:07:47 <AnMaster> any language on L?
21:07:51 <AnMaster> except for lisp
21:08:30 <AnMaster> need something for lorries and something for llamas
21:08:36 <AnMaster> (spelling for latter?)
21:09:43 <alise> brb
21:10:00 <AnMaster> 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 <CakeProphet> Deewiant: you around?
21:27:05 <CakeProphet> or anyone who knows anything about "OTP design principles"
21:27:12 <alise> try AnMaster (ha)
21:28:43 <Deewiant> I'm around but I don't know anything about them
21:29:38 <CakeProphet> AnMaster: do /you/ know anything about OTP design principles?
21:29:55 <CakeProphet> I'm wondering if I need to actually care about them in order to reap the benefits of hot swappable code.
21:30:28 <CakeProphet> and if so, whether or not every process needs to implement a behavior or if I can just use proc_tools
21:32:35 <AnMaster> 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 <AnMaster> however, I recommend that ebook I mentioned. it has a lot on that, and isn't heading for bed
21:33:12 <AnMaster> of course I could know where you could find one for free. But that wouldn't be legal
21:33:19 <alise> AnMaster: That's the second funniest thing you've ever said
21:33:21 <alise> Not the second-funniest
21:33:28 <alise> But the second (funny thing)
21:33:34 <alise> I guess I should have said *funny.
21:33:41 <alise> ("and isn't heading for bed")
21:36:04 <AnMaster> 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 <AnMaster> so calling the main loop of the new one with full module name would be how you switch over
21:36:32 <alise> ais523: could you rate an idea on the scale of 0 to 10?
21:36:34 <CakeProphet> hmmm... I might use some of OTP anyways. supervisor looks useful.
21:36:44 <AnMaster> CakeProphet, gen_server is very useful I find
21:36:52 <ais523> alise: depends on what sort of idea it is
21:36:57 <CakeProphet> from what I understand I have to use proc_tools to spawn processes that use OTP?
21:36:57 <AnMaster> CakeProphet, iirc there is some nice google talk presentation on erlang
21:37:05 <AnMaster> or whatever they call(ed?) them
21:37:49 <AnMaster> CakeProphet, well, with OTP you use stuff like gen_server:start_link or such in general to start them
21:38:17 <AnMaster> CakeProphet, also don't you mean proc_lib?
21:38:19 <alise> 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 <alise> With diverse contributions thusly from various peoplefolk.
21:38:51 <AnMaster> alise, ambitious
21:38:53 <ais523> alise: it's a good idea if you can get the regular contributions in
21:39:00 <alise> AnMaster: that's not terribly ambitious
21:39:00 <ais523> but it seems vaguely unlikely that that would happen
21:39:16 <AnMaster> yes, getting people to write for it
21:39:16 <alise> "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 <alise> Meh, I'll just use a bunch of Mexican slaves
21:39:44 <AnMaster> CakeProphet, anyway proc_lib is for when not using standard OTP behaviours like gen_server or gen_fsm
21:39:50 <AnMaster> CakeProphet, which I used exactly once
21:39:50 <alise> 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 <AnMaster> 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 <AnMaster> 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 <AnMaster> sure you can set a timeout of 0, but that is rather hackish
21:41:55 <alise> 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 <alise> Typeglob * [Example] *struck [Is a name for:] Everything named struck
21:42:35 <CakeProphet> 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 <CakeProphet> oh... just the "main loop" one.
21:43:11 <AnMaster> 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 <ais523> alise: heh
21:43:13 <CakeProphet> the point where the change should happen
21:43:14 <CakeProphet> aaaaah
21:43:15 <AnMaster> to make it "controlled"
21:43:15 <CakeProphet> got it.
21:43:39 <CakeProphet> so when would this message be sent?
21:43:49 <CakeProphet> by me?
21:43:53 <CakeProphet> the programmer? in a shell?
21:43:55 <ais523> 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 <AnMaster> CakeProphet, well, depends. OTP kind of solves this for you ;P
21:44:12 <AnMaster> amongst other things
21:44:21 <CakeProphet> ah... so that's why it's easier to use OTP.
21:44:46 <alise> ais523: "An SCO", definitely.
21:44:47 <alise> Ess cee oh.
21:44:50 <CakeProphet> 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 <AnMaster> 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 <ais523> alise: that's how I do it too
21:45:10 <AnMaster> at least without experience
21:45:11 <alise> ais523: because there are two companies of note: the Santa Cruz Operation and The SCO Group.
21:45:19 <alise> (differing capitalisation of "the" intentional)
21:45:23 <ais523> yes
21:45:33 <alise> does "The SCO Group" even officially expand to "The Santa Cruz Operation Group"? I doubt it
21:45:48 <alise> indeed not
21:45:49 <AnMaster> CakeProphet, so do you want that ebook?
21:46:02 <AnMaster> CakeProphet, the stuff about the strict type checking is *way* outdated in it though
21:46:06 <AnMaster> but nice in other places
21:46:10 <alise> ais523: really, if I was doing this from the start I would call them, say, TSG and Santa Cruz to disambiguate.
21:46:19 <ais523> yep
21:46:29 <ais523> I've seen oldSCO vs. tSCOg on Groklaw
21:46:34 <ais523> which are pretty unambiguous
21:46:42 <CakeProphet> 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 <alise> ais523: SCOld
21:46:56 <AnMaster> CakeProphet, well okay *fiddles with DCC*
21:47:02 <alise> ais523: groklaw appears to think that SCO cannot possibly do anything now, but you said they could make a ridiculous appeal
21:47:03 <alise> who's right?
21:47:14 <ais523> alise: groklaw think they could do a ridiculous appeal too
21:47:17 <alise> OK
21:47:18 <ais523> they just think it has no chance of succeeding
21:47:24 <ais523> and I'm inclined to agree
21:47:24 <alise> ais523: I bet they will, though, just to drag this on
21:47:34 <alise> they can still drag it on indefinitely at this point, right?
21:47:38 <ais523> they have nothing to lose, they paid the lawyers in advance
21:47:45 <alise> also, AnMaster is wondering if there is a limit on appeals, and if they can make it reach the Supreme Court
21:47:50 <alise> ais523: haha, wow, really?
21:47:54 <alise> most underpaid lawyers ever
21:47:58 <ais523> yes, the lawyers have been losing money for years
21:48:01 <CakeProphet> AnMaster: I'm not sure if I know how to use DCC in this client. I'll read some helpfiles.
21:48:02 <alise> although I guess they were paid to just write fun bullshit for 7 years
21:48:06 <alise> which is, you know, not a bad job
21:48:13 <ais523> PJ apparently /hopes/ they appeal, just to financially punish their lawyers further
21:48:25 <alise> <alise> also, AnMaster is wondering if there is a limit on appeals, and if they can make it reach the Supreme Court
21:48:54 <ais523> and in theory it could be appealed up to the level below the supremes
21:49:07 <alise> let's hope that happens :)
21:49:09 <ais523> 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 <AnMaster> hm
21:49:13 * AnMaster prods router
21:49:16 <CakeProphet> 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 <ais523> Novell did appeal SCO's appeal to the supremes, though
21:49:34 <ais523> so it may end up there in any case, via a different method
21:49:38 <alise> So, spreadsheets are interesting pieces of software.
21:50:13 <AnMaster> CakeProphet, does it work?
21:50:42 <AnMaster> CakeProphet, *prod*
21:51:09 <CakeProphet> says it can't connect
21:51:11 <AnMaster> CakeProphet, well the application release stuff is supposed to help with hot swapping in an enterprise environment I think.
21:51:14 <AnMaster> CakeProphet, strange.
21:51:51 <CakeProphet> I might utilize if it actually becomes an open source project or something... but I doubt that will happen.
21:52:07 <alise> ais523: awesome
21:52:20 <alise> ais523: how much money does SCO not have by now?
21:52:28 <ais523> nobody knows, except presumably SCO
21:52:36 <ais523> they're several months behind on their mandatory financial statements
21:52:45 <ais523> and even the ones they have released don't make a whole lot of sense
21:52:53 <AnMaster> 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 <AnMaster> should be possible without it during development, but never tried
21:53:04 <CakeProphet> AnMaster: what about the application resource file? Is that how I would create portable binaries?
21:53:25 <alise> ais523: do they actually have money, though?
21:53:37 <ais523> they got a loan a while back
21:53:38 <AnMaster> 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 <ais523> from a former board member
21:53:46 <ais523> so probably, although they're running through it pretty quickly
21:53:50 <alise> what kind of idiot would loan SCO money?
21:53:52 <CakeProphet> AnMaster: also, you could try DCC again.
21:53:56 <AnMaster> CakeProphet, kay
21:54:03 <ais523> alise: the terms of the loan said that if SCO defaults, he gets everything they own
21:54:04 <CakeProphet> AnMaster: Portable in the sense that it packages the VM with it
21:54:15 <alise> you know what upsets me? a bunch of the companies that existed before tSCOg were cool
21:54:29 <ais523> 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 <alise> wasn't it caldera that released a bunch of the unix source iirc?
21:54:35 <ais523> and the board member gets his money back that way
21:54:37 <CakeProphet> AnMaster: yeah, doesn't work. I assume I'm doing the right thing by just doing DCC GET
21:54:41 <alise> 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 <AnMaster> CakeProphet, don't know what client you have
21:54:52 <CakeProphet> irssi
21:54:58 <CakeProphet> command-line client
21:55:01 <AnMaster> CakeProphet, I switched to xchat for this since ERC doesn't do DCC
21:55:08 <AnMaster> and I double checked all settings
21:55:13 <AnMaster> long live bouncers
21:55:16 <alise> community/mailx-heirloom 12.4-3
21:55:16 <alise> MUA command line tool (mailx)
21:55:16 <alise> aur/heirloom-doctools 061114-1 (4)
21:55:16 <alise> The Heirloom Documentation Tools consist of a modern roff suite.
21:55:16 <alise> aur/heirloom-sh 050706-2 (1)
21:55:17 <alise> Traditional sh [jsh(1)], derived from OpenSolaris code.
21:55:22 <alise> Not as comprehensive as I'd like...
21:55:24 <AnMaster> and I'm sure it should not interfere with things
21:55:44 <AnMaster> CakeProphet, and yeah I know nothing about dcc in irssi
21:56:09 <CakeProphet> try one more time. I turned auto-get on just to see if it makes any difference.
21:56:32 <AnMaster> CakeProphet, now?
21:56:40 <CakeProphet> lolnope
21:56:59 <CakeProphet> I love how file transfer protocols inside messaging protocols never work.
21:57:07 <alise> [[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 <alise> Interesting the mix of old & new contained in Heirloom.
21:57:37 <AnMaster> 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 <CakeProphet> for large files I usually use yousendit.com
21:58:52 <AnMaster> CakeProphet, this isn't something I want to put anywhere public
21:59:02 <CakeProphet> well it's not technically publically releasing
21:59:06 <CakeProphet> it's specifically for sending to one person
21:59:11 <CakeProphet> but
21:59:15 <AnMaster> CakeProphet, also site times out for me
21:59:17 <CakeProphet> it /can/ be accessed by a link
21:59:20 <alise> filebin.ca
21:59:30 <alise> randomised filenames, so
21:59:31 <AnMaster> alise, see about public...
21:59:38 <alise> AnMaster: /msg the url then
21:59:47 <AnMaster> CakeProphet, set up an ftp server?
21:59:51 <AnMaster> or ssh shell
21:59:54 <AnMaster> for scping it
21:59:56 <alise> 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 <alise> ok i give up
22:00:04 <AnMaster> (locked down to only do file transfer)
22:00:09 <alise> CakeProphet: get it elsewhere, AnMaster will have you setting up a paranoia-ready system which will take years
22:00:24 <AnMaster> CakeProphet, you saw the filename at least?
22:00:37 <CakeProphet> AnMaster: to be honest I have never had a need to do that before and thus don't know how.
22:00:41 <CakeProphet> yes.
22:01:22 <AnMaster> I got it in 2007. Found it lying on a cd in a _bay_. Very water resistant I guess..
22:01:43 <CakeProphet> 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 <AnMaster> unlikely to still be there
22:01:55 <AnMaster> CakeProphet, hm.
22:02:04 <CakeProphet> dunno why it would be timing out
22:02:07 * CakeProphet just accessed it.
22:02:18 <AnMaster> CakeProphet, seems to be redirecting to itself now
22:02:51 <AnMaster> 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 <CakeProphet> alrighty/
22:05:47 <CakeProphet> 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 <CakeProphet> 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 <CakeProphet> so it would have been like MOO in Python.
22:13:20 <alise> ``abc''
22:13:28 <HackEgo> No output.
22:13:46 -!- kar8nga has joined.
22:15:58 <alise> ais523: the intercal documentation is texinfo, right?
22:16:07 <ais523> yes
22:16:11 <ais523> well, the new documentation
22:16:15 <ais523> the old documentation's *roff
22:16:22 <alise> " 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 <ais523> with vague attempts to make it work with more than one implementation
22:16:25 <alise> *"Your
22:16:30 <alise> I hope that doesn't do anything unless I click that link :-)
22:16:38 <alise> ais523: presumably ugly *roff, too
22:16:49 <ais523> it's not awful, but it's not perfect either
22:16:52 <alise> "# Download C-INTERCAL via gopher (IPv6 only)."
22:16:59 <alise> You made my dream a reality! Or at least, CLC did.
22:17:45 <alise> ais523: bug report
22:17:46 <alise> http://c.intercal.org.uk/manual/io61sroi.htm#convickt
22:17:52 <alise> `...' quotes are not being converted
22:17:53 <HackEgo> No output.
22:17:55 <alise> or is that everywhere?
22:17:58 <alise> if so, get that fixed!
22:18:19 <zzo38> Next time you have to figure out the way to write the INTERCAL documentation in INTERCAL??
22:18:22 <ais523> alise: if it's being output as text, texinfo does indeed output as `...'
22:18:30 <alise> it's HTML
22:18:33 <alise> zzo38: ouc
22:18:35 <alise> *ouch
22:18:41 <ais523> alise: in HTML too IIRC, its HTML output isn't very good
22:18:47 <alise> ais523: remember when I tried to spec up that semantic documentation format?
22:18:52 <ais523> zzo38: the CLC-INTERCAL licence agreement used to require compilation
22:19:05 <ais523> but it triggered all sorts of deep recursion errors, and in the end became unmaintainable
22:19:56 <alise> ais523: you invented OIL, didn't you?
22:20:07 <ais523> yes
22:20:16 <alise> ais523: you're crazy
22:20:29 <ais523> the optimiser was getting unmaintainable
22:20:32 -!- augur has joined.
22:20:39 <ais523> it's easier to maintain the DSL for writing optimisers in, plus an optimiser written in it
22:20:43 <ais523> than it was to maintain the old hardcoded mess
22:21:01 <ais523> 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 <alise> http://upload.wikimedia.org/wikipedia/commons/4/48/Openbsd37withjwm.png
22:25:22 <alise> 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 <alise> iirc someone mentioned it recently
22:27:05 <alise> probably ais523 remembers it
22:27:17 <ais523> I do
22:28:21 <alise> 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 <Sgeo_> 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 <alise> 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 <alise> I have implemented Liang's hyphenation algorithm in Emacs Lisp. Up to now I can type M-x hyphen-show-hyphens <RET> 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 <alise> *easy.
22:37:03 <alise> so close, yet so far :(
22:41:28 <alise> 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 <alise> ais523: heh, that netbook I was hacking yesterday, they seem to have replaced it with a version running windows ce
22:55:43 <alise> even better!
22:56:15 <alise> "The UbiSurfer delivers the real web, fast and FREE!" ;; for some definition of fast
22:56:28 <alise> 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 <alise> Nope, gprs still.
22:58:50 <alise> "The device provides a full QWERTY keyboard and uses a touchpad mouse pointer instead of touch screen."
23:01:04 <alise> 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 <alise> "Win A UbiSurfer Netbook" ;; but why would you WANT to?
23:03:06 -!- lament has quit (Ping timeout: 260 seconds).
23:06:49 <alise> I wonder what data structures make spreadsheets efficient.
23:07:19 <alise> 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 <CakeProphet> some kind of crazy rocket science!
23:20:14 <CakeProphet> but yeah... the next logical step in all of this spreadsheet talk is...
23:20:28 <CakeProphet> can you implement a simple turing machine in a spreadsheet?
23:20:35 <ais523> easily
23:20:41 <ais523> if you're allowed circular references
23:20:49 <CakeProphet> I don't think most allow that.
23:20:52 <ais523> or even without, if you can range-fill infinitely both down and right
23:20:54 <ais523> and most do allow that
23:21:04 <CakeProphet> yes.
23:21:08 <ais523> at least, I've used four different spreadsheet programs and they all allow it, although often they need an option
23:23:29 <CakeProphet> so I'm wondering how I can make a gen_server a supervisor
23:23:40 <CakeProphet> 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 <oerjan> <alise> 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 <oerjan> i didn't think i did it _that_ often...
23:32:33 * ais523 facepalms on general principles
23:32:50 <alise> oerjan: you've done it quite a few times before
23:32:53 <alise> only when talking to AnMaster though :p
23:33:01 <oerjan> you don't say.
23:33:19 <alise> turing machine in spreadsheet is easy if you can make indirect addresses
23:33:25 <alise> assuming cells default to 0
23:34:14 <oerjan> 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 <CakeProphet> ...I've been reading too much OTP documentation. My brain is melted.
23:36:19 <oerjan> (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 <oerjan> the internet past is disappearing down a black hole...
23:50:32 <oerjan> <alise> Haskell on ... <-- helicopters? hovercrafts?
23:51:43 <CakeProphet> ha
23:51:45 <CakeProphet> C on Cocaine
23:59:02 -!- kar8nga has quit (Remote host closed the connection).
←2010-06-11 2010-06-12 2010-06-13→ ↑2010 ↑all