--- Log opened Sat Jan 02 00:00:43 2010 |
00:03 | | Netsplit *.net <-> *.split quits: @Kazriko, @jerith |
00:06 | | Netsplit over, joins: @Kazriko, @jerith |
00:07 | | Namegduf [namegduf@37647E.E7FE07.A23CD5.23CFB0] has quit [Ping timeout: 121 seconds] |
00:07 | | Namegduf [namegduf@37647E.E7FE07.A23CD5.23CFB0] has joined #code |
00:13 | | Netsplit *.net <-> *.split quits: Namegduf, chintimin, KazWork |
00:14 | | Netsplit *.net <-> *.split quits: EvilDarkLord, @MyCatVerbs, Rhamphoryncus |
--- Log closed Sat Jan 02 00:15:01 2010 |
--- Log opened Sat Jan 02 00:15:34 2010 |
00:15 | | TheWatcher[zZzZ] [chris@Nightstar-b4529b0c.zen.co.uk] has joined #code |
00:15 | | Irssi: #code: Total of 12 nicks [6 ops, 0 halfops, 0 voices, 6 normal] |
00:15 | | mode/#code [+o TheWatcher[zZzZ]] by Reiver |
00:16 | | SmithKurosaki [Smith@Nightstar-b5b52a84.dsl.teksavvy.com] has quit [Ping timeout: 121 seconds] |
00:17 | | Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Ping timeout: 121 seconds] |
00:17 | | Netsplit *.net <-> *.split quits: @Kazriko, @jerith |
--- Log closed Sat Jan 02 00:21:05 2010 |
--- Log opened Sat Jan 02 00:24:20 2010 |
00:24 | | TheWatcher[zZzZ] [chris@Nightstar-b4529b0c.zen.co.uk] has joined #code |
00:24 | | Irssi: #code: Total of 13 nicks [1 ops, 0 halfops, 0 voices, 12 normal] |
00:24 | | mode/#code [+o TheWatcher[zZzZ]] by Reiver |
00:25 | | Irssi: Join to #code was synced in 45 secs |
00:32 | | ToxicFrog [ToxicFrog@Nightstar-b5b52a84.dsl.teksavvy.com] has joined #code |
00:32 | | mode/#code [+o ToxicFrog] by Reiver |
01:06 | | Kazriko [kaz@Nightstar-e09690fa.client.bresnan.net] has joined #code |
01:06 | | jerith [jerith@ServerAdministrator.Nightstar.Net] has joined #code |
01:06 | | Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
01:06 | | McMartin [mcmartin@Nightstar-ec4e50af.pltn13.sbcglobal.net] has joined #code |
01:06 | | ServerMode/#code [+oo Kazriko jerith] by *.Nightstar.Net |
01:06 | | mode/#code [+o Syloqs-AFH] by Reiver |
01:06 | | mode/#code [+o McMartin] by Reiver |
01:08 | | Netsplit *.net <-> *.split quits: @Kazriko, @Syloqs-AFH, @McMartin, @jerith |
01:09 | | Netsplit over, joins: @jerith, @McMartin, @Kazriko, @Syloqs-AFH |
01:13 | | Netsplit *.net <-> *.split quits: @Kazriko, @Syloqs-AFH, @McMartin, @jerith |
01:14 | | Netsplit over, joins: @jerith, @McMartin, @Kazriko, @Syloqs-AFH |
01:18 | | Netsplit *.net <-> *.split quits: @Kazriko, @Syloqs-AFH, @McMartin, @jerith |
01:20 | | Netsplit over, joins: @Kazriko, @jerith, @Syloqs-AFH, @McMartin |
01:42 | <@McMartin> | Man |
01:42 | <@McMartin> | Euler #143 is ridiculous. |
01:42 | <@McMartin> | The best solution I have may end up taking two weeks to run. |
02:01 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code |
02:23 | | * McMartin actually takes a look at The Haskell Platform, <3s. |
03:10 | <@ToxicFrog> | The Haskell Platform? |
03:30 | | MyCatVerbs [mycatverbs@Nightstar-ba39eab0.bb.sky.com] has quit [Connection closed] |
03:31 | | Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Connection closed] |
04:41 | <@McMartin> | TF: Basically an all-in-one installer for the compiler and necessary libraries, and for platforms that aren't Linux-with-distro-support-already-there. |
04:43 | <@ToxicFrog> | Aah, tasteh |
06:17 | | * ToxicFrog realizes that he's just written a heirarchical GUI library |
06:39 | < Vornicus> | Heh |
06:39 | <@jerith> | Accidentally or on purpose? |
06:41 | <@ToxicFrog> | Both, kind of |
06:41 | <@ToxicFrog> | I'm working in an SDL-like environment and needed windows and menus and will probably need buttons late |
06:41 | <@ToxicFrog> | *later |
06:42 | <@jerith> | pygame! *flees* |
06:42 | <@ToxicFrog> | love2d, actually |
07:12 | <@McMartin> | Actually, the Windows version of the Haskell Platform kinda sucks. |
07:12 | <@McMartin> | The Mac version is quite good though. |
07:13 | | * jerith looks. |
07:13 | <@jerith> | Since macports ghc is made of uncompiling fail. |
07:16 | <@McMartin> | Haskell Platform for Mac was literally click two .pkgs, win |
07:16 | <@McMartin> | I didn't even have to restart Terminal.app |
07:17 | <@jerith> | Oh, it's a 100mb download. That'll take a while. |
07:22 | <@McMartin> | Installed it's something like 600mb, too. Completely bizarrely heavily compressed. |
07:56 | | Attilla [Attilla@FBC920.DDABA2.BBDFC7.BE7CCD] has joined #code |
07:56 | | mode/#code [+o Attilla] by Reiver |
08:48 | <@jerith> | http://glyph.twistedmatrix.com/2008/12/emacs-test.html <-- Relevant to the editor conversation from whenever ago. |
08:56 | | Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has quit [Client exited] |
09:21 | | You're now known as TheWatcher |
09:24 | < Namegduf> | That's interesting. |
09:25 | <@jerith> | He says it a lot better than I do. |
09:26 | < Namegduf> | It seems to be discussing its features as an IDE, but pointing out that it makes a damn good one. |
09:26 | < Namegduf> | Or, rather, that he could make it into a good one. |
09:27 | < Namegduf> | (Reasonably easily) |
09:27 | | * jerith nods. |
09:28 | <@jerith> | I miss the "editor" features in an IDE far more than I miss the "IDE" features in an editor. |
09:29 | <@jerith> | Except when I'm writing Java, where a tool that has a deep understanding of the language is a necessity. |
10:08 | | * chintimin waves at Jerith and N |
10:08 | | * jerith waves back. |
10:08 | < chintimin> | You using an IDE now? |
10:08 | <@jerith> | I've always used Eclipse for Java. |
10:09 | < chintimin> | I just like having things that color code things with brackets and tabstops. :P |
10:09 | <@jerith> | And emacs (or vim, where necessary) for everything else. |
10:10 | <@jerith> | Syntax highlighting and basic indentation is pretty ubiquitous these days. |
10:10 | <@jerith> | Anything that doesn't have them is almost certainly too simple to be useful to me. |
10:11 | | * jerith disappears for a bit. |
10:14 | | * chintimin is too simple to be useful. TRY FOR ENTERTAINING AND SLASH OR ANNOYING! |
11:05 | | MyCatVerbs [mycatverbs@Nightstar-ba39eab0.bb.sky.com] has joined #code |
11:05 | | mode/#code [+o MyCatVerbs] by Reiver |
11:11 | | AnnoDomini [annodomini@Nightstar-ba720c1b.adsl.tpnet.pl] has joined #code |
11:11 | | mode/#code [+o AnnoDomini] by Reiver |
11:28 | | MyCatVerbs [mycatverbs@Nightstar-ba39eab0.bb.sky.com] has quit [Client closed the connection] |
12:25 | < chintimin> | shopping for new headphones |
13:09 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed] |
14:27 | | Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code |
16:16 | | * chintimin scratches his head and tries to figure out if these are as uncomfortable as they look |
--- Log opened Sat Jan 02 16:53:41 2010 |
16:53 | | TheWatcher [chris@Nightstar-b4529b0c.zen.co.uk] has joined #code |
16:53 | | Irssi: #code: Total of 18 nicks [7 ops, 0 halfops, 0 voices, 11 normal] |
16:53 | | mode/#code [+o TheWatcher] by Reiver |
16:54 | | Irssi: Join to #code was synced in 53 secs |
17:44 | | Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has joined #code |
18:35 | < Namegduf> | Hmm. ASTs: Stupid overkill for mathematical expressions, or still a valid way of doing it? |
18:36 | | * jerith has just been hacking on a math parser. |
18:36 | <@jerith> | Translating it from pymeta to pyparsing. |
18:37 | | * Namegduf finished writing one about a week ago, and is now writing another, but is actually doing this one from scratch instead of rewriting an existing approach. |
18:38 | < Vornicus> | Namegduf: if you want to do anything other than arithmetic? You need 'em. |
18:38 | < Namegduf> | Vornicus: I know. |
18:39 | <@jerith> | This is the one I translated. |
18:39 | <@jerith> | http://bazaar.launchpad.net/~eridanus-developers/eridanus-std/trunk/annotate/hea d%3A/eridanusstd/calc.py |
18:39 | < Vornicus> | For arithmetic I usually do the 2 stacks |
18:39 | < Namegduf> | One of numbers, one of operators? |
18:39 | < Vornicus> | Indeed |
18:39 | | * TheWatcher stabs this javascript |
18:39 | < Namegduf> | Yeah, that's how the last one I wrote did it. |
18:39 | < Namegduf> | But that was going off an existing implementation, just rewriting it... less hideously. |
18:40 | <@jerith> | Mine does all the math in the parsing stage. |
18:40 | <@jerith> | The output of the parser is a single number. :-) |
18:41 | < Namegduf> | Heh. |
18:41 | < Namegduf> | My two stack one can't do that. |
18:41 | < Namegduf> | One of the operators is 'd', for dice, you see. |
18:41 | <@jerith> | Ah, right. |
18:41 | | * jerith is also writing a dicebot. |
18:41 | < Namegduf> | I've been considering adding an initial evaluation run which evaluates everything it can, though. |
18:42 | < Namegduf> | Mine wasn't a dicebot, it was an IRC server module. |
18:42 | < Namegduf> | Well, sort of. 3000 lines of generic rolling engine which takes requests and spits out lines of results, plus that side of it. |
18:42 | < Namegduf> | I wrote a stupid, very short CLI frontend to it, too. |
18:42 | <@jerith> | Not the one in ... is it anope? whichever services thing we're using. |
18:43 | < Rhamphoryncus> | I just used regex for my dicebot |
18:44 | < Namegduf> | Our old one was the original Anope one (RPGServ, not DiceServ); I was rewriting it basically from scratch. |
18:44 | < Namegduf> | Well, rewriting it with reference to the implementation, but no code reuse. |
18:44 | < Namegduf> | It's hideous in the inside. |
18:44 | <@jerith> | I looked at DiceServ. It made me sad. |
18:44 | <@jerith> | Here's mine, FWIW: http://bazaar.launchpad.net/~rolo-dev/rolo/trunk/annotate/head%3A/src/rolo/dice. py |
18:45 | < Namegduf> | The original RPGServ was bad in the opposite way to DiceServ |
18:45 | < Namegduf> | It's... very C. |
18:45 | <@jerith> | It's pretty simple (no general math stuff, just arithmetic expressions). |
18:45 | < Namegduf> | And loves, loves globals. |
18:46 | <@jerith> | DiceServ manages to both too general (atanh()?) and too inflexible. |
18:46 | < Namegduf> | http://sourceforge.net/projects/farpoint/files/farpoint/RPGServ/ircd_rpgserv.c/d ownload <-- Examine it at your own peril. |
18:47 | < Namegduf> | I want to use the same core as a forums dice roller at some point, too. |
18:47 | < Namegduf> | The same way I built a CLI around it could be used to make a very stupid, simple "listen on sockets, receive requests, reply with results" thing. |
18:47 | <@jerith> | Rolo was originally written as a Google Wave bot. |
18:48 | < Namegduf> | Hmm. Your dice bot is different to the calculator? |
18:48 | < Rhamphoryncus> | Namegduf: lovely lack of namespacing too |
18:48 | < Namegduf> | Rhamphoryncus: Oh, yes. I'm not missing never having to look into that thing again. |
18:48 | <@jerith> | But the core diceroller is "pass in a string, get resultsets (brief and verbose) out the other end". |
18:49 | < Namegduf> | The core of m_roll is similar, but "cleverer". |
18:50 | < Namegduf> | Because it wants to be able to replicate some clever, IRC-specific stuff that RPGServ could do in output, it receives an outputtype |
18:50 | <@jerith> | The calculator isn't mine -- I was just rewriting it in pyparsing to see if I could make it as readable as the pymeta BNF+stuff it uses. |
18:50 | < Namegduf> | Ah. |
18:50 | < Namegduf> | And can issue various kinds of result message. |
18:50 | < Rhamphoryncus> | It's kinda funny how much is involved in a calculator |
18:50 | < Namegduf> | The obvious difference is between errors and regular results. |
18:51 | <@jerith> | Rolo just throws exceptions and lets the frontend deal with it. |
18:51 | < Namegduf> | Well, it has non-fatal errors. |
18:51 | < Namegduf> | Like rounding or clipping. |
18:52 | < Namegduf> | It also wants to append the name of the person doing the roll to the output, but only if it's being rolled to a channel/other person, not to themselves. |
18:53 | <@jerith> | Stuff like that belongs outside the diceroller, though. |
18:53 | < Namegduf> | And *where* that is best put depends on how it's best to format the particular roll, because it doesn't just handle expressions, it handles presets like "dtwenty" and "wod" as well as character ability score generation. |
18:54 | <@jerith> | I'm been thinking about doing that kind of thing with a general macro definition system. |
18:54 | < Namegduf> | Yeah, that's what I did. The macros are written in C++. |
18:54 | < Namegduf> | :P |
18:54 | < Namegduf> | Seriously, with the complexity of some, you end up needing something that's at least almost turing complete. |
18:55 | <@jerith> | Character generation probably wouldn't work with that. |
18:55 | < Namegduf> | Actually, that's probably the simpler parts. |
18:55 | < Rhamphoryncus> | IIRC, my bot produced the result in abstract form (including a list of numbers), and another stage formatted it |
18:55 | < Namegduf> | Properly handling the appropriate rerolls for WOD rolls, and counting successes... |
18:56 | < Namegduf> | Especially if you want to output different messages for botches and stuff... |
18:56 | <@jerith> | But something like "!defmacro wod ${1}d10s8e10" would be reasonable. |
18:56 | < Namegduf> | It's more complex than "4d6, drop lowest d6" |
18:56 | < Namegduf> | What's the syntax there? |
18:57 | <@jerith> | NdS+modifiers. |
18:57 | < Namegduf> | How would you handle counting successes, botches, etc? |
18:58 | <@jerith> | the modifiers are sT for success threshold, kN for keep top N, eT for "exploding". |
18:58 | < Namegduf> | Successes can in some systems have botches subtracted from them, while in others not, and botches are only relevant if there's no successes. |
18:58 | < Namegduf> | In Exalted, 10 can count as a double success. |
18:58 | <@jerith> | (Exploding is rerolling anything above the threshold and including the rerolls in the result.) |
18:58 | < Rhamphoryncus> | IMO, it's better to hardcode difference systems than to have an extensible macro system |
18:59 | <@jerith> | Rhamphoryncus: I'll probably hardcode a few tricky ones. |
18:59 | < Namegduf> | I pretty much provide a relatively simple way to implement additional systems, potentially lots of them |
18:59 | < Namegduf> | And have them hardcoded. |
18:59 | < Namegduf> | They're mostly tricky ones. |
18:59 | <@jerith> | But I'd prefer not to have to maintain it to keep it up to date with the flavour of the week. |
19:00 | | Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has quit [Client exited] |
19:01 | < Namegduf> | The other aspect of it is that printing "<World of Darkness roll for <nick>>" or lines like "<Dramatic Failure!>" as appropriate lingo for the given system is definitely a nice touch that you get for free when hardcoding them. |
19:01 | < Namegduf> | RTD is a nice one for that example, a very simple preset. |
19:01 | <@jerith> | Well, it's not for free. You have to live with hardcoding them. :-) |
19:02 | < Namegduf> | It's just a roll of 1d6, where 1 is Horrifically Bad, 2 is Failure, 3 is Partial Success, 4 is Success, 5 is Perfect Success, and 6 is Horrifically Good, and you really don't want 6. |
19:02 | < Namegduf> | The pretty textual output from that one is the main reason of having it be a preset. |
19:03 | < Namegduf> | And that's true, although I don't think "softcoding" improves maintainability much. |
19:03 | <@jerith> | It moves it to a different place. |
19:03 | < Namegduf> | Depends on organiation. |
19:04 | <@jerith> | I'm empowering my customers to maintain their own features. |
19:04 | < Namegduf> | Heh. |
19:04 | < Namegduf> | While mine is internally maintained and used, and I'd probably be adding the presets anyway. :P |
19:05 | < Namegduf> | Different situations, yeah. |
19:05 | <@jerith> | I'd call mine a win and be all smug and insufferable if I discovered that people who had never heard of me were using it in their channel and making it do things I hadn't thought of. |
19:06 | < Namegduf> | I dislike dice bots, because it's a "every RPG group must roll their own, channels get two separate bots doing dice rolls when they're not even RP groups" mess. |
19:07 | < Namegduf> | Sure, they'll be doing things you've not thought of, but no one but that group will ever make use of those features. |
19:07 | < Namegduf> | The next group over will be running a different bot. |
19:08 | < Namegduf> | But that'd be neat, yeah. |
19:08 | | * Namegduf tends to do it an alternative way, and take feature requests very freely |
19:09 | <@jerith> | The problem with taking feature requests freely is that you then have to implement them. :-P |
19:09 | < Namegduf> | Yeah. |
19:09 | <@jerith> | Where possible, I prefer to provide fishing rods. |
19:09 | < Namegduf> | I like to improve my featureset. |
19:10 | < Namegduf> | I'd like it if it came with 100 systems supported, including very small and minor ones. |
19:11 | <@jerith> | So rather than having a bunch of special kinds of rolls with friendly string output, I'd prefer to add a roll formatting table where it could look things up. |
19:12 | <@jerith> | And then then the people using the bot could customise it to their system, or their game, or even their characters. |
19:12 | < Namegduf> | That could be interesting. |
19:13 | <@jerith> | It wouldn't even be that hard, assuming a basic macro system already exists. |
19:14 | <@jerith> | Perhaps a table name that you attach range:string pairs to. |
19:15 | <@jerith> | The strings can have a result field ("You rolled %s, which means your hat falls off.") if it wants. |
19:16 | < Namegduf> | That, done sufficiently sophisticated, could be effective, yeah. |
19:16 | <@jerith> | And then you just attach the table name to the macro definition. |
19:16 | < Namegduf> | *sophisticatedly |
19:17 | <@jerith> | Would take a bit of setting up, but you only need to do that once. |
19:17 | <@jerith> | Something like: |
19:17 | <@jerith> | ::deftable hatroll |
19:17 | < Namegduf> | I question the idea that average users are going to be able to use this system |
19:17 | < Namegduf> | But it seems quite neat. |
19:18 | <@jerith> | ::tableentry hatroll 1-3 Oops, your %s means your hat is stuck firmly. |
19:18 | <@jerith> | ::tableentry hatroll 4-5 You remove your hat. |
19:18 | <@jerith> | ::tableentry hatroll 6 You tilt your hat rakishly. |
19:19 | < Namegduf> | So to support "tricky cases", you'd need the ability for these hardcoded versions to sit in line with the softcoded ones. |
19:19 | <@jerith> | ::defmacro hatroll 1d6 |
19:20 | <@jerith> | I'd probably make the link explicit rather than name-based, though. |
19:21 | <@jerith> | But for J Random Idler, the basic "roll a d6" are probably all he needs. |
19:21 | < Namegduf> | Yeah. |
19:21 | < Namegduf> | This is going to be on a per-channel basis? |
19:21 | < Namegduf> | Because another thing to consider is that once defined, things like standard RPG systems are good to support. |
19:22 | <@jerith> | Then DM Hackityhack spends a couple of hours setting up his house rules. |
19:22 | < Namegduf> | And then DM "doesn't know crap about IRC but knows how to play World of Darkness" can just use them. |
19:22 | <@jerith> | And all his players just roll !hitwithsword or whatever. |
19:23 | <@jerith> | I'm thinking of having these default to global, but allowing channel-level overlays or whatever. |
19:24 | <@jerith> | Actually, it might be worth going for a group system. |
19:24 | < Namegduf> | Letting end users add global stuff? |
19:24 | < Namegduf> | Okay. |
19:24 | <@jerith> | You can control permissions on your group, to limit who can add or modify. |
19:24 | <@jerith> | Then you can enable your group in various channels. |
19:25 | <@jerith> | Maybe have a special global flag that you need bot-wide permissions to set or something. |
19:25 | < Namegduf> | Ah, I see. |
19:26 | <@jerith> | Complex and flexible, but no more so than nickserv and chanserv. |
19:26 | <@jerith> | And most people can ignore the complexity. |
19:27 | <@jerith> | Maybe give each channel a default group that anyone can play in. |
19:29 | <@jerith> | That lets you have global protected groups for things like game systems which you don't need access to the bot code to maintain. |
19:31 | <@jerith> | And local game groups that can span channels for house rules or shortcuts or whatever. |
19:31 | <@jerith> | And default unprotected channel-based groups that let anyone play without having to worry about the details if they don't want to. |
19:32 | <@jerith> | Now I want to implement all this stuff, but I'm overtired and have a headache. |
19:33 | < Namegduf> | I'm tired too, and I can't decide if I want to implement Boring Calculator before I sleep or not. |
19:34 | < Namegduf> | I'll probably spend the rest of the time reading about parsing algorithms and trying to decide if Shunting Yard or another one looks prettiest. |
19:35 | <@jerith> | Use a library? |
19:35 | <@jerith> | Or a code generator thing. flax/bison. |
19:37 | < Namegduf> | Sadly, as a first year Comp Sci student, sometimes I'm required to reinvent simple wheels; I'm just doing my own thing and taking it as an opportunity to try doing it Right. |
19:38 | <@jerith> | Ah, being a student. |
19:38 | < Namegduf> | Yeah. :P |
19:39 | | * Namegduf is going to use an AST just because it's not the way he's done it before. |
19:43 | <@jerith> | Parsing is all about turning the input text into the AST. :-) |
19:43 | < Namegduf> | Quite. |
19:44 | < Namegduf> | Oh, on the dice bot thing, one thing I want to implement is a pre-evaluation thing which goes over and evaluates everything it *can* evaluate. |
19:45 | < Namegduf> | (The reason it can't spit out one number is because people can do X[Y] to roll expression Y result of expression X times, meaning Y needs parsing once and evaluating lots of times) |
19:47 | | RoloFortuna [RoloFortuna@Nightstar-45cf5db2.wa.co.za] has joined #code |
19:47 | <@jerith> | RoloFortuna: 3#10d10s8 |
19:47 | < RoloFortuna> | jerith rolled 3#10d10s8: (7, 3, 9, 8, 3, 1, 3, 8, 10, 7 => 4), (5, 1, 1, 4, 7, 10, 6, 1, 6, 5 => 1), (5, 2, 1, 8, 6, 10, 1, 5, 4, 5 => 2) => 4, 1, 2 |
19:48 | <@jerith> | He does the long-form output only at the moment. |
19:48 | < Namegduf> | RoloFortuna: (3d6+1)/2 |
19:48 | < RoloFortuna> | Namegduf: I don't know how to roll '(3d6+1)/2', sorry. |
19:48 | < Namegduf> | Doesn't do math, then? |
19:48 | <@jerith> | He only does addition and subtraction. |
19:48 | < Namegduf> | Ah. |
19:49 | < Namegduf> | RoloFortuna: 3d6d6 |
19:49 | < RoloFortuna> | Namegduf: I don't know how to roll '3d6d6', sorry. |
19:49 | < Namegduf> | RoloFortuna: 1d6+1d6 |
19:49 | < RoloFortuna> | Namegduf rolled 1d6+1d6: (2 => 2) + (5 => 5) => 7 |
19:49 | <@jerith> | I'm not sure that general math will be useful as part of the diceroll thing. |
19:50 | <@jerith> | I might allow subcommands or something. |
19:50 | <@jerith> | So you could evaluate a diceroll as part of something else. |
19:51 | < Namegduf> | I spent about ten minutes trying to turn that "dice muliplier device" linked in here a while ago into a mathematical expression |
19:51 | < Namegduf> | Just because I wanted to figure if it was possible. |
19:51 | <@jerith> | Which device? |
19:51 | | celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code |
19:53 | < Namegduf> | It was a thing in which a central 1d10 was rolled (call the result Y) and then you'd roll Xd10, where X started at 1 and was set to the value of the previous roll, Y times, to give the final result. |
19:53 | < Namegduf> | It might not have actually been d10s. |
19:53 | < Namegduf> | Could have been d12s or 20s. |
19:55 | < Namegduf> | I think I eventually decided "Bah, I'll implement it as a preset if I feel like it, people will find it amusing" and then forgot about it until now. |
19:57 | <@Kazriko> | hmm. |
19:57 | | * Kazriko wonders if his bot can handle that. uses vorn's library. :) |
19:59 | < Namegduf> | Forget everyone has written a calculator, everyone has written a dice bot. |
19:59 | < Namegduf> | :P |
20:00 | <@Kazriko> | not exactly. But I did incorporate one that Vorn wrote. |
20:00 | <@AnnoDomini> | I've never written a calculator, but I did write a dicebot. <_< |
20:00 | < celticminstrel> | I haven't written a dice bot, but I've written a calculator... |
20:01 | | Yosuke [yosuke@Nightstar-55f6a2b4.xen.prgmr.com] has joined #code |
20:01 | | Yosuke [yosuke@Nightstar-55f6a2b4.xen.prgmr.com] has quit [Connection closed] |
20:02 | <@Kazriko> | hmm. what was the name of the dice module... |
20:02 | < Namegduf> | For what software? |
20:02 | <@jerith> | Not "Schlockian" perhaps? |
20:02 | | Yosuke [yosuke@Nightstar-55f6a2b4.xen.prgmr.com] has joined #code |
20:02 | <@jerith> | I think that was the language. |
20:02 | <@Kazriko> | !pice 1d10d10 |
20:02 | < Yosuke> | Dice Rolled For Kazriko: 1d10d10 (1d10: 7 = 7 7d10: 4 1 10 10 8 10 1 = 44) = 44 |
20:02 | < RoloFortuna> | Kazriko: I don't know how to roll 'pice 1d10d10', sorry. |
20:03 | <@Kazriko> | Vorn wrote it for Schlock initially. |
20:04 | < Namegduf> | Rolling 1d10 d10s in a non-additive way is unsupported by most things. |
20:04 | < Namegduf> | And tricky if even possible to express as a simple mathematical expression. |
20:04 | <@jerith> | Not by Rolo. |
20:04 | < Namegduf> | jerith: Doing no operation on the results doesn't count either. :P |
20:05 | <@Kazriko> | looks like the schlockian engine can handle it though. |
20:05 | < Namegduf> | (That is fairly widely supported) |
20:05 | < Namegduf> | Not the multiplier. |
20:05 | <@Kazriko> | multiplier? |
20:05 | <@jerith> | !pice 6d6d6d6 |
20:05 | < Yosuke> | Dice Rolled For jerith: 6d6d6d6 (6d6: 1 1 6 5 3 6 = 22 22d6: 5 1 1 2 2 1 3 6 5 4 2 2 2 2 5 5 5 3 4 5 6 1 = 72 72d6: 3 3 6 4 3 1 5 2 4 5 1 4 2 3 1 4 6 1 5 3 2 6 5 4 6 2 5 3 1 3 4 4 2 3 2 5 5 2 1 3 1 6 2 1 4 2 4 6 4 5 4 1 6 4 5 1 1 6 4 5 3 4 5 4 3 4 3 5 6 2 1 1 = 247) = 247 |
20:05 | < RoloFortuna> | jerith: I don't know how to roll 'pice 6d6d6d6', sorry. |
20:05 | < celticminstrel> | ...are there two dice bots in here? |
20:05 | <@AnnoDomini> | Clearly. |
20:06 | <@Kazriko> | just testing the other one though. |
20:06 | < Namegduf> | Every non-RPG channel has at least three dice bots. |
20:06 | < Namegduf> | That's how dice bots work. |
20:06 | <@jerith> | It's easier to do when your diceroll operator doesn't support extentions. |
20:06 | < Namegduf> | :P |
20:06 | < Namegduf> | Yeah, I'm sure I made a mistake in remembering now. |
20:06 | < Namegduf> | I know I left out the initial 1d10 and tried to do it, and it wasn't nearly that simple. |
20:06 | <@jerith> | Rolo doesn't have an ignore feature yet. |
20:06 | < Vornicus> | Yosuke appears to be running Schlockian. |
20:06 | <@Kazriko> | yeah, it is. |
20:06 | <@jerith> | Vornicus: That's why Yosuke's here. :-) |
20:07 | < Namegduf> | I think it might have been something like 1dX, where X was the result of the previous roll |
20:07 | < Namegduf> | I can't find the original page. |
20:07 | <@Kazriko> | !pice 1d(1d10) |
20:07 | < Yosuke> | Dice Rolled For Kazriko: 1d(1d10) (1d10: 2 = 2 1d2: 2 = 2) = 2 |
20:07 | < RoloFortuna> | Kazriko: I don't know how to roll 'pice 1d(1d10)', sorry. |
20:07 | <@Kazriko> | we originally switched ennesbot's dice module to !pice to avoid conflicts with schlock's !dice... :) |
20:08 | <@Kazriko> | the rolo bot seems to conflict with that though. |
20:08 | <@jerith> | Rolo listens to everthing on ! and &. |
20:08 | <@jerith> | And his name. |
20:09 | <@jerith> | That's because dicerolls are the default command. |
20:09 | <@jerith> | &roll 1d10 |
20:09 | < RoloFortuna> | jerith rolled 1d10: (8 => 8) => 8 |
20:09 | <@jerith> | &1d10 |
20:09 | < RoloFortuna> | jerith rolled 1d10: (7 => 7) => 7 |
20:09 | <@jerith> | He isn't ready for prime time, so he'll be leaving now. :-) |
20:09 | | RoloFortuna [RoloFortuna@Nightstar-45cf5db2.wa.co.za] has quit [Connection closed] |
20:09 | <@Kazriko> | yosuke's only temporary anyway, so... |
20:09 | | Yosuke [yosuke@Nightstar-55f6a2b4.xen.prgmr.com] has quit [Client closed the connection] |
20:10 | <@jerith> | And now we have no dicebots in here. |
20:10 | < Namegduf> | That's also a valid configuration. |
20:10 | <@Kazriko> | (I finally implemented that python command line in ennesbot too, so now to make it exit i just type sys.exit() :) |
20:10 | < Namegduf> | But there's either 0 or 2, unless it's a real RPG channel |
20:11 | < Vornicus> | Kaz: :( |
20:11 | <@jerith> | I'm busy fixing Eridanus (the codebase the calculator comes from) so I can ditch the stupidly simple irc code in Rolo. |
20:13 | | * jerith suddenly remembers that he downloaded Haskell earlier. |
20:13 | | * Namegduf has mostly moved on from his stuff, needs to go back and do some minor cleanup/optimisey stuff at some point, but he got the really big stuff and there's other fish to fry. |
20:38 | <@Kazriko> | Vornicus, eh, you want me to put yosuke up more permanently? heh |
21:33 | | Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has joined #code |
22:12 | | AbuDhabi [annodomini@Nightstar-93cae6eb.adsl.tpnet.pl] has joined #code |
22:15 | | AnnoDomini [annodomini@Nightstar-ba720c1b.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds] |
22:54 | | * chintimin stretches |
22:54 | < chintimin> | Hi guys. :) |
22:55 | < chintimin> | whee dicebots. |
22:57 | < chintimin> | I made one once that used "the gambler's fallacy" as part of it's weighting |
22:57 | < chintimin> | as in, certain numbers would be "due to come around" |
22:57 | < chintimin> | so not totally random - but it amused me |
22:58 | < Vornicus> | Wait, you actually... madness |
22:59 | < chintimin> | It was neat! :) |
23:01 | < Vornicus> | I hope it was subtle. |
23:02 | | celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has left #code [] |
23:10 | < chintimin> | sure, it only stepped in when the odds went past 1:100 or so |
23:10 | < chintimin> | though that happens really fast sometimes. :) |
23:11 | < chintimin> | eh. We used them for gaming, and it changed things around a little bit |
23:28 | < Vornicus> | Kaz: no, I was :(ing about a command like that sys.exit() works from on an IRC bot. |
23:41 | < chintimin> | tell you, IRC bots are the best excuse to learn to sterilize your data ever |
23:42 | | You're now known as TheWatcher[T-2] |
23:45 | | You're now known as TheWatcher[zZzZ] |
--- Log closed Sun Jan 03 00:00:35 2010 |