00:09:31 <ehird> should I feel guilty about coding a bsmnt_bot competitor
00:18:34 <Warrigal> "No," says my Adam Smith puppet.
00:18:55 <Warrigal> I think he's saying that to ehird.
00:19:16 * oerjan hits the Adam Smith puppet over the head with the saucepan of nations ====\___/
00:23:57 <ehird> The nice thing about my bot is that it'll have eval, but it won't be able to break the bot.
00:24:02 <ehird> But you'll be able to fiddle with it
00:24:06 <ehird> Also, it'll have esolang interps and stuff.
00:24:09 <ehird> Also, a babble generator.
00:24:16 <ehird> In short, a nice respectable #esoteric bot, with fun Python evaluation.
00:26:53 <ehird> Also, mine will log this channel.
00:27:00 <ehird> So you don't have to use the awful tunes.org log interface.
00:27:20 <Warrigal> I've always wanted to make a fake bashbot.
00:28:33 <Warrigal> An IRC bot that looks like bash but isn't.
00:29:35 <Warrigal> I don't think I know of any other bashes.
00:31:22 <ehird> Message('PRIVMSG', '#esoteric', 'Hello, world!')
00:32:41 <ehird> >>> botte.message.Message('PRIVMSG', '#esoteric', 'Hello, world!')
00:32:41 <ehird> PRIVMSG #esoteric :Hello, world!
00:32:46 <ehird> Phear my 1337 skillz.
00:33:55 * Warrigal ponders what programs a person could possibly want
00:34:56 <Warrigal> A few: cat, chmod, chown, irc, mkdir, rm, rmdir
00:36:25 <Warrigal> I suppose some commands to interact with running processes would be nice. bash itself would also be useful, of course.
00:36:45 <ehird> oerjan: yes, botte is sucha nice name
00:37:29 <Warrigal> Then again, I don't want to go overboard with trying to be like a Unix system. So no fancy process interaction that wouldn't be easy to implement anyway.
00:37:38 <ehird> Warrigal: what are you doing?
00:37:48 <Warrigal> Wanting to make a fake bashbot.
00:38:02 <ehird> oerjan: will you be friends with botte?
00:38:32 <Warrigal> I guess I would also include echo.
00:47:18 <ehird> botte.bot.Bot().plugins['karma'].commands[0].handle(bot, botte.message.Message('PRIVMSG', '#esoteric', '.hello'))
00:47:21 <ehird> ^ worse than java :D
00:48:34 <oerjan> this will be the botte of our jokes
00:49:29 <ehird> oerjan: i love you.
00:51:50 <oerjan> no, _this_ beats you ====\___/
00:52:01 <ehird> botte should have a .swat
00:52:07 <ehird> so oerjan doesn't have to do any work
00:52:21 * oerjan never does any work anyhow
00:53:06 <ehird> swatting is hard work!
00:55:56 <ehird> hmm I have a bit of a possible bottleneck here
00:56:06 <ehird> possibly parsing the input stream for a command -everysingletime- isn't so clever
00:59:55 <ehird> hmm, I'll compile everything down to regexps...
01:05:29 <ehird> i'm... so decisive
01:05:38 <ehird> whoa holy shit, oklopol moment coming on.
01:08:02 <oerjan> it's because oklopol isn't here
01:08:19 <oerjan> his spirit is possessing you
01:09:23 * oerjan bringeth forth ye holie exorcising swatter -----###
01:10:26 <oerjan> please do not resist, or we'll have to do ye holy hand grenade next
01:11:47 * oerjan watcheth ye eville daemone runne away in ye form of a rabbite
01:30:42 * ehird decides that one match of a regex then a dictionary lookup is faster than many matches of a regex.
02:28:31 <Warrigal> I love Ye Olde Butcherede Englifhe.
02:50:06 -!- CakeProphet has quit (Remote closed the connection).
02:50:44 <psygnisfive> i hope you dont think that "ye olde butcherede englifhe" is the same as "old english"
02:51:26 <oerjan> i hope psygnisfive knows the meaning of the word "butchered[e]" :D
02:51:48 <psygnisfive> i do, but i mean the general "ye olde englifhe" type stuff
02:53:00 * oerjan trieth to use -th correctly, at least
02:53:36 <oerjan> the rest - not so much
02:53:39 <psygnisfive> the thing with older -th is that its basically where we use -s today
02:54:28 <psygnisfive> but yeah, "ye olde englifhe" is not Old English
02:54:49 * oerjan assumeth it is closer to Middle
02:54:49 <psygnisfive> if anything its early modern english before the standardization of spelling
02:57:57 <psygnisfive> Hw<CTCP>æt! Wē Gār-Dena in geār-dagum, þeod-cyninga, þrym gefrunon, hu ða æþelingas ellen fremedon. Oft scyld scefingsceaþena þreatum, monegum mægþum, meodosetla ofteah, ogsode eorl.
03:04:34 -!- CakeProphet has joined.
03:23:38 <Warrigal> Speaking Old English be all about using the subjunctive.
03:24:16 <Warrigal> Saying "That were hard to compass." instead of "That is hard to compass." make all the difference.
03:24:54 <oerjan> Warrigal speak much nonsense
03:25:10 <Warrigal> It be only the subjunctive, my friend.
03:25:46 <Warrigal> Anyway, no more complete sentences for me. Shunning verbs, and all. Much more flexible this way.
03:26:18 <Warrigal> Peculiar or just iffy tendency, perhaps, but no problem to understand.
03:26:27 <Warrigal> Remind me of palindromes, actually.
03:26:32 <oerjan> Warrigal spækas myki baldurdashi
03:27:09 <Warrigal> Ah, the wonders of speaking entirely in incomplete sentences...
03:27:35 <oerjan> I accidentally complete sentences too
03:27:40 -!- GregorR has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
03:28:01 <oerjan> ack, new year topic accidentally over
03:28:50 <oerjan> well yeah i accidentally that earlier
03:28:55 <Warrigal> Bah, verb omission. Ungrammatical.
03:29:10 <Warrigal> Unlike omitting the subject, which I assure you is completely grammatical.
03:29:28 <oerjan> Warrigal: i accidentally your viewpoint
03:30:06 <Warrigal> Wait, "much more flexible" to avoid complete sentences completely? Yeah, right.
03:30:17 <oerjan> i would guess in old english as well, since they had more personal verb endings
03:31:04 <oerjan> istr old norse could leave out subjects, although it's been a while
03:32:37 <oerjan> i may adopt an egoistic grammar where i use only one subject for all sentences
03:33:33 <oerjan> after i drive everyone crazy with it, i will rule the world
03:34:19 <oerjan> or should we adopt a royal we, hm...
04:03:02 -!- psygnisfive has quit (Read error: 54 (Connection reset by peer)).
04:04:24 -!- psygnisfive has joined.
04:26:43 -!- Warrigal has changed nick to kerlo.
04:44:07 -!- kerlo has changed nick to Warrigal.
04:52:05 -!- Warrigal has changed nick to kerlo.
05:20:34 -!- Asztal has quit (kornbluth.freenode.net irc.freenode.net).
05:20:34 -!- sebbu2 has quit (kornbluth.freenode.net irc.freenode.net).
05:20:35 -!- psygnisfive has quit (kornbluth.freenode.net irc.freenode.net).
05:20:36 -!- flexo has quit (kornbluth.freenode.net irc.freenode.net).
05:20:36 -!- Dewi has quit (kornbluth.freenode.net irc.freenode.net).
05:20:37 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
05:20:38 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
05:20:38 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
05:20:39 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
05:20:39 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
05:20:41 -!- Badger has quit (kornbluth.freenode.net irc.freenode.net).
05:20:41 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
05:20:42 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
05:20:42 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
05:20:43 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
05:24:24 -!- Asztal has joined.
05:24:24 -!- ehird has joined.
05:24:24 -!- sebbu2 has joined.
05:24:24 -!- rodgort has joined.
05:24:24 -!- GregorR has joined.
05:24:24 -!- puzzlet has joined.
05:24:24 -!- SimonRC has joined.
05:24:24 -!- decipher has joined.
05:24:24 -!- lament has joined.
05:24:24 -!- mtve has joined.
05:28:24 -!- Asztal has quit (kornbluth.freenode.net irc.freenode.net).
05:28:24 -!- sebbu2 has quit (kornbluth.freenode.net irc.freenode.net).
05:28:25 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
05:28:25 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
05:28:27 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
05:28:27 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
05:30:50 -!- Asztal has joined.
05:30:50 -!- ehird has joined.
05:30:50 -!- sebbu2 has joined.
05:30:50 -!- rodgort has joined.
05:30:50 -!- GregorR has joined.
05:30:50 -!- puzzlet has joined.
05:30:50 -!- SimonRC has joined.
05:30:50 -!- decipher has joined.
05:30:50 -!- lament has joined.
05:30:50 -!- mtve has joined.
05:31:05 -!- AnMaster has joined.
05:31:05 -!- Badger has joined.
05:31:24 -!- psygnisfive has joined.
05:31:24 -!- flexo has joined.
05:31:24 -!- Dewi has joined.
05:42:07 -!- oerjan has quit ("Good night").
06:57:22 <GregorR> Argh, tools are chrome-plated.
07:53:23 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
07:54:27 -!- puzzlet has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:28:11 <CakeProphet> GregorR: in bf, does - wrap back around to 255?
08:53:38 -!- Mony has joined.
08:56:18 <GregorR> CakeProphet: Depends on the implementation.
08:56:28 <GregorR> CakeProphet: In most implementations it raps around.
08:56:52 <CakeProphet> my Haskell implementation will freestyle upon decrementing a 0
08:57:24 <CakeProphet> well, unless you mean something else by "raps around".
08:57:43 <GregorR> I mean that when you subtract from 0, it goes to MAXVAL.
09:01:26 <GregorR> http://smg.photobucket.com/albums/v47/BenMaras/?action=view¤t=ijoystick.png (NSFW, NSF-sanity)
10:44:34 -!- M0ny has joined.
10:53:17 -!- Mony has quit (Read error: 145 (Connection timed out)).
11:03:11 -!- M0ny has quit ("Quit").
11:06:31 -!- KingOfKarlsruhe has joined.
11:36:03 -!- Judofyr has joined.
12:15:35 -!- puzzlet has quit (Remote closed the connection).
12:15:40 -!- puzzlet has joined.
13:09:57 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:51:27 -!- ehird has left (?).
13:51:31 -!- ehird has joined.
13:51:44 -!- ehird has left (?).
13:51:49 -!- ehird has joined.
14:13:06 <ehird> you know what i like
14:13:19 <ehird> ~exec sys.stdout('why thank you')
14:13:28 <ehird> so good to have you back old chap
14:22:19 -!- oerjan has joined.
15:11:25 -!- puzzlet has quit (Remote closed the connection).
15:11:30 -!- puzzlet has joined.
15:18:42 <ehird> Pop quiz: how long do you think it'd take to match 100 short regexps against a short text?
15:20:24 <oerjan> finally a question within my expertise - oh wait
15:20:50 <oerjan> but if i may guess: "not very long"
15:24:02 <ehird> oerjan: how much faster than matching 1 short regexp against the same text, then doing a hashtable lookup on one of the groups?
15:24:14 <ehird> i imagine the answer is "0.5ms"
15:24:39 <oerjan> now we're _really_ out of my expertise
15:26:24 <oerjan> although hm, you should be able to do 100 regexps in parallel by merging the finite state automata. that would be assuming they're actually implemented that way
15:27:02 <oerjan> or maybe the number of states will blow up exponentially (^100)
15:27:22 <ehird> oerjan: I think python regexps are less speedy than FSAs
15:27:25 <ehird> because of backrefs
15:28:08 <oerjan> yeah regexps mean more than the CS definition these days
15:28:33 <oerjan> i think optimizing it can depend a lot on the form of the regexps
15:29:17 <oerjan> and did i mention my lack of expertise?
15:29:44 <ehird> oerjan: what's worth noting is that these regexps are matching a line from irc.
15:29:50 <ehird> to choose which command to run.
15:29:55 <ehird> very speed-sensitive,
15:31:13 <oerjan> um how many thousand channels are you watching? O_O
15:31:57 <ehird> oerjan: well, my initial deployment is 5,000 worldwide
15:32:10 <ehird> then I think I'll run a few instances but with shared memory
15:32:14 <ehird> long-term, about 100,000 channels
15:32:22 <ehird> which get 100 messages/sec each
15:33:21 <ehird> hopefully I will then implement bot procreation
15:33:27 <ehird> and all bots will eventually become botte
15:34:50 <oerjan> anyway i think you should do the hashtable thing until you know you need more speed
15:36:33 <ehird> oerjan: wut? the hashtable one is the slower one
15:36:50 <oerjan> yes but it sounds like it is simpler
15:36:59 <oerjan> also, are you _sure_ it's slower
15:37:17 <ehird> 99% sure, dictionary lookup is like THE most optimized thing in python
15:37:20 <ehird> (because obj.foo does it)
15:37:31 <ehird> and the re module is written in pure python, IIRC
15:37:43 <ehird> regex is almost certainly slower
15:37:44 <oerjan> that would mean hashtable should be faster
15:37:56 <oerjan> er you said the opposite
15:38:00 <ehird> 15:36 <ehird> oerjan: wut? the hashtable one is the slower one aemn
15:38:04 <ehird> 15:36 <ehird> oerjan: wut? the hashtable one is the faster one
15:38:29 <oerjan> well then not a problem
15:38:53 <oerjan> or rather, you have only two problems, while with 100 regexps you would have 101 problems
15:40:05 <ehird> its a pain to implement
15:48:41 -!- KingOfKarlsruhe has joined.
16:30:01 -!- Judofyr has quit.
16:56:44 -!- oerjan has quit ("Cubus").
17:09:17 -!- Slereah has joined.
17:19:57 -!- Hiato has joined.
17:20:57 <Hiato> \me pokes a bit more
17:21:32 <Hiato> confused windows directory tree with IRC there :P
17:25:34 -!- Judofyr has joined.
17:31:56 -!- Judofyr has quit (Read error: 60 (Operation timed out)).
17:35:12 * SimonRC wonders if people are listening here
17:38:15 <Hiato> \me wonders in response
17:38:20 * Hiato wonders in response
17:39:38 <Hiato> SimonRC, would you mind shedding some light on a certain problem for me?
17:40:44 <SimonRC> ok, but I am busy right now
17:42:11 <Hiato> Ok, thanks. In your opinion, what would the best way be to grow massive numbers, quickly. That is, can you suggest/demonstrate a method that will do so.
17:42:41 <Hiato> All of this in light of my realisation that my method is not actually as large as I thought it would be - all for a little game on the xkcd fora
17:44:06 <SimonRC> busy beaver numbers are a good choice
17:44:17 <SimonRC> they grow uncomputably fast
17:44:46 <Hiato> yeah, they're perfect, but unfortunately the number has to be finite and computable. The latter cancelling out that option
17:45:37 -!- KingOfKarlsruhe has quit (Remote closed the connection).
18:10:02 -!- ais523 has joined.
18:16:34 <ehird> 18:14 <Sfan00> Besides 12 year olds aren't supposed to use the Internet
18:16:50 <ehird> 18:14 <dungodung> in what universe?
18:16:57 <ehird> 18:15 <Sfan00> dungodung: A universe in which there are appropriate safeguards
18:24:02 <ehird> they need appropriate safeguards.
18:24:10 <ais523> 13 is the COPPA age, isn't it?
18:24:12 <ehird> in case they learn anything about the real world.
18:24:37 <psygnisfive> so noone cares about his protection and privacy
18:24:37 <ehird> do my "yes I am over 13" clicks on registration forms retroactively become legal when I turn 13?
18:25:26 <ehird> it's ok I have green.
18:25:29 <ehird> the power of green.
18:25:31 <ais523> nah, that's a civial violation not a criminal one
18:25:37 <ais523> so ehird can't be imprisoned, just fined lots
18:25:54 <ehird> ais523: I say I'd have clicked, hmm, at least 500 such yes links.
18:25:57 <ehird> How much can I be fined? XD
18:26:01 <psygnisfive> whatve you been looking at that requires you be 13 ehird?
18:26:07 <ehird> psygnisfive: registration forms have it.
18:26:16 <ais523> ehird: I'm not at all sure, damage calculation is something i'm rubbish at guessing
18:28:05 <ehird> now that I'm over 13? XD
18:28:27 <psygnisfive> no, ever. porn for children is full of annoying kids doing annoying things
18:28:47 <ehird> this is some odd new definition of porn for children that I was previously unaware of
18:28:54 <psygnisfive> because theyre all kids, the whole "fake story" thing is always like
18:29:09 * ehird thinks psygnisfive is in bizarro world
18:29:41 <SimonRC> is is paedophilia if the child in question is older than you
18:29:57 <ehird> i don't think being attracted to people of your own age is paedophilia.
18:30:07 <psygnisfive> or a boy is riding his bike too fast, a girl police officer pulls him over
18:30:24 <ehird> and rides his bike?
18:30:29 <ehird> instantrimshot.com
18:30:32 <ehird> you can all go home now
18:30:34 <psygnisfive> do you realize how fast you were going? // uh no.. its a bike.. i dont have a speedometer. maybe 10 miles an hour?
18:31:21 <psygnisfive> / YOUVE GOT A CARD IN YOUR SPOKES DO YOU REALIZE HOW DANGEROUS THAT IS? im going to have to place you under arrest!
18:31:41 <SimonRC> different topic: # There once lived a man name Oedipus Rex // You may have hear about his odd complex // His name appears in Freud's index // because he loved his mother. #
18:32:39 <psygnisfive> theres some humor in the oedipus story vs the oedipus myth in that it was all unknown to him and once it was he gouged out his eyes and ran away from being king
18:33:04 <psygnisfive> whereas i think a lot of people unfamiliar with the myth believe that he was a case of oedipal complex
18:33:20 <ehird> doesn't freud say that _everyone_ is a case of that?
18:34:01 <psygnisfive> Freudian Slip: When you say one thing and mean your mother.
18:35:04 <ehird> asdjkladjhksfkjaljeoiajvog9irhbrt
18:35:06 <ehird> dfkljna'∂fgjlsk;fmbdt[;lkb;lkytdmbkntldh ,mfl,ujh
18:35:22 <ehird> I was playing my keyboard
18:35:39 <ais523> you have a ∂ on your keyboard?
18:35:40 <ehird> worst innuendo ever
18:35:45 <ehird> ais523: option-d = d
18:51:18 -!- Judofyr has joined.
19:19:58 -!- LinuS has joined.
19:21:38 <ehird> grrrrrrrr fuck relational databses
19:22:59 <ehird> graphs are awesome, however.
19:23:00 <CakeProphet> wooo... I've finally gotten truly familiar with a second programming language.
19:23:06 <ehird> CakeProphet: which two?
19:23:28 <ehird> CakeProphet: good taste. now learn smalltalk, lisp and c. :P
19:23:31 <CakeProphet> though technically I'm familiar with C... but I never use it unless someone needs me to.
19:24:02 <CakeProphet> I also /know/ the syntax/semantics of smalltalk and lisp
19:24:07 <CakeProphet> just don't have the experience to program things in it
19:24:53 <ehird> they're useful to know, conceptually
19:26:58 <ehird> http://ogdl.sourceforge.net/
19:27:07 <ehird> see, I basically have to serialize a bunch of shit as that
19:27:18 <ehird> well, it could do with non-string types.
19:27:48 <ehird> http://ogdl.sourceforge.net/spec/ogdl-schema.htm this could work but it's just so non-automatic.
19:27:56 <ehird> serializing arbitrary objects to a graph. hmm.
19:31:25 <ehird> pickle is 1. python-specific 2. doesn't serialize to a graph
19:35:43 * SimonRC dislikes arguing on the internet
19:35:56 <CakeProphet> SimonRC: I personally enjoy arguing on the internet.
19:36:11 <CakeProphet> it's fun, there are no consequences, and you sometimes learn things
19:36:19 <CakeProphet> why do /you/ not like arguing on the internet?
19:37:15 <ehird> SimonRC: which argument?
19:37:57 <SimonRC> I keep finding people that seem to have a crazy idea that they won't shift on
19:38:51 <SimonRC> for example, in this: http://news.bbc.co.uk/1/hi/programmes/more_or_less/7798152.stm
19:38:51 <ehird> SimonRC: THERE IS A SUPERNATURAL BEING WHO WATCHES OVER US AND SENDS US TO PARADISE OR A PLACE OF FIRE AND EVIL DEPENDING IF HE LIKES US OR NOT
19:39:17 <SimonRC> the brain teaser's answer is not AFAICT right
19:39:50 <SimonRC> "a random number" doesn't say what distribution to use
19:40:07 <SimonRC> and once you pick a distribution, information leaks out
19:40:27 <SimonRC> a little of information at least
19:47:57 -!- ais523 has quit (Client Quit).
19:49:40 <AnMaster> <ehird> grrrrrrrr fuck relational databses
19:50:19 <ehird> postgresql is a great implementation of the relational paradigm, which is shit.
19:50:35 <AnMaster> ehird, so what sort of database do you suggest instead?
19:50:51 <ehird> read up. I'm writing a database that serializes arbitrary objects to a graph. :D
19:51:05 <AnMaster> ehird, how fast and scalable will it be?
19:51:31 <ehird> AnMaster: there's not really anything in its theoretical model that would cause it to be anything but blazing, but since I'm writing the implementation in Ruby -- not very fast.
19:51:45 <ehird> the question is, are your datasets large enough to worry about that?
19:52:15 <ehird> AnMaster: probably take like 500 hours to import, but I don't care :)
19:52:54 <AnMaster> ehird, is there any tutorial or introduction for graph based db?
19:53:10 <ehird> AnMaster: sure. it's a graph, and it's on disk.
19:55:29 <AnMaster> ehird, well I don't see how it works for say this: SELECT pages.title AS title, revisions.text AS text FROM (pages LEFT JOIN text (pages.revision = revisions.id)) WHERE pages.protected = true;
19:55:50 <ehird> and I don't see what your point is at all.
19:55:55 <ehird> that's SQL. SQL is a relational language.
19:55:59 <ehird> why are you talking about it?
19:56:06 <AnMaster> ehird, how would you represent something like that with graph db
19:56:19 <ehird> AnMaster: you wouldn't. that's a query.
19:56:24 <ehird> databases don't store queries.
19:56:31 <AnMaster> ehird, true, but a database isn't useful if you can't query it
19:56:41 <AnMaster> so how would you represent the data and how would you query it
19:56:44 <ehird> that's completely separate to the actual database
19:56:51 <ehird> AnMaster: 1) as a graph. 2) by querying it as a graph
19:57:01 <AnMaster> ehird, can you give some example
19:57:45 <AnMaster> of something equivalent to the SQL query I wrote above. I assume you wouldn't represent it as tables like that, but in some other format instead
19:58:00 <AnMaster> so I can't really ask more specific, than that
19:58:07 <ehird> it's abstract, it's just like how you could query a relational DB with any language, not just sql
19:58:15 <ehird> so I can't exactly give you a concrete example...
19:58:20 <AnMaster> but how does the model differ?
19:58:30 <AnMaster> would you store it as 2 tables?
19:58:32 <ehird> one's tables with columns, rows and relations, one's a graph
19:58:47 <ehird> http://en.wikipedia.org/wiki/Graph_(mathematics)
19:59:13 <AnMaster> yes I know about that, but: I don't know how it would be a db that could store pages with revisions
19:59:36 <ehird> 19:55 <AnMaster> ehird, well I don't see how it works for say this: SELECT pages.title AS title, revisions.text AS text FROM (pages LEFT JOIN text (pages.revision = revisions.id)) WHERE pages.protected = true;
19:59:40 <ehird> let's invent an arbitrary query format
19:59:51 <AnMaster> I'm find with custom query formats
19:59:51 <SimonRC> I have a list of names and adresses of customers. How would that be stored?
20:00:02 <ehird> SimonRC: i'll answer AnMaster's question first
20:00:47 <ehird> page = pages.select(p -> p.protected = true)
20:00:53 <ehird> revision = page.revisions[page.revision]
20:00:58 <AnMaster> SimonRC, I could answer for relational db, since there is a 1-to-1 mapping there need not be more than 1 table, probably with a primary key to use as a table elsewhere
20:01:05 <ehird> it essentially comes down to OOP
20:01:18 <ehird> since an OOP system is a huge object graph, in essence
20:01:22 <AnMaster> ehird, right, there is a 1-to-many-mapping there
20:01:31 <AnMaster> ehird, yes there was in my example
20:01:40 <ehird> there's no such thing as a 1-to-many mapping
20:01:42 <ehird> there's an ordered list.
20:01:51 <AnMaster> ehird, each page can have 1 or more revisions
20:01:57 <ehird> AnMaster: 1-to-many mapping is relational speak.
20:02:05 <AnMaster> ehird, well, how would that translate then?
20:02:14 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:02:14 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:02:26 <ehird> p.protected == true
20:02:29 <ehird> since I used = for assignment
20:02:47 <AnMaster> ehird, if I want to get a set of revisions related to the set of protected pages?
20:03:02 <ehird> I fucking pasted it
20:03:10 <ehird> have it three times
20:03:11 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:03:12 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:03:14 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:03:16 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:03:18 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:03:20 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:03:23 <AnMaster> pages = pages.select(p -> p.protected = true)
20:03:34 <AnMaster> protected_pages = pages.select(p -> p.protected = true)
20:03:45 <ehird> protected_pages = pages.select_all(p -> p.protected == true)
20:03:46 <AnMaster> since there would be more than one protected page :)
20:03:56 <AnMaster> ehird, your use of singular confused me
20:04:15 <ehird> revisions = protected_pages.fold([], r,p -> r.concat(p.revisions))
20:04:27 <ehird> where the fold is just regular code
20:04:30 <ehird> instead of anything graph-specific
20:04:52 <ehird> in ruby, it'd look like this
20:05:32 <ehird> revisions = Page.find_all { |p| p.protected? }.inject([]) { |r, p| r + p.revisions }
20:06:53 <ehird> 19:59 <SimonRC> I have a list of names and adresses of customers. How would that be stored?
20:07:00 <ehird> it'd be stored as a graph :-P
20:07:53 <AnMaster> ehird, none of this really help us get an understanding of what you mean
20:08:03 <ehird> there's nothing to explain
20:08:13 <AnMaster> there seems to be no wikipedia article on it, at least not with the name graph database or anything like that
20:08:38 <ehird> because a graph database is just _a graph_
20:08:49 <ehird> http://en.wikipedia.org/wiki/Graph_(mathematics)
20:08:56 * AnMaster looked at http://en.wikipedia.org/wiki/Database_models and
20:09:09 <AnMaster> and http://en.wikipedia.org/wiki/Category:Databases
20:09:18 <ehird> http://en.wikipedia.org/wiki/Graph_(mathematics)
20:10:53 <AnMaster> ehird, would this imply that different objects of the same type can have different connectors, so not all pages need to link revisions, some could link something else instead
20:11:27 <ehird> type information will be stored, but it won't be used to enforce data structure
20:11:36 <AnMaster> ehird, because relational model is pretty much a graph where each node is a table and the links are on field basis
20:12:20 <AnMaster> you can visualise the foreign key constraints as a graph
20:12:26 <AnMaster> it is rather common to do so even
20:12:50 <ehird> sure, but it's not just an arbitrary graph
20:13:33 <AnMaster> you mean the other object doesn't need a special field to act as a "connector"+
20:16:29 -!- ais523 has joined.
20:16:38 <GregorR> OK, I need to counterbalance these glasses.
20:16:47 <GregorR> What should I mount to the left side? Taking all votes! :P
20:17:17 <ais523> that topic's ridiculous, surely?
20:17:22 <ais523> it's grepping the logs for a link to the logs?
20:17:39 <GregorR> AnMaster: I could do that, but that's /awfully/ pointless X-D
20:17:51 <GregorR> Plus, would half the battery life of the whole system.
20:18:00 <AnMaster> GregorR, why? doesn't it mean you will have stereo vision?
20:18:56 <ehird> I HOPE YOU BURN IN A FIREY PIT OF DEATH
20:19:11 <GregorR> AnMaster: Can't use them both at once, the display is far outside of the center of my vision.
20:19:26 <ehird> i tried to download something and had to nab the direct link before they started automatically downloading it (FUCKERSFUCKERSFUCKERS) and then had to close that window and get it in wget
20:19:31 <AnMaster> GregorR, oh it doesn't act like a HUD for the entire field of view?
20:19:47 <GregorR> AnMaster: That's the difference between $250 and $2500
20:19:57 <AnMaster> ehird, eh just cancel the automated download?
20:19:59 <ehird> i'm not your friend any more.
20:20:05 <ehird> AnMaster: no, fucking annoying
20:20:20 <AnMaster> ehird, I mean before you selected where to save it
20:20:28 <ehird> i auto-download to the desktop
20:20:28 <AnMaster> and the dialog for that isn't even modal
20:20:36 <ehird> and then put it where I want if I want to keep it
20:20:39 <ehird> or delete it if I don't
20:20:41 <ehird> AnMaster: wtf, how
20:21:04 <AnMaster> "go to this link" then what if it starts to auto download lots of crap
20:21:18 <ehird> and send a mail saying "fuck you" to the site owner.
20:21:33 <AnMaster> ehird, well if you have auto download turned on it is your own fault
20:21:48 <ehird> it's the site's fault for downloading 100 pieces of useless crap
20:22:02 <ehird> just like it's the site's fault for having javascript that bounces the window around the screen
20:22:04 <AnMaster> ehird, err it only tries to download the one you selected for download
20:22:18 <ehird> AnMaster: i'm talking about this hypothetical: 20:21 <AnMaster> "go to this link" then what if it starts to auto download lots of crap
20:22:24 <ehird> you might want to upgrade to a memory longer than 4 seconds
20:22:38 <AnMaster> ehird, in fact I was jumping back more than 4 seconds
20:22:59 <AnMaster> if you don't want auto download on sf.net, turn it off for that site then
20:23:11 <ehird> i can't. and I'd rather not use sf.net
20:23:14 <ehird> which I don't. unless I have to.
20:23:30 <ehird> then how do you propose I download software hosted there.
20:23:33 <AnMaster> really I think this is a non-issue
20:23:44 <AnMaster> because I just click cancel when it asks me where to save
20:23:59 <AnMaster> if you auto download you asked for it
20:24:06 <ehird> no, I didn't, you're an idiot
20:24:14 <ehird> "This site does something really fucking annoying. It's the user's fault!"
20:24:57 <ais523> I think that browsers auto-downloading is a configuration mistake
20:25:08 <ehird> I think it's convenient.
20:25:11 <ais523> if only because it renders people open to accidenrally clicking on links to massive things
20:25:33 <ehird> yeah, you know, I do have a cancel button
20:26:14 <AnMaster> ehird, let me get this straight:
20:26:25 <AnMaster> 1) you think auto download is convenient
20:26:33 <ehird> 20:26 <ehird> no, let's not
20:26:34 <ehird> 20:26 <ehird> I don't care
20:26:36 <AnMaster> 2) you think auto download at sf.net isn't convenient
20:26:56 <ehird> 20:26 <ehird> no, let's not
20:26:56 <ehird> 20:26 <ehird> I don't care
20:26:58 <ehird> 20:26 <ehird> no, let's not
20:27:00 <ehird> 20:26 <ehird> I don't care
20:27:02 <ehird> 20:26 <ehird> no, let's not
20:27:04 <ehird> 20:26 <ehird> I don't care
20:27:06 <ehird> 20:26 <ehird> no, let's not
20:27:08 <ehird> 20:26 <ehird> I don't care
20:27:10 <ehird> 20:26 <ehird> no, let's not
20:27:12 <ehird> 20:26 <ehird> I don't care
20:27:14 <ehird> 20:26 <ehird> no, let's not
20:27:16 <ehird> 20:26 <ehird> I don't care
20:27:31 <AnMaster> ais523 well as usual he is going mad when he notices he contradicted himself...
20:27:43 <ehird> i just really don't give a shit about what you have to say on the subject
20:28:11 <ais523> ehird never contradicts himself, his viewpoints are always perfectly consistent and he always finds a loophole to show that that's what he meant all along
20:28:36 <ehird> that's nice. back when you're actually discussing something ->
20:28:37 -!- ehird has left (?).
20:37:12 <CakeProphet> being lazy and finding bots in this channel that I can play with instead of checking the user list
20:40:39 <ais523> CakeProphet: it's just fungot here atm
20:40:39 <fungot> ais523: ' ' ' :image:voom fnord'" is being used under wikipedia:fair usefair use but there is
20:40:57 <ais523> although running thutubot would be easy enough locally, it used to run on eso-std.org until ehird wiped it
20:46:09 -!- kar8nga has joined.
20:52:55 -!- Hiato has quit ("Leaving.").
20:53:39 <AnMaster> ais523, run it on eso-std again?
20:54:29 <ais523> I don't even know if it has Perl installed
20:54:42 <ais523> there's less on there atm than there is in a default clean install...
20:55:00 <AnMaster> ais523, no aptitude, ehird told me that
21:11:43 <kerlo> I seem to remember ehird being less bitter.
21:22:00 <ais523> it's a recent thing, due to happenings in nomic AFAICT
21:28:40 -!- Corun has joined.
21:31:03 <AnMaster> ais523, well nomic isn't good for him
21:47:52 <AnMaster> something very strange just happened
21:48:07 <AnMaster> someone named xlq, asked on another network if I knew "ais523"
21:48:22 <ais523> AnMaster: oh, I know xlq on another network
21:48:24 <AnMaster> then he went on talking about same school or something *shrug*
21:48:30 <ais523> hmm... maybe I should ask him if he knows AnMaster
21:48:59 <ais523> <xlq> ais523: do you know AnMaster?
21:49:07 <AnMaster> ais523, how did he find out I know you?
21:50:46 -!- KingOfKarlsruhe has joined.
21:51:09 <AnMaster> ais523, any response from him yet
21:51:29 <ais523> some oblique references I don't get, he asked if I knew FlightGear and I said no
21:51:58 <AnMaster> ais523, well I know him from irc.flightgear.org
21:52:15 <AnMaster> a very good open source flight simulator
21:52:48 <ais523> [21:52] <xlq> No, it's just interesting
21:52:49 <ais523> [21:52] <xlq> when two seemingly unrelated people you know or half-know, turn out to know each other
21:57:29 * ais523 only just now figures out that kerlo = ihope
22:12:50 -!- LinuS has quit ("Puzzi. S, parlo proprio con te. Puzzi.").
22:13:22 -!- Corun has quit (Read error: 60 (Operation timed out)).
22:37:25 <AnMaster> ais523: ihope use lots of different nicks
22:37:40 <ais523> I should /whois people I don't recognise more often
23:02:08 -!- ehird has joined.
23:15:22 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
23:15:31 -!- psygnisfive has joined.
23:20:26 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
23:20:34 -!- psygnisfive has joined.
23:23:15 -!- Sgeo has joined.
23:38:16 -!- oerjan has joined.
23:56:42 -!- kar8nga has quit (Read error: 110 (Connection timed out)).