00:00:11 <mib_8oomfc> AnMaster: that doesn't excuse putting core functionality in modules.
00:00:44 <AnMaster> mib_8oomfc, I swear there are more modules than when I last read that page you linked....
00:01:16 <AnMaster> some are not included in core package hm
00:02:06 <AnMaster> I used to have my own bouncer, but znc was easier, and had what I wanted, rather than coding the missing features myself I changed to znc
00:02:21 -!- mib_8oomfc has set topic: Real christmas.
00:02:34 <AnMaster> mib_8oomfc, happy day after xmas
00:02:36 <comex> miau is very simple, one network only (I use a script to launch multiple miaus)
00:02:43 -!- AnMaster has set topic: Real christmas | The day after the real one.
00:03:34 <comex> mib_: yes, it has a "quicklog"
00:03:51 <AnMaster> mib_8oomfc, znc does playback on every channel, I'm not sure if you can turn it off for some channels, but it may be quite possible
00:04:15 <comex> when you log in, it replays the quicklog. I don't remember how configurable it is
00:05:21 <mib_8oomfc> the thing is, IMO irc bouncing isn't exactly _hard_. when the user is connected, you do just forward everything. when they disconnect, log everything you get from the server. when they reconnect, send the log to them and erase it.
00:05:46 <AnMaster> mib_8oomfc, znc can do that easily
00:05:49 <comex> oh and it does support multiplec onnections (although I assume all others do as well)
00:05:57 <AnMaster> what I'm not sure is if it is per channel
00:06:03 <mib_8oomfc> why do you need a frobtapulous perl modulized C++ elegant blaaaaah thing just to do that
00:06:17 <AnMaster> mib_8oomfc, you *CAN* turn off the timestamps
00:06:25 <AnMaster> by setting the timestamp format string to empty
00:06:46 <comex> mib_8oomfc, you can disable that
00:06:50 <comex> i should, just lazy :p
00:06:50 <AnMaster> mib_8oomfc, so that issue is solved
00:06:53 <mib_8oomfc> i bet i could write a bouncer that makes me happy in like 50 lines of Haskell
00:07:34 <AnMaster> mib_8oomfc, one thing I like with znc is that you can make it automatically add/remove channels to the "auto join on connect" list if you want
00:07:39 <AnMaster> that is configurable of course
00:08:08 <mib_8oomfc> - play back things it saw when disconnected
00:08:21 <mib_8oomfc> - when it gets disconnected, reconnect, send out what commands you've put in its config, and join channels it was in
00:08:32 <AnMaster> mib_8oomfc, znc can do those two
00:08:38 <AnMaster> there is the perform module for the second
00:08:39 <mib_8oomfc> to be honest, I could probably write _everything_ I want in 50 lines of haskell
00:09:41 <AnMaster> I haven't used the nickserv module with znc since I use other strange services
00:10:10 <mib_8oomfc> --disable-ascii-art Disables fancy ASCII banner miau prints at start-up and when a client conencts to miau.
00:10:17 <mib_8oomfc> that kind of thing is why I hated psybnc :P
00:10:25 <AnMaster> mib_8oomfc, znc doesn't have such a thing
00:10:29 <mib_8oomfc> PSYCHOID AND THE MOST COOL LAM3RS GROUP EFNET
00:10:43 <Asztal> I hated psybnc for some other reason, can't remember what it was exactly
00:10:55 <Asztal> it confused my client :(
00:11:01 <mib_8oomfc> AnMaster: it prints that after it gives you the 1337 ascii art of "psybnc" when you start it up
00:11:13 <AnMaster> mib_8oomfc, still I suggest you try several bouncers, including ezbounce and znc
00:11:33 <mib_8oomfc> I'll use this until I write my own bouncer... tomorrow. :-P
00:11:44 <mib_8oomfc> It occurs to me I could just start writing it now.
00:11:57 <AnMaster> mib_8oomfc, as for znc starting I think it prints "starting znc\nloading modules\n forking into background" or something like that
00:12:46 <AnMaster> mib_8oomfc, from the openbsd release song
00:13:15 <mib_8oomfc> If you think I'd quote an openbsd release song you don't know me very well :P
00:13:17 <AnMaster> mib_8oomfc, err they said "bu-bu-bu-bounce him on your knee" in that one
00:13:27 <AnMaster> so that is what everyone will think
00:13:43 <mib_8oomfc> Yes, because other people will know about this :-P
00:13:56 <AnMaster> mib_8oomfc, 100% so far did :P
00:14:13 <mib_8oomfc> I'll be surprised if it leaves rutian/pastie.org
00:14:35 -!- bsmntbombdood has joined.
00:16:09 <AnMaster> mib_8oomfc, 0.6 mm screwhead rocks, yeah tiny indeed
00:16:28 <mib_8oomfc> heh, my bouncer will report server disconnections weirdly:
00:16:56 <mib_8oomfc> :b4!b4@b4 PRIVMSG yourname :stuff here
00:17:05 <mib_8oomfc> where b4!b4@b4 doesn't actually exist, of course.
00:17:15 <AnMaster> that would be seriously confusing
00:17:29 <mib_8oomfc> AnMaster: the reason it has ! and @ is to account for irc parsers
00:17:43 <mib_8oomfc> AnMaster: right, but *status has a reasonable host name there
00:18:19 <mib_8oomfc> :*b4*!n=b4@b4 PRIVMSG :Disconnected from server, reconnecting...
00:18:45 <AnMaster> it looks very similar to the znc one
00:18:56 <AnMaster> I think it says: "Lost connection to server. Reconnecting..."
00:19:17 <AnMaster> don't remember on the top of my head (from the top? which is the English idiom?)
00:21:25 <mib_8oomfc> http://en.wikipedia.org/wiki/Poetic_License
00:22:25 <AnMaster> "Aside from rhyming, the Poetic License is unique in its use of the first person, rather than passive legalese form, as well as the assurance of best effort. Many such licenses specifically distinguish between text and software, while the Poetic License may be applied to any work. Unlike other BSD-styled licenses, which explicitly require the copyright notice and 'this' notice to appear in all copies
00:22:25 <AnMaster> of software and documentation, the Poetic License is vague as to the condition upon which these rights are granted. 'These rights, on this notice, rely' implies that the notice must remain in all copies, shared and/or modified."
00:22:41 <mib_8oomfc> Eh; I'm not planning to test this in court.
00:22:59 <mib_8oomfc> AnMaster: If the DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE, VERSION 2 has been testified to probably be valid in court by Debian lawyers, I'm sure this will to
00:23:03 <AnMaster> 1) assurance of best effort 2) the Poetic License is vague as to the condition upon which these rights are granted
00:23:07 <mib_8oomfc> (It has one clause, 1. You just DO WHAT THE FUCK YOU WANT TO)
00:23:22 <AnMaster> mib_8oomfc, it has been found valid in a court?
00:23:33 <mib_8oomfc> but the debian lawyers said they thought it would be valid
00:23:40 <mib_8oomfc> which is pretty much all the gpl has had until recently too
00:29:23 <Slereah> Also it has an ugly syntax.
00:29:45 <mib_8oomfc> Haskell's syntax is beautiful, maybe you're just bad at it.
00:30:16 <Asztal> I find infix more readable, especially with things like `isPrefixOf`
00:30:28 <Slereah> It's not about readability
00:30:54 <mib_8oomfc> Slereah: scheme sucks, there's too many parentheses
00:42:26 -!- mib_8oomfc has quit (Client Quit).
00:48:06 -!- oerjan has quit ("Good night").
00:59:46 -!- Mony has quit ("Quit").
01:36:14 -!- calamous has joined.
02:42:35 -!- calamous has quit ("Leaving").
04:50:26 -!- Asztal has quit (Read error: 110 (Connection timed out)).
05:54:40 -!- Corun has joined.
06:13:35 -!- Corun has quit ("YES, NO W:ET.").
06:16:38 -!- bsmntbombdood has changed nick to bsmntbombgirl.
06:45:08 -!- moozilla has joined.
06:46:08 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
07:13:02 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:24:23 -!- Corun has joined.
07:43:07 -!- psygnisfive has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:04:04 -!- Corun has quit ("This computer has gone to sleep").
10:34:37 -!- oklopol has quit (Connection timed out).
10:54:31 -!- oerjan has joined.
12:05:42 -!- oerjan has quit ("leaving").
12:10:35 -!- jix has joined.
13:25:18 -!- ais523|direct has joined.
14:36:44 <ais523|direct> yes, I know many countries celebrate on the 24th, wasn't sure whether you did or not
14:37:23 <AnMaster> ais523|direct, seasons greetings to you
14:37:43 <ais523|direct> although in theory, I reckon you could get away with a season's greetings any time in Winter
14:37:46 * AnMaster is upgrading a remote freebsd server atm
14:37:53 <ais523|direct> although maybe it's an English idiom I don't really get either
14:38:01 <AnMaster> ais523|direct, technically it could work at any point during the year
14:38:45 <AnMaster> "<ais523|direct> although maybe it's an English idiom I don't really get either" <-- well it is the religious/customs neutral version basically
14:39:17 <AnMaster> oh yes and not offensive to anyone
14:39:20 <ais523|direct> just like the acronym UTC, which was chosen because it's wrong both in English and in French
14:40:33 <ais523|direct> incidentally, the hello world in Brainfuck I'm trying to debug atm is 929086 bytes
14:41:03 <ais523|direct> much bigger without, but that's partly because some of the pointer code has hundreds of thousands of >s in a row
14:41:20 <ais523|direct> there's a bug in my pointer handling that I know about, just haven't coded a fix yet
14:41:48 <AnMaster> ais523|direct, considering puts() fputs() and write() I did some tests recetly
14:41:57 <ais523|direct> anyway, the gcc-bf distribution, not counting the gcc or newlib sources, is 929086 bytes
14:42:10 <AnMaster> someone claimed g++ -static generated much larger hello world than gcc -static
14:42:26 <AnMaster> until I added -nostdlib /usr/lib/libc.a
14:42:38 <AnMaster> had to change to use write() too instead of puts()
14:42:48 <AnMaster> and _exit(0); instead of return 0;
14:42:54 <ais523|direct> you can get gcc-bf programs a lot smaller by avoiding the stdlib
14:43:06 <ais523|direct> and the need to close open files when you use exit
14:43:38 <ais523|direct> which means it links stdio, that's why the hello world's so large
14:43:43 <AnMaster> ais523|direct, anyway doing it that way got the size down to 6.6 KB for each. and *exactly the same binaries after strip*
14:43:55 <ais523|direct> to get saner program sizes, I have a -naked option on the linker which doesn't include a limit
14:44:13 <ais523|direct> AnMaster: I'm not surprised, in theory C++ has no overhead compared to C if you don't use C++-specific features
14:44:29 <AnMaster> ais523|direct, yes I had to add -fno-exceptions to make it compile that way
14:45:00 <AnMaster> otherwise I got strange link time errors about symbols like __unwind_frame or such
14:45:16 <AnMaster> anyway for bf stdio, that should be one area worth optimising a lot
14:45:30 <AnMaster> maybe hand coding the stdio stuff to be as small as possible for gcc-bf
14:45:43 <ais523|direct> although I don't really need the double-underscores if it's in a dedicated header
14:45:47 <AnMaster> ais523|direct, well it should be able to replace the newlib stdio and such
14:46:04 <ais523|direct> anyway, here's a gcc-bf build command line: buildinto/bin/bf-gcc -Wl,-progress,-abi,-asm,-annotate,-map,-rle,-g,-trace tests/pointer.c --save-temps
14:46:17 <ais523|direct> that's due to me putting in all the debug options at once
14:46:19 <AnMaster> because I bet that is one part that will save a lot if you replace
14:46:38 <ais523|direct> -abi and -asm save two of the temporaries the linker uses
14:46:57 <ais523|direct> -map does just what it does in any other linker (although it often has a different name)
14:47:18 <AnMaster> ais523|direct, why would a special bf stdio library optimized for size/speed be difficult?
14:47:26 <AnMaster> I mean apart from bf always being a pain
14:47:36 <ais523|direct> I suppose you could have a nonconforming stdio-lite
14:47:43 <AnMaster> ais523|direct, if I were to write it I would probably do something like C with inline bf
14:48:25 <AnMaster> maybe parts could be pure bf even
14:48:36 <AnMaster> ais523|direct, you may need to increase memory then?
14:49:02 <AnMaster> you said not a lot of free taoe
14:49:15 <ais523|direct> the problem's just that every tape cell is already used for something, well most of them
14:49:24 <ais523|direct> but I could just move everything to the right and use new cells at the left, for instance
14:50:35 <ais523|direct> AnMaster: well, the BF tape is basically used to emulate a CPU
14:50:45 <ais523|direct> (the CPU was designed to be easy to emulate in BF)
14:51:33 <ais523|direct> I also have a bf interp designed specifically for debugging gcc-bf
14:51:51 <AnMaster> well, right, but can't you just do like the program does
14:51:52 <ais523|direct> so it knows quickly when something went wrong, and does a core-dump of the tape
14:52:25 <AnMaster> that doesn't need to involve pointers
14:52:41 <AnMaster> since you can pre-calculate where in the memory the buffer is
14:52:53 <ais523|direct> if you allocate a static buffer, gcc-bf will reserve every 6th element in a region of the tape (of its own choice) for it
14:52:56 <AnMaster> you don't need any sort of indirection when accessing said buffer
14:53:26 <AnMaster> ais523|direct, that could be an issue if you don't know your exact current position?
14:53:48 <ais523|direct> that's one of the main architectural choices I made in it
14:54:02 <ais523|direct> not only that, but -annotate writes the position as comments in the BF code
14:54:15 <AnMaster> ais523|direct, how can it know that if the stack frame is of unkown size?
14:54:36 <ais523|direct> %sp means it's pointing to the top of stack, for instance
14:55:21 <AnMaster> how can it know a fixed count of > or < needed to move to a static buffer and to get back
14:55:47 <AnMaster> ais523|direct, ah, and that is?
14:55:58 <ais523|direct> there's a dead zone of 6 cells, which is never used
14:56:11 <ais523|direct> it always knows how to get to one of the cells in that range
14:56:33 <AnMaster> right, and this dead zone is used for scratch storage or?
14:57:09 <ais523|direct> which means, for instance, starting at the stack pointer <<<<<[[<<<<<<]<<<<<<] will always land on a particular cell in the dead zone
14:57:30 <ais523|direct> because every 6th cell contains a 1, apart from the start of a stack frame
14:57:41 <ais523|direct> and stack frames have to be at least 2 bytes, according to the processor ABI
14:57:53 <AnMaster> ais523|direct, you have a copy of the stack frame every 6th byte!?
14:58:19 <ais523|direct> the set of every 6th bytes together lets you determine where the stack frames are
14:58:27 <ais523|direct> they're 1 if a stack frame doesn't start there, or 0 if it does
14:59:06 <AnMaster> so you can easily search for it
14:59:18 <AnMaster> how do you know in what direction?
14:59:21 <ais523|direct> two 0s in a row mean you're either at top of stack (to the right) or in the dead zone (to the left)
14:59:34 <ais523|direct> and whenever the exact numerical location isn't known, we're to the right of the dead zone
14:59:39 <ais523|direct> to the left of that is just registers and temp cells
15:00:18 <AnMaster> so to move to a static area you just move to the dead zone then move a fixed number of cells from it?
15:00:31 <AnMaster> this makes me wonder how gcc-bf would handle buffer overflow
15:00:46 -!- cpu-jockey has quit ("leaving").
15:00:47 <ais523|direct> it handles buffer overflow the same way as any other processor, it goes and overwrites memory
15:00:59 <AnMaster> right, could it corrupt the internal state
15:01:04 <ais523|direct> weird stuff happens on buffer /underflow/, though, if it happened to be at the start of memory
15:01:08 -!- cruce has joined.
15:01:17 <ais523|direct> no, because the pointers are multiplied by 6 internally
15:01:19 <AnMaster> also did I understand you right, for every 6 cells in memory there is one with actual program memory?
15:01:36 <ais523|direct> the program itself is compiled into BF, not into bytecode and interpreted
15:01:42 <ais523|direct> so the program is the program, it isn't stored on the tape anywhere
15:01:53 <ais523|direct> every 6 cells, there are 2 which hold memory, one on the stack and one on the heap
15:02:06 <AnMaster> so stack and heap are interleaved!?
15:02:21 <AnMaster> what does the pointers look like then
15:02:33 <AnMaster> I mean, segment selector first or what?
15:02:42 <ais523|direct> 0x00?????? for a function pointer, 0x01?????? for a stack pointer, 0x02?????? for a heap/static pointer
15:03:14 <ais523|direct> and the 4 bytes have weightings of 3, 65536*6, 256*6, 6 cells
15:03:41 <AnMaster> I meant, MSB could be MS(Byte|Bit)
15:04:23 <AnMaster> ais523|direct, hm function pointers support jumping anywhere or?
15:04:37 <ais523|direct> the entire program's basically in a massive switch statement, written in BF
15:04:44 <AnMaster> that could probably be optimized away
15:04:48 <ais523|direct> at the end of any basic block, the address of the next basic block is set
15:04:56 <ais523|direct> and actually, that's very efficient with a decent interp and hardly uses any code
15:05:26 <ais523|direct> (the hyper-efficient way to end a program in gcc-bf is neither exit(0) nor _exit(0), it's goto *(void*)0;)
15:05:48 <AnMaster> since you only need to jump to start of function, setjmp() calls, and for flow control inside functions (which could be a smaller switch for each function): labels, while, for, if and so on
15:06:21 <ais523|direct> being able to jump anywhere is pretty convenient, and it's not a computational order slowdown thing
15:06:42 <ais523|direct> it switches on the bottom 24 bits of the pointers, in blocks of 8 bits at a time
15:06:43 <AnMaster> ais523|direct, I would assume it is undefined in C if you jump to any memory address that isn't a function pointer you got in a legal way
15:07:01 <ais523|direct> but you'd still need to be able to jump to the address of any function
15:07:20 <AnMaster> hm so each block, that means each line or each ; or what?
15:07:23 <ais523|direct> also, it would be nice if gcc-bf supported C++ too, and g++ does weird things with code pointers to handle exceptions
15:07:41 <ais523|direct> a block's a set of commands with linear control flow
15:07:53 <AnMaster> ah so you can't jump inside such a block?
15:08:11 <ais523|direct> so they tend to start and end in the middle of statements
15:08:42 <ais523|direct> anyway, I have to go for a while, Christmas dinner
15:08:48 <AnMaster> wouldn't it be possible to optimize some stuff better if you could reduce jump points
15:09:07 <AnMaster> for example << and then >> but with jump related stuff in between
15:12:29 <AnMaster> or: while (i != 0) { j += my_static_array[i--]; }
15:12:40 <AnMaster> that would probably be a for loop in most C programs
15:13:20 <AnMaster> that while loop could probably be turned into a very simple and basic bf loop
15:33:30 -!- mib_vvzkm4 has joined.
15:41:11 <AnMaster> ais523 went to eat xmas dinner
15:44:59 -!- Judofyr has joined.
15:49:30 -!- Corun has joined.
15:53:32 * mib_vvzkm4 is using it for the IRC bouncer he's writing
15:53:37 <mib_vvzkm4> ais523|direct: yes, I haven't got cherokee up yet
15:53:52 <ais523|direct> the artistic licence is, by chance, the only one to be tested in court
15:54:12 <mib_vvzkm4> so, gonna write a bouncer while i think how to fix them :P
15:55:13 <mib_vvzkm4> and have two christmas days after that, sans celebration
15:55:29 <mib_vvzkm4> ais523|direct: but they call it christmas eve
15:56:00 <AnMaster> well that is christmas day and "secondday christmas" (literal translation, it sounds "Olde Swedish" in Swedish, basically that form only exists in that specific phrase)
15:58:27 * ais523|direct wonders where to put the current version of gcc-bf
15:58:42 <ais523|direct> it's nowhere near finished, but it's finished enough to try to run some specially constructed programs in
15:59:03 <ais523|direct> AnMaster: a bit over 100K, not counting the source to gcc and to newlib which you already have IIRC
15:59:14 <AnMaster> well I mean the stuff you would upload
15:59:17 <ais523|direct> also I got rid of the calls to realpath, I think it still works
16:03:02 -!- fizzie has quit (Read error: 148 (No route to host)).
16:03:20 <AnMaster> upgrading a freebsd server remotely
16:03:37 <ais523|direct> no need to try it right away, just thought I'd transfer the file while we were both online
16:03:49 <ais523|direct> it's at the state of "in theory almost finished, in practice incredibly buggy"
16:04:06 <ais523|direct> and atm I'm just using a development model of "write test case, repeatedly fix the first bug it discovers until it works"
16:05:14 <mib_vvzkm4> I cannot believe there isn't a simple sha1 :: String -> String in Haskell's Hackage library store.
16:05:28 <mib_vvzkm4> I don't WANT ByteString -> Digest, damnit.
16:06:05 <mib_vvzkm4> but i'd have to fiddle with it to make it work properly
16:07:11 <ais523|direct> btw, the licence for gcc-bf at the moment is "undecided, but it's going to be something that can legally be used in a GPL3 program"
16:07:53 <mib_vvzkm4> ais523|direct: oh, or the DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE, VERSION 2
16:08:08 <ais523|direct> I think the bits designed to go into gcc itself will be GPL3+ as gcc itself is, the libraries will probably be BSD3, not sure about the linker yet
16:08:29 <mib_vvzkm4> http://en.wikipedia.org/wiki/Poetic_License
16:13:42 -!- psygnisf_ has joined.
16:13:50 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
16:19:20 <ais523|direct> mib_vvzkm4: that might be interestingly risky, although probably not
16:19:55 <ais523|direct> basically, the law says that warranty disclaimers have to be prominent, or obvious, or something like that (I can't remember the exact word) or they don't count
16:20:04 <ais523|direct> and there's court precedent that writing them in allcaps is one way to do that
16:20:21 <ais523|direct> as a result, professional licence-writing lawyers have always written warranty disclaimers in allcaps
16:20:29 <ais523|direct> because there's precedent that way works, why gamble on any other method?
16:20:46 <mib_vvzkm4> ais523|direct: Well, they're the inferior soulless beings of the world. :-P
16:21:09 <mib_vvzkm4> ais523|direct: Isn't copyright law _all_ about intent, anyway?
16:21:35 <ais523|direct> well, otherwise it would be impossible to tell whether you were allowed to copy something or not
16:21:48 <mib_vvzkm4> ais523|direct: ok, reasonably obvious intent
16:22:02 <ais523|direct> doing it the other way round can be interesting, though
16:22:14 <ais523|direct> the intent of the copyright holder, as opposed to the intent of the copier
16:22:43 <mib_vvzkm4> but I'd say that the Poetic License probably won't be judged to not work because it isn't allcaps.
16:23:05 <ais523|direct> the amusing thing is even the professional lawyers seem to mess up
16:23:24 <ais523|direct> the famous APA contract between SCO and Novell, for instance, was unclear enough for people to argue all sorts of weird things about it
16:23:37 <ais523|direct> maybe they should get nomic players to look the contracts over
16:24:02 <mib_vvzkm4> if r101/town fountain work poetic license does too :-P
16:24:31 <mib_vvzkm4> also, have SCO appealed the most recent judgment against them yet?
16:24:33 <ais523|direct> mib_vvzkm4: I don't think the town fountain is an RL-binding warranty disclaimer
16:24:54 <ais523|direct> they sent a letter to the courts saying they planned to, or something
16:25:09 <ais523|direct> and got an answer back saying vaguely "make sure you follow procedure to the letter and we're not going to bother to tell you what it is"
16:25:49 <ais523|direct> and other things that showed the court in question was aware of SCO, like talking about how delaying tactics were unwise
16:27:05 <ais523|direct> IBM winning that will be infinitely more amusing than Novell mostly winning
16:27:06 <mib_vvzkm4> i think I like Red Hat, as far as linux companies go. at least, I haven't heard of them doing bad stuff
16:27:18 <ais523|direct> especially as SCO's argument in that one was a lot less plausible than their argument against Novell
16:27:21 <mib_vvzkm4> also, SCO winning against IBM would probably be even funnier, albeit disasterous
16:27:40 <ais523|direct> I'm not sure I could see the amusement in that, tbh
16:28:08 <ais523|direct> "Hey, we invented Moore's Law and used it to prove that Itanium being unpopular was a conspiracy! Oh, and that means we own Linux, for some reason!"
16:28:19 <mib_vvzkm4> over-the-top ridiculousness applied to formal beorcracy (I can never spell that word) is always funny
16:28:37 <mib_vvzkm4> I could remember buraeu, cracy but thatwould be too logical
16:28:48 <ais523|direct> what, even that prisoner who went and tried to intervene in SCO vs. Novell
16:28:57 <ais523|direct> arguing that SCO's lawyers weren't doing a very good job and he could do better?
16:29:20 <ais523|direct> mib_vvzkm4: it seems he's some sort of "artist" who uses comedic lawsuits as a medium
16:29:40 <ais523|direct> he's sued an incredibly large number of people, some of whom don't exist
16:45:07 <mib_vvzkm4> ais523|direct: you can't use a GPL library in a non-GPL program right?
16:45:32 -!- oerjan has joined.
16:45:40 <ais523|direct> and so you have to distribute the source to your non-GPL program under the GPL
16:45:57 <ais523|direct> therefore, pretty much locking it into GPL-only distribution terms for any derivatives
16:46:10 <ais523|direct> you could licence it multilicence BSD/GPL, but nobody will be able to use the BSD half
16:47:26 <mib_vvzkm4> a wealth of libraries that I can't use because I disagree with how it goes about things, or just because it's not suitable for the certain thing I'm working on?
16:47:35 <mib_vvzkm4> for no reason other than a stupid political statement by rms?
16:47:50 <ais523|direct> people licencing libraries under the GPL are more or less deliberately saying "I only want this to be used in GPL programs"
16:48:16 <ais523|direct> which, btw, is why gcc-bf's runtime libraries won't be licenced under just GPL
16:48:16 <mib_vvzkm4> a wealth of libraries that I can't use because I disagree with how it goes about things, or just because it's not suitable for the certain thing I'm working on.
16:48:57 <ais523|direct> you can't use them because you don't want to make your own code GPL, actually
16:50:39 <mib_vvzkm4> ais523|direct: I don't want to use the GPL because "I disagree with how it goes about things, or just because it's not suitable for the certain thing I'm working on."
16:51:33 <ais523|direct> the argument really is that you have someone who doesn't want their libraries to be used in a closed-source way under any circumstances, therefore obviously you can't use them in your program that you do want to be usable like that
16:53:33 <mib_vvzkm4> ais523|direct: the point is, its viral nature is stopping me using perfectly good open source libraries -- heck, one of them is just a direct transliteration of the sha1 spec to haskell -- that would be absolutely fine non-GPL'd and I'm not even using it commercially, just in a non-GPL program
16:53:47 <ais523|direct> no, people have been applying it to the wrong things
16:54:33 <ais523|direct> either that, or they're people who don't like their work being used in a closed-source program ever
16:54:46 <mib_vvzkm4> ais523|direct: there is no correct use
16:54:46 <ais523|direct> although you might not share that attitude, I'm surprised that you seem not to understand it
16:55:09 <ais523|direct> what I mean is, there will always be people who want copyleftness for some reason or otehr
16:55:11 <mib_vvzkm4> the only thing the GPL's viral nature is useful for is to stop it getting into commercial software
16:55:17 <mib_vvzkm4> and that's just anti-commercial paranoia
16:55:19 <ais523|direct> mostly to stop people messing with the licence terms
16:55:38 <mib_vvzkm4> ais523|direct: for free software, what terms can there be
16:55:51 <mib_vvzkm4> apart from "you can do anything but you have to include this notice"
16:55:54 <ais523|direct> mib_vvzkm4: let's say, someone releases a derivative of your software under an ecolicence
16:56:03 <ais523|direct> and it becomes popular, but you can't use it legally
16:56:04 <mib_vvzkm4> the only t hing that actually needs viralness
16:56:07 <mib_vvzkm4> is stopping commercial software using it
16:56:17 <ais523|direct> mib_vvzkm4: or stopping people adding extra terms to the licences
16:56:25 <ais523|direct> put it this way, suppose you release a BSD library
16:56:33 <ais523|direct> someone modifies it to make it more useful, and releases the result under GPL
16:56:53 <mib_vvzkm4> I'd think they're an ass, but I wouldn't try and stop them.
16:57:10 <ais523|direct> what if the GPL library became a lot more popular than your original?
16:57:13 <mib_vvzkm4> I guess I don't see the need to formalize human reasonableness and decency.
16:57:20 <mib_vvzkm4> ais523|direct: sucks to be me, I guess.
16:57:38 <ais523|direct> the truth is, most people aren't as trusting of everyone in the world as you are
16:57:49 <mib_vvzkm4> ais523|direct: It's not about trusting.
16:58:08 <mib_vvzkm4> Besides, if you don't "trust" people, don't release it as free software
16:58:21 <mib_vvzkm4> and it gets more popular than the original?!!!
16:58:26 <ais523|direct> then the new version is unlikely to catch on, if it's sufficiently worse
16:58:39 <mib_vvzkm4> ais523|direct: no, in the kind of broken way that seems better to most people
16:58:44 <mib_vvzkm4> btu for the people who actually know how it works, is crappy
16:58:52 <mib_vvzkm4> and leads to problems further along the lines
16:59:03 <mib_vvzkm4> ais523|direct: no, because it leads to serious problems in the end
16:59:12 <ais523|direct> and yes, it is leading to serious problems in the end...
16:59:16 <mib_vvzkm4> "Derivatives of the software must improve on it."
16:59:27 <mib_vvzkm4> this will stop bad people from making it worse.
16:59:36 <ais523|direct> mib_vvzkm4: would you consider releasing software under BSD plus that clause?
16:59:55 <mib_vvzkm4> users of the software must brush their teeth, and floss
17:00:07 <mib_vvzkm4> we're ensuring our users stay free and healthy!
17:00:13 <ais523|direct> actually, I think the main reason the GPL is designed as it is, is to avoid the scenario of someone getting a copy of the software but not be able to tinker with it
17:00:30 <ais523|direct> RMS was putting himself in the end-user's position, and deciding he was really annoyed with inability to tinker
17:00:37 <mib_vvzkm4> s/software/a derivative of software/, you mean
17:01:00 <ais523|direct> it's illegal for me to send you unmodified GPL binaries, but not tell you where the source is
17:01:10 <mib_vvzkm4> that's nothing to do with viral nature
17:01:28 <mib_vvzkm4> anyway in which case, ais523|direct -- didn't you say "its the devs choice to not allow it to be used commercially"
17:01:43 <mib_vvzkm4> in this case, it's the developer of a derivative's choice to not allow it to be modified
17:02:00 <ais523|direct> mib_vvzkm4: the problem with derivatives is they have to respect the original author's wishes too
17:02:08 <mib_vvzkm4> see, if someone founded a business by taking my library, and adding their own top-secret magic juice that makes their product amazing and they sell loads and blah blah blah
17:02:14 <mib_vvzkm4> to me, not releasing the source is absolutely fine, good on them
17:02:16 <ais523|direct> I'm perfectly happy with people releasing non-derivative software under a noderivs licence
17:02:30 <ais523|direct> or derivative software where the original author's happy with that
17:02:32 <mib_vvzkm4> it's their business, as long as they retain my name in there, that's OK
17:02:43 <ais523|direct> not everyone shares your attitude, especially if they have a job
17:03:01 <ais523|direct> effectively, if you write a BSD-licenced library, you're doing other people's work for them
17:03:06 <ais523|direct> some people are happy with that, some people aren't
17:03:13 <mib_vvzkm4> yeah. that's called free software/open source.
17:03:57 <ais523|direct> except... in the GPL world, everyone ends up having to give back by the nature of the licence, that makes it more acceptable to some people to GPL in the first place
17:04:08 <ais523|direct> as in, if you create BSD works, other people could use them and not give anything back
17:04:24 <ais523|direct> if you create GPL works, other people who modify them have to either keep the modifications to themselves, or give them to everyone
17:04:31 <mib_vvzkm4> that's fine. if it's their innovation, fine. it's their right to keep it to themselves.
17:04:36 <ais523|direct> (rather than the usual middle ground of giving them only to paying customers, for instance)
17:04:41 <mib_vvzkm4> of course, it'd be nicer if they released it, but free software is about freedom, anyway
17:05:01 <ais523|direct> graue was a big believer in public domain (probably still is), and I see his point too, by the way
17:05:30 <ais523|direct> and this argument, I think, is all about how much people should have the freedom to limit other people's freedom
17:05:31 <mib_vvzkm4> I use a real license due to the shaky legal status of PD
17:05:45 <mib_vvzkm4> I'm considering modifying an existing one to remove the required-notice stuff
17:05:48 <ais523|direct> Creative Commons have written a ridiculously detailed PDing licence
17:06:18 <mib_vvzkm4> "You can brush your teeth with this work."
17:06:30 <mib_vvzkm4> "You can zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzUIY*Q&Y$* on a sunday morning with this work."
17:06:43 <ais523|direct> I think there are only a finite number of things that are illegal to do with copyrighted works anyway, and they're each explicitly made legal
17:07:33 <oerjan> except - it's not necessarily the same in all countries, is it?
17:07:56 <mib_vvzkm4> http://hackage.haskell.org/packages/archive/nano-md5/0.1.2/doc/html/Data-Digest-OpenSSL-MD5.html
17:08:44 <ais523|direct> mib_vvzkm4: you are going to put their copyright notice in the materials accompanying the distribution, right?
17:09:06 <mib_vvzkm4> hmm, isn't that implicit for shared libraries as long as you don't include their source?
17:09:20 <mib_vvzkm4> i'm not modifying or redistributing it, after all
17:09:23 <ais523|direct> I think so, assuming the person got the shared library legitimately
17:09:37 <ais523|direct> how are you using it and not redistributing it? telling people to get it from hackage themselves?
17:10:01 <mib_vvzkm4> well, also putting it in the cabal file so that when I put it on hackage it auto-downloads those as dependencies.
17:17:18 <mib_vvzkm4> ew. someone referring to an operating system as just "GNU".
17:17:43 <ais523|direct> actually, I consider GNU to be an operating system whose shell is Emacs and for which they still haven't written the kernel
17:18:01 <mib_vvzkm4> i think the correct name is GNU/Suicide, though.
17:18:14 <ais523|direct> if you read Stallman's original famous message, he mentioned that he wanted both C and Lisp as system programming languages
17:18:31 <ais523|direct> I actually think GNU Emacs was intentionally, not just accidentally, designed to be an OS
17:18:49 <mib_vvzkm4> he wanted a program that could do everything he wanted.
17:18:50 <ais523|direct> probably Stallman's disappointed that people keep mistaking it for an editor
17:20:06 <mib_vvzkm4> I wonder if the zippiness I'm experiencing thanks to this here 2.5 GB of RAM is just placebo.
17:20:36 <ais523|direct> it makes the computer seem just as responsive as real zippiness, but without the hardware costs
17:20:55 <mib_vvzkm4> well, 2gb of ram only costs like £15 nowadays
17:21:19 <mib_vvzkm4> ais523|direct: unfortunately, this is placebo zippiness, plus the hardware costs
17:22:01 -!- CakeProphet has joined.
17:23:19 <ais523|direct> caused by alt-tabbing to an IRC window and trying to type yes before I've got my hands back to the usual position
17:25:11 <ais523|direct> it could become a new meme I suppose, but oko has more power
17:26:50 <ais523|direct> (incidentally, the same doesn't happen with "no", because that's typed with the right hand)
17:30:35 <ais523|direct> but you'd probably just end up with some sort of reverse viper
17:30:39 -!- CakeProphet has quit ("lol").
17:31:05 <mib_vvzkm4> I wonder if there's ever been an #esoteric meetup.
17:31:21 -!- CakeProphet has joined.
17:32:22 <ais523|direct> impractical due to the huge variety of countries and continents that esotericers are in
17:32:47 <ais523|direct> but I don't think there are more than 3 or 4 people from any one country here
17:33:07 <mib_vvzkm4> how many englishmen here... me, you, SimonRC... anyone else?
17:38:28 <ais523|direct> only two people responded in UTC+0, neither of them were either of us
17:38:58 <ais523|direct> mib_vvzkm4: well, Mibbit doesn't resopnd to ctcp time, I think
17:39:01 -!- CakeProphet has quit ("lol").
17:39:34 <mib_vvzkm4> an #esoteric meetup would probably culminate in two things
17:39:40 <mib_vvzkm4> the most horrifying programming language ever, and
17:40:03 * oerjan swats Slereah in a gentle, caring way -----###
17:41:07 -!- bsmntbombgirl has quit (Read error: 113 (No route to host)).
17:41:57 -!- bsmntbombgirl has joined.
17:52:16 -!- bsmntbombgirl has changed nick to bsmntbombdood.
17:54:05 <ais523|direct> bsmntbombdood: what is going on with your nick? I'm getting disturbed
17:54:19 <mib_vvzkm4> ais523|direct: numerous sex changes, apparently.
18:12:17 -!- Asztal has joined.
18:26:58 <mib_vvzkm4> Who wants to build the ultimate chat protocol with me?
18:27:27 <ais523|direct> I have already has one unfulfilled promise of kittens this year
18:27:52 <mib_vvzkm4> ais523|direct: well, these are kittens, with, lasers
18:30:48 <mib_vvzkm4> also, this system could replace email too.
18:34:47 <oerjan> i think kittens with lasers may have harmful effects on your mice.
18:34:55 <Asztal> what do you dislike about IRC?
18:35:07 <ais523|direct> as in, right now, although I have one I have nowhere to put it
18:35:46 <oerjan> hm actually i'm using a pad myself
18:36:23 <Asztal> there are cat bots, and fish bots
18:36:31 <Asztal> we just need a kitten bot
18:37:20 <Asztal> on quakenet, there was.
18:37:25 <mib_vvzkm4> [[I submit a consultation. "Any person is, durign any voting period allowed to abstain from voting for that voting period." ]]
18:39:33 <Asztal> it's generally pretty useless, but is usually in hundreds (thousands?) of channels
18:43:35 <Asztal> http://web.archive.org/web/20080129154023/www.telkman.co.uk/f/commands.php
18:47:33 <oerjan> i'd have thought that would be more a cowbot's thing </captain obvious>
18:49:34 <mib_vvzkm4> "Any sentence with vinegar and aftershock in it"
18:50:16 -!- mib_vvzkm4 has quit ("http://www.mibbit.com ajax IRC Client").
18:50:35 -!- mib_ewzho7 has joined.
18:54:32 <mib_ewzho7> ... but not this awful one: http://www.cl.cam.ac.uk/~gmb13/Iota/
18:56:00 <ais523|direct> that's sort of the non-eso branch of bad language design, IMO
18:58:09 <mib_ewzho7> http://pastie.org/private/ftvs4xhdakpj8qdw0eya
18:58:21 <mib_ewzho7> In Ruby, which is odd for me recently.
18:59:24 <mib_ewzho7> but it doesn't use indentation for structure
18:59:43 <mib_ewzho7> the ends can get a bit ugly if you have very-nested structures
19:00:28 * ais523|direct suddenly realises that there's hardly any, if any, [[[ or ]]] in gcc-bf
19:00:37 <ais523|direct> for that matter, there's not a whole lot of [[ or ]]
19:01:00 <ais523|direct> but I mean [[ ... ] ... ] is something I use from time to time
19:01:11 <ais523|direct> but [ ... [ ... ]], or anything with [[[ or ]]], is really rare
19:01:43 <ais523|direct> the longest patterned bits of code are the [-[-[-[-[-[-[-[-[-[-...s at the start of the switch statements
19:02:05 <ais523|direct> and of course the 300,000+ consecutive >s, but if you're sane you leave those run-length-encoded, as they come up quite a lot
19:05:07 <mib_ewzho7> theory: any #esoteric meetup will inevitably culminate in making a clone of the LHC that actually works and destroys the world
19:06:18 <oerjan> mib_ewzho7: we don't have the resources to make a collider
19:06:36 <oerjan> we _might_ be able to make an evil AI, though
19:07:04 <mib_ewzho7> it's all in the specific brand of tape
19:07:04 <oerjan> we make an evil AI which then builds the collider
19:08:12 <ais523|direct> for all this time, I was lamenting the lack of any truly evil genii
19:08:26 <ais523|direct> because nobody is that maniacally insanely evil in practice
19:08:35 <ais523|direct> but of course, an AI could be programmed to be evil, avoiding the problem
19:08:57 <ais523|direct> sorry, hair on my keyboard, I was trying to get rid of it
19:09:00 <mib_ewzho7> er*(&!(*&18y227222222222222LOST CARRIER
19:12:24 <oerjan> ais523|direct: it's all right we won't disrespect you just because you have spasms
19:12:58 <ais523|direct> oh, it's my habit recently of pressing enter to clear a line, especially on IRC, to make an interesting topic of conversation
19:14:17 <oerjan> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
19:14:30 <mib_ewzho7> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
19:14:53 <oerjan> a brute force argument if i ever saw one
19:15:06 <ais523|direct> A aaaa aa aaaaa aaaaaaaaa aaaa a aaaaaaa aaaaaa aaaa aaaaaa aaa aaaa aaaa a'a aaaaaaa aaaaa.
19:17:09 <oerjan> for the right implementation i think so
19:19:20 <mib_ewzho7> someone name a few sequences that 42 is in
19:19:57 <Asztal> I think whitespace between a function and the opening parenthesis for the arguments used to raise a warning that things might change
19:21:59 <Asztal> http://www.research.att.com/~njas/sequences/?q=42&go=Search :)
19:22:01 <ais523|direct> the set of numbers which are the product of two consecutive integers in two ways
19:27:02 <oerjan> um it's always two ways or none, i think
19:34:19 <bsmntbombdood> hmm the [[priority queue]] says that inserting AND removing are O(log n)
19:34:26 <Asztal> maybe in your silly commutative algebrae
19:36:30 <oerjan> "If a self-balancing binary search tree is used, all three operations take O(log n) time"
19:36:59 <oerjan> "Fibonacci heaps can insert elements, peek at the maximum priority element, and increase an element's priority in amortized constant time (deletions are still O(log n))."
19:37:10 <oerjan> it really depends on which implementation you use
19:38:25 <oerjan> oh i cut off the first too soon
19:38:34 <bsmntbombdood> interesting to peak but not delete in constant time
19:38:38 <oerjan> "The binary heap uses O(log n) time for both operations, but allows peeking at the element of highest priority without removing it in constant time."
19:39:15 * oerjan confuses himself, all three pastes were right
20:02:24 -!- mib_ewzho7 has quit (kornbluth.freenode.net irc.freenode.net).
20:02:24 -!- Asztal has quit (kornbluth.freenode.net irc.freenode.net).
20:02:26 -!- Slereah has quit (kornbluth.freenode.net irc.freenode.net).
20:02:27 -!- sebbu has quit (kornbluth.freenode.net irc.freenode.net).
20:02:28 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
20:02:28 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
20:02:29 -!- Badger has quit (kornbluth.freenode.net irc.freenode.net).
20:02:29 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
20:02:30 -!- ais523|direct has quit (kornbluth.freenode.net irc.freenode.net).
20:02:33 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
20:02:33 -!- lifthrasiir has quit (kornbluth.freenode.net irc.freenode.net).
20:02:33 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
20:02:33 -!- Ilari has quit (kornbluth.freenode.net irc.freenode.net).
20:02:34 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
20:09:41 -!- SimonRC has joined.
20:09:41 -!- sebbu has joined.
20:09:41 -!- Slereah has joined.
20:09:41 -!- ais523|direct has joined.
20:09:41 -!- mib_ewzho7 has joined.
20:09:41 -!- Asztal has joined.
20:09:41 -!- Badger has joined.
20:09:41 -!- lifthrasiir has joined.
20:09:41 -!- AnMaster has joined.
20:09:41 -!- rodgort has joined.
20:09:41 -!- decipher has joined.
20:09:41 -!- Ilari has joined.
20:09:41 -!- lament has joined.
20:09:41 -!- mtve has joined.
20:09:55 -!- Corun has quit ("Leaving").
20:10:29 -!- SimonRC has quit (Remote closed the connection).
20:10:33 -!- SimonRC has joined.
20:18:09 <ais523|direct> I'm in no mood for being thrashed yet again, given that it's Christmas
20:28:45 -!- oerjan has quit ("Break").
20:33:45 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
20:35:40 -!- Sgeo has joined.
20:47:53 <AnMaster> a weird wave-like pattern in the build output when building openssl on freebsd
20:48:10 <AnMaster> (actually it looks quite cool)
20:51:28 -!- Asztal has quit (Read error: 110 (Connection timed out)).
21:05:21 -!- fizzie has joined.
21:06:26 -!- psygnisf_ has quit (Read error: 54 (Connection reset by peer)).
21:28:33 -!- GreaseMonkey has joined.
22:17:11 <mib_ewzho7> this system is wow so much faster with the extra 1.5 GB of ram
22:28:21 * Sgeo has a grand total of 512MB ram
22:29:08 <Sgeo> Did I ever mention what graphics card I have?
22:29:41 <Sgeo> nVidia RIVA TNT2
22:31:42 <Sgeo> They laughed when I told them my computer's specs, but who's laughing now?!?!?!?
22:32:36 <Sgeo> Yeah, well, I still want to sound mad
22:32:45 <mib_ewzho7> hey fizzie, how do you feel about fungot getting competition in the babbler, random, schizophrenic, crazy bot with tons of stupid features market
22:32:46 <fungot> mib_ewzho7: the valid judgements for this, if
22:47:04 <fizzie> As long as I have monopoly in the lucrative "Befunge IRC-bots" market; licenses for those are what's keeping me fed!
22:47:49 <fizzie> ais523|direct: That's confidential information, but I can say that the number has a zero imaginary part.
22:54:54 -!- Corun has joined.
22:56:47 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy.").
23:48:13 -!- ais523|direct has quit.
23:48:44 -!- mib_ewzho7 has quit ("http://www.mibbit.com ajax IRC Client").
23:58:56 -!- Asztal has joined.