Log for #openttd on 2nd May 2013:
Times are UTC Toggle Colours
00:02:47  *** Elukka [] has quit []
00:19:17  *** glx [] has quit [Quit: Bye !]
00:42:09  *** LordPixaII [~pixa@] has quit [Remote host closed the connection]
00:42:21  *** Pixa [~pixa@] has joined #openttd
01:05:36  *** valhallasw [] has joined #openttd
01:15:57  *** valhallasw [] has quit [Remote host closed the connection]
01:29:13  *** pugi [] has quit []
02:19:26  *** DarkAce-Z [~BillyMays@] has joined #openttd
02:20:28  *** DarkAce-Z [~BillyMays@] has quit [Read error: Connection reset by peer]
02:21:03  *** DarkAce-Z [~BillyMays@] has joined #openttd
02:24:05  *** DarkAceZ [~BillyMays@] has quit [Ping timeout: 480 seconds]
02:30:59  *** DarkAce-Z is now known as DarkAceZ
02:46:07  *** Snail [] has quit [Read error: Connection reset by peer]
02:58:37  *** Ttech [] has quit [Quit: Este é o fim.]
03:00:10  *** Ttech [] has joined #openttd
03:03:18  *** Ttech [] has quit []
03:04:10  *** Ttech [] has joined #openttd
03:32:00  *** LordPixaII [~pixa@] has joined #openttd
03:32:00  *** Pixa [~pixa@] has quit [Read error: Connection reset by peer]
03:53:23  *** HellTiger [] has quit [Quit: KVIrc 4.2.0 Equilibrium]
03:56:35  *** Pixa [~pixa@] has joined #openttd
03:56:35  *** LordPixaII [~pixa@] has quit [Remote host closed the connection]
04:18:58  *** Meechmunchie [~meechmunc@] has joined #openttd
04:20:50  *** Meechmunchie [~meechmunc@] has quit []
04:56:01  *** Eddi|zuHause [] has quit []
04:56:15  *** Eddi|zuHause [] has joined #openttd
05:09:25  *** Prof_Frink [~proffrink@] has quit [Remote host closed the connection]
06:10:06  *** cyph3r [] has joined #openttd
06:21:26  *** DDR [] has quit [Quit: DDR is not Dance Dance Revolution.]
06:40:03  *** Devroush [] has joined #openttd
06:40:25  *** Supercheese [~Password4@] has quit [Quit: ChatZilla 0.9.90 [Firefox 20.0.1/20130409194949]]
06:48:06  *** Zuu [] has joined #openttd
06:54:02  *** Cybert1nus is now known as Cybertinus
06:54:42  *** Psyk [] has quit [Ping timeout: 480 seconds]
07:01:30  *** Zuu [] has quit [Ping timeout: 480 seconds]
07:23:17  *** sla_ro|master [~slamaster@] has joined #openttd
07:26:48  *** valhallasw [] has joined #openttd
07:33:44  *** andythenorth_ [] has joined #openttd
07:36:45  *** andythenorth_ [] has quit [Remote host closed the connection]
07:47:08  *** andythenorth_ [~andytheno@2002:4d66:7022:0:c0d:7f66:1da1:fc] has joined #openttd
07:52:15  *** andythenorth_ [~andytheno@2002:4d66:7022:0:c0d:7f66:1da1:fc] has quit [Remote host closed the connection]
08:12:42  *** Ristovski [~rafael@] has joined #openttd
08:16:02  *** Progman [] has joined #openttd
08:31:43  *** dlubi [] has quit [Ping timeout: 480 seconds]
08:54:34  *** Wolf01 [~wolf01@] has joined #openttd
08:54:39  <Wolf01> hello :D
08:56:12  *** oskari89 [] has joined #openttd
08:58:50  <NGC3982> I lub UKRS2.
09:00:36  *** Ristovski [~rafael@] has quit [Quit: Leaving]
09:03:51  *** pugi [] has joined #openttd
09:09:23  *** andythenorth_ [~andytheno@] has joined #openttd
09:13:11  *** Mucht [] has joined #openttd
09:19:09  <peter1139> Order Status: Packed and ready for despatch
09:19:15  <peter1139> well despatch it then :S
09:24:22  *** frosch123 [] has joined #openttd
09:46:06  <andythenorth_> where's my bloody amazon order, that's what I want to know
09:46:12  <andythenorth_> "Delivery: 1st May"
09:46:17  <andythenorth_> so check the date :|
09:46:32  <__ln___> doesn't say what year
09:46:55  <peter1139> hmm
09:47:03  <peter1139> should i get a trackball?
09:47:47  <andythenorth_> I have some
09:47:49  <andythenorth_> in cupboards
09:47:51  <andythenorth_> unused
09:48:05  <andythenorth_> never as good as they should be
09:48:14  <andythenorth_> just buy a tablet and be done with it
09:48:36  <Eddi|zuHause> trackball? how very 90's :)
09:49:27  <peter1139> hmm, tablet
09:56:25  *** andythenorth_ [~andytheno@] has quit [Ping timeout: 480 seconds]
09:58:11  <peter1139> hmm, logitech T650
10:13:53  <Wolf01> why does LEGO puts a spare 1x1 red flat tile but not for 1x1 trans-white plate? I think a little transparent piece is easier to get lost
10:14:07  <peter1139> to annoy you
10:15:38  <Wolf01> no, the annoying part is to have slightly different coloured yellow pieces, or bluish/reddish white pieces
10:16:04  <peter1139> hmm
10:16:21  <peter1139> always been consistent for me
10:16:27  <peter1139> but then i was buying lego 25 years ago
10:16:51  <Wolf01> I built a wall with white pieces and "see, it looks like the USA flag"
10:16:53  <Eddi|zuHause> ah, there is the middle stop hack
10:17:04  <peter1139> the what?
10:17:44  <Eddi|zuHause> set stop in middle as default when loading old savegames
10:17:56  <peter1139> which causes what?
10:18:37  *** andythenorth_ [~andytheno@] has joined #openttd
10:19:41  <Eddi|zuHause> saves me clicking on 150 trains to set it myself for each order
10:20:55  <Eddi|zuHause>
10:21:16  <Wolf01> nice, I have more spare parts than the smallest set I have
10:21:55  <Eddi|zuHause> i have a big basket of legos somewhere
10:22:03  <Eddi|zuHause> not touched for at least 10 years
10:27:40  <frosch123> is there a eastern equivalent to lego?
10:31:33  <Wolf01> this, if I understood the question correctly
10:34:02  <frosch123> nah, not that far east :p
10:34:56  <Eddi|zuHause> we had two, actually
10:35:17  <Wolf01> minitalia, but it didn't had so much success
10:36:46  <Wolf01> and since most patents from lego are now invalid/expired, there are clones from all over the world, so it's difficult to tell the origin from just the name
10:38:01  <Eddi|zuHause> frosch123:
10:39:04  <Eddi|zuHause> frosch123: and
10:41:13  <frosch123> hmm, i wonder whether i had some pebe stuff
10:41:42  <frosch123> i got some weird stuff from friends of my older sibliings
10:46:22  *** Mucht [] has quit [Remote host closed the connection]
10:48:55  *** Elukka [] has joined #openttd
10:56:19  *** Fuco [] has joined #openttd
11:05:10  <planetmaker> pebe = DDR lego?
11:05:29  <frosch123> yeah, that was the topic
11:12:00  <Eddi|zuHause> so... where was that timetable patch i wanted to try?
11:19:41  <peter1139> what about 32bpp colours?
11:20:47  <Eddi|zuHause> why would i need those?
11:25:48  <peter1139> for eyebleed
11:26:14  <Eddi|zuHause> DBSet doesn't have company colours anyway
11:28:59  <peter1139> that is true
11:34:03  *** HellTiger [] has joined #openttd
11:41:23  <frosch123> i thought it had the colours of the db company
11:42:31  <V453000> lol
11:49:57  *** Alice3 [] has joined #openttd
11:53:30  *** HerzogDeXtEr [] has joined #openttd
12:00:07  *** Mucht [] has joined #openttd
12:08:14  *** dlubi [] has joined #openttd
12:22:59  *** Alice3 [] has quit []
12:24:45  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
12:31:01  *** TheMask96 [] has joined #openttd
12:33:50  *** andythenorth_ [~andytheno@] has quit [Remote host closed the connection]
12:56:26  *** dlubi [] has quit [Remote host closed the connection]
13:10:50  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
13:13:26  *** ntoskrnl [] has joined #openttd
13:13:56  *** TheMask96 [] has joined #openttd
13:19:57  *** dough [] has quit [Quit: changing servers]
13:37:58  *** andythenorth_ [~andytheno@] has joined #openttd
13:38:26  *** Ristovski [~rafael@] has joined #openttd
13:52:30  *** tokai|noir [] has joined #openttd
13:52:33  *** mode/#openttd [+v tokai|noir] by ChanServ
13:58:34  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
14:03:45  *** andythenorth_ [~andytheno@] has quit [Remote host closed the connection]
14:29:54  *** roadt [~roadt@] has joined #openttd
14:36:22  *** parkette [] has quit [Ping timeout: 480 seconds]
15:09:39  *** LordAro [] has joined #openttd
15:10:18  <LordAro> afternoonings
15:22:27  *** Fuco [] has quit [Read error: Connection reset by peer]
15:30:41  *** glx [] has joined #openttd
15:30:45  *** mode/#openttd [+v glx] by ChanServ
15:42:15  *** valhallasw [] has quit [Ping timeout: 480 seconds]
15:48:44  *** KouDy [~KouDy@] has joined #openttd
15:56:05  *** parkette [] has joined #openttd
15:59:35  *** FLHerne [] has joined #openttd
15:59:49  *** Alice3 [] has joined #openttd
16:20:44  *** andythenorth [~andytheno@] has joined #openttd
16:23:37  *** DDR [] has joined #openttd
16:37:05  *** parkette [] has quit [Ping timeout: 480 seconds]
16:38:17  *** andythenorth_ [~andytheno@] has joined #openttd
16:38:44  *** andythenorth_ [~andytheno@] has quit [Remote host closed the connection]
16:43:08  *** andythen_ [~andytheno@] has joined #openttd
16:43:33  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
16:49:12  *** andythenorth [~andytheno@] has quit [Ping timeout: 480 seconds]
16:49:19  *** Zuu [] has joined #openttd
16:49:33  *** andythen_ [~andytheno@] has quit [Remote host closed the connection]
16:49:41  *** TheMask96 [] has joined #openttd
16:58:57  *** Psyk [] has joined #openttd
17:03:13  *** FLHerne [] has quit [Remote host closed the connection]
17:03:51  *** roadt [~roadt@] has quit [Ping timeout: 480 seconds]
17:18:45  *** Mortomes [] has joined #openttd
17:19:18  *** Mortomes is now known as Guest4120
17:21:23  <Eddi|zuHause> hm, i think this part is completely wrong...
17:21:43  <Guest4120> With NoAI, is there any way to make an AI say something in chat or react to chat messages?
17:22:17  <Eddi|zuHause> at least, instead of TIP_SAVEGAME_VERSION it should put in 67
17:22:36  <Eddi|zuHause> ah, no, i missed a line
17:22:54  <Eddi|zuHause> Kommando zurÃŒck! :p
17:23:05  <Guest4120> (Or is there a more appropriate channel for NoAI related discussion?)
17:23:11  <Eddi|zuHause> it's still weird, but not "wrong"
17:23:30  *** Guest4120 is now known as Mortomes
17:23:47  <Eddi|zuHause> Guest4120: no, AI cannot listen to chat
17:24:10  <Mortomes> Can't talk in chat either?
17:24:21  <Eddi|zuHause> not that i know of, but not sure
17:24:57  <Eddi|zuHause> might want to ask stuff in the forum, though, to reach a wider target audience of AI coders
17:26:06  <Mortomes> No way to do something similar with gamescript either?
17:27:03  <Mortomes> Ok, I'll try that, thanks.
17:27:29  *** oskari892 [] has joined #openttd
17:28:20  <Eddi|zuHause> gamescripts can communicate via the admin port
17:32:18  *** oskari89 [] has quit [Ping timeout: 480 seconds]
17:34:04  *** Markk [~mark@] has quit [Ping timeout: 480 seconds]
17:35:39  *** Supercheese [~Password4@] has joined #openttd
17:37:20  *** Markk [] has joined #openttd
17:37:52  *** Mucht [] has quit [Remote host closed the connection]
17:38:03  <frosch123> Mortomes:
17:38:17  <frosch123> ais and gs can communicate with each other via signs
17:42:30  *** Alberth [] has joined #openttd
17:42:33  *** mode/#openttd [+o Alberth] by ChanServ
17:42:52  <Mortomes> heh, interesting
17:43:01  <Alberth> hihi
17:43:08  *** Mucht [] has joined #openttd
17:43:44  <Mortomes> On a related note, any way to enable chat functionality in single player?
17:44:16  <frosch123> nope
17:44:29  <frosch123> there are other interfaces to communicate with gs
17:44:37  <frosch123> goals, question windows, news
17:44:41  <frosch123> a story book is planned
17:45:12  <Mortomes> Yeah, this is not so much about communicating with gs as with the player
17:45:24  <Mortomes> Through something less obscure than logging :P
17:45:27  <DorpsGek> Commit by translators :: r25216 /trunk/src/lang (3 files) (2013-05-02 17:45:18 UTC)
17:45:28  <DorpsGek> -Update from WebTranslator v3.0:
17:45:29  <DorpsGek> galician - 90 changes by Michi
17:45:30  <DorpsGek> icelandic - 9 changes by Stimrol
17:45:31  <DorpsGek> gaelic - 24 changes by GunChleoc
17:45:44  <frosch123> <- that's what is planned
17:47:18  *** Mucht [] has quit [Remote host closed the connection]
17:51:50  *** valhallasw [] has joined #openttd
18:03:16  *** andythenorth_ [~andytheno@] has joined #openttd
18:03:31  <Alberth> hi andy
18:07:56  *** Defaultti [] has quit [Quit: Quitting.]
18:09:27  *** Psyk [] has quit [Read error: Connection reset by peer]
18:10:06  *** Psyk [] has joined #openttd
18:24:12  <oskari892> What is that error:
18:25:00  *** Defaultti [] has joined #openttd
18:26:17  <Eddi|zuHause> oskari892: need to talk to Ammler
18:27:17  *** andythenorth_ [~andytheno@] has quit [Remote host closed the connection]
18:27:25  <Eddi|zuHause> oskari892: but that log doesn't show any error, only warnings
18:28:00  <oskari892>
18:28:31  <oskari892> "Preferred package location '/home/openttd/public_html/nml/nightlies/r2072/rpms' is not a directory
18:28:31  <oskari892> cp: cannot stat '/home/ottdc/chroots/devzone-openSUSE_12.3-i586-nightlies/home/abuild/rpmbuild/BUILD/finnishtrainset/*.zip': No such file or directory"
18:28:34  <oskari892> Etc...
18:28:57  <Eddi|zuHause> those seem to be from "make clean" and shouldn't be critical, if you're using the makefile correctly
18:29:35  <oskari892> ISR seems also be affected
18:29:41  <oskari892>
18:30:12  <oskari892> and xussrsete too
18:30:18  <oskari892> *xussrset
18:36:49  <Eddi|zuHause> hm, what am i missing? "src/duration_gui.cpp:232:9: error: ‘HEBR_EDITING’ was not declared in this scope"
18:37:33  <Eddi|zuHause> it's not defined in any of the patch files
18:37:51  <Eddi|zuHause> so it must have come from trunk, but it's not in trunk anymore
18:42:09  <Alberth> duration_gui ?
18:42:17  <Alberth> that's a new one to me
18:43:40  <Eddi|zuHause> yes, it's from the timetable improvement patch
18:43:55  <Eddi|zuHause> but i mean the HEBR_ stuff
18:44:15  <Eddi|zuHause> it was apparently removed from trunk recently
18:44:29  <Eddi|zuHause> something to do with edit boxes
18:47:04  <frosch123> Eddi|zuHause: editboxes were completely changed
18:47:23  <Eddi|zuHause> yes, i figured. but i can't find the revision
18:47:30  <Eddi|zuHause> or the explanation what changed
18:47:38  <frosch123> it's HKPR_EDITING now
18:47:47  <frosch123> but the other enum values changed their meaning
18:47:58  <Alberth> r24729 ?
18:48:12  <frosch123> i guess you are bet off ripping off all the editbox stuff from that patch, and reimplement it :p
18:48:37  <Eddi|zuHause> still, i need the revision of the change, to see what was done for the other windows
18:49:45  <frosch123> try svn log -r24324:head src/network/network_gui.cpp
18:50:02  <frosch123> 90% of those commits are related to editboxes
18:52:36  <Alberth> r24735 still removes uses of HEBR_EDITING
18:53:36  <Eddi|zuHause> i'll look into it
18:55:38  *** ntoskrnl [] has quit [Ping timeout: 480 seconds]
18:56:26  *** ZxBiohazardZx [] has joined #openttd
18:57:15  <Alberth> Eddi|zuHause:  r25092
18:57:57  <Alberth> thg grep    for the win :)
18:59:01  *** ZxBiohazardZx [] has quit []
18:59:22  <Eddi|zuHause> in SVN it's easy to search for when a line was added, but not when it was removed
18:59:53  <frosch123> well, most likely you just have to remove the whole function which used HEBR_EDITING
19:01:47  <frosch123> the HKPR_ constants are only used in 4 files in trunk, so it's very unlikely your window would need them :p
19:10:37  <Wolf01> random question time: anybody here used to multiple-and-hierarchical data structures? Maybe there is something like it in the OTTD code too :P
19:11:25  <frosch123> the name does not trigger anything for me
19:12:13  <frosch123> is the "and" a logical "and" ?
19:12:32  <frosch123> and in multiple hierarchies, combines with "and" ?
19:12:51  <Wolf01> I need both, so, yes
19:13:23  <frosch123> both?
19:13:39  <frosch123> so "multiple" and "hierarchical" are independent things?
19:13:48  <Wolf01> yes
19:13:49  <frosch123> what's a "multiple datastructure" then? :p
19:14:09  <Rubidium> hierarchical smells like trees
19:14:42  <frosch123> yeah, "hierarchical" is easy. but i have no idea what the "multiple" should mean
19:14:55  *** andythenorth [] has joined #openttd
19:15:30  <Wolf01> multiple is like "a taxonomy with many terms", combine it with hierarchical and you have "a taxonomy with many terms with childs which can belong to more than one term"
19:15:31  <andythenorth> O/
19:15:36  <Wolf01> hello andythenorth
19:15:59  <Eddi|zuHause> Wolf01: maybe you should rather explain what you try to do, instead of throwing around random buzzwords
19:16:02  <Wolf01> s/childs/children <- italianism
19:16:04  <frosch123> so, you have "multiple hierarchies"
19:16:23  * andythenorth -> logs
19:16:44  <frosch123> are the hierarchies independent/disjunct?
19:17:13  <Wolf01> I'm trying to develop an application which makes use of Euler diagrams to handle a clients wallet
19:17:36  <frosch123> i.e. can you separate parents/children into the hierarchies? or is there no rule whether a child is a child via one or the other hierarchy?
19:18:23  <andythenorth> Wolf it sounds like each child has forward reference to each of its parents?
19:18:33  <frosch123> that sounds more like you just want a directed non-cyclical graph
19:18:53  <Wolf01> I already lost you :D
19:19:10  <andythenorth> Real world case I have: sales that have both company and customer
19:19:32  <frosch123> Wolf01: do you know distributed version control systems? hg? git?
19:19:45  <frosch123> their history is a dac (directed acyclical graph"
19:20:02  <Wolf01> ok
19:20:07  <Rubidium> oh... git for ages 4 and up?
19:20:08  <frosch123> every item can have multiple parents and children
19:20:27  <frosch123> but no child can be the grandparent of its own parent
19:20:32  <andythenorth> How do you quickly walk the tree?
19:20:33  <Wolf01> yes
19:20:33  <frosch123> Rubidium: exactly :p
19:20:54  <andythenorth> In the web app case I just have to walk lots of nodes looking at properties
19:20:56  <Eddi|zuHause> just use a database :)
19:21:59  <frosch123>
19:22:07  <andythenorth> Wolf what are the real world entities you are modelling?
19:22:21  <Eddi|zuHause> i still have no clue what you're actually trying to do
19:22:55  <frosch123> Wolf01: you can also just google for "directed acyclic graph <insert-your-programming-language-here>" :)
19:23:25  <andythenorth> Might be overkill though
19:23:44  <Wolf01> I have companies with salesmans, each salesman have its own clients, clients could belong to more salesmen (because interested on different products)
19:24:14  <andythenorth> Ok do that's similar to the real world sales tracking app I have
19:24:15  <Wolf01> but seem you already put me in the right way with the acyclic graphs
19:24:32  <Eddi|zuHause> i'd still just use a database
19:24:45  <Wolf01> I already use a database
19:25:02  <Eddi|zuHause> just model a many-to-many relation
19:25:12  <andythenorth> If there's only one layer of hierarchy, you don't need graph algos
19:25:47  <Wolf01> ok, I already tried with nested set model, but is a pain in the ... when you need to find a path from a client to a "product"
19:26:24  <andythenorth> You have to look in a lot of rows
19:26:25  <Wolf01> and I don't say when I remove a salesman what should happen
19:26:54  <Eddi|zuHause> removing a salesman is handled by foreign key relationship
19:27:15  <Eddi|zuHause> whatever your RDBS does in that case
19:27:30  *** andythenorth_ [~andytheno@2002:4d66:7022:0:64e0:71af:b493:4a12] has joined #openttd
19:27:34  *** andythenorth [] has quit [Quit: Leaving]
19:27:47  <andythenorth_> tablet typing got boring
19:27:57  <Wolf01> :)
19:28:03  <andythenorth_> it's just sql stuff no?
19:28:12  * andythenorth_ can't do it, but eh :)
19:28:12  <Wolf01> yeah
19:28:25  <Eddi|zuHause> say you have a table for salesmen, clients and products. each salesman handles a set of clients, each salesman is responsible for a set of products
19:28:55  <Eddi|zuHause> so you have a table with salesman-id,client-id and one with salesman-id,product-id
19:29:04  <andythenorth_> +1
19:29:16  <Eddi|zuHause> so when a client searches a product, you make a join on salesman-id
19:29:24  <Eddi|zuHause> etc.
19:30:01  <andythenorth_> if it gets slow you (a) consider caching stuff by keeping references in multiple places (but it sucks, and you have to deal with invalidation and it's a pita)
19:30:03  *** Mortomes [] has quit [Ping timeout: 480 seconds]
19:30:04  <frosch123> well, if there are only salesmen and clients, and no salesman is a client himself... then there is no point in graphs :)
19:30:08  <andythenorth_> or (b) buy a bigger server
19:30:21  <andythenorth_> or (c) write better sql
19:30:50  <Eddi|zuHause> yeah, you don't need graphs, you just need a proper database model
19:31:08  <Eddi|zuHause> which brings us back to the question what you're actually trying to do
19:31:22  <andythenorth_> I had this kind of stuff in the old CMS for FIRS :)
19:31:22  <Wolf01> ok, the problem is, product, salesman and client are the same thing, just hierarchical, no different tables, they just are acyclic as frosch123 said :D
19:31:31  <andythenorth_> biab
19:32:18  <Eddi|zuHause> so client-id and salesman-id are foreign keys to the same table?
19:32:26  <Wolf01> yeah
19:32:48  <Eddi|zuHause> so you need to resolve A->B B->C C->D into A->D?
19:32:50  <Wolf01> because I have more hierarchies of salesmen
19:33:00  <Wolf01> that's the point
19:33:20  <Eddi|zuHause> yeah, that's pushing the limits of RDBMS
19:33:33  <Eddi|zuHause> because you can't do that in one query
19:34:03  <Wolf01> in fact I was looking for algorithms to build many queries
19:34:08  <Eddi|zuHause> so you want to resolve transitive edges
19:35:28  <Wolf01> uhm, googled that, gives me headaches
19:35:39  <Eddi|zuHause> basically, you need a pathfinder :)
19:35:58  <Eddi|zuHause> which is not that hard if you know it's acyclic
19:36:29  <Wolf01> it's acyclic for sure, if it's not I'll kill who made it so
19:36:57  <Eddi|zuHause> to find a way from D to A you query all X->D edges, put all X in a set, and then query all Y->X edges for every member of X
19:37:09  <Eddi|zuHause> you do this until X doesn't change anymore, or X contains A
19:37:27  <Wolf01> ok
19:37:37  <Eddi|zuHause> but this must be done in a procedural language, it can't be expressed in SQL
19:38:01  <andythenorth_> Wolf01: this is a CRM app?
19:38:06  <Wolf01> yes
19:38:16  <Eddi|zuHause> (because SQL isn't a turing complete language)
19:38:39  <andythenorth_> Wolf01: they can't just get Nutshell or Zoho or something off the shelf? o_O :)
19:38:59  *** andythenorth_ [~andytheno@2002:4d66:7022:0:64e0:71af:b493:4a12] has quit [Remote host closed the connection]
19:39:18  <Wolf01> it's a new feature we must develop for our produce
19:39:21  <Wolf01> *product
19:39:30  *** andythenorth_ [] has joined #openttd
19:39:38  <Wolf01> it's a new feature we must develop for our product
19:41:03  <Wolf01> which may be used for a crm, but also to split up a site in different compartments with their own hierarchy (admin-mod-user)
19:41:11  <andythenorth_> so what happens if a salesmen leaves?
19:41:21  <andythenorth_> is the client interested in the product, or the salesperson?
19:41:26  <Wolf01> clients must be assigned to his direct parent
19:42:14  <Wolf01> luckily we don't have to care about the second case :P
19:42:44  *** Mortomes [] has joined #openttd
19:43:03  <andythenorth_> what is the most important entity in the system / business?  Client, product, or salesperson?
19:43:18  *** Mortomes is now known as Guest4135
19:43:25  <andythenorth_> for example, the system I build is a sales (job) tracker, so job is the most important entity
19:44:09  <Wolf01> I think it's the product
19:44:33  <andythenorth_> I would have guessed that
19:44:46  <andythenorth_> so I'm crap at sql, I usually do object stuff in python
19:45:02  <andythenorth_> but you probably have product rows, with keys to the customer and salesperson tables
19:45:42  <andythenorth_> but you also need to relate customer and salesperson in more detail
19:46:09  <andythenorth_> so you might need to pair the keys somehow, or have customer keys in the salesperson table
19:46:24  <Wolf01> this thing really resembles TT, I have products to deliver to a client passing through waypoints, waypoints decide wether to let pass the products in a certain time
19:46:28  <andythenorth_> then it's all just fine, you just have to do some joins efficiently without killing your app
19:46:43  <Wolf01> and I need to find a route which might suddenly change
19:47:01  <andythenorth_> so there's workflow or such?  Or order fulfilment?
19:47:21  <Wolf01> It's very abstract at the moment
19:47:28  <andythenorth_> how might the route change?
19:47:32  <Wolf01> because we need it to adapt to different uses
19:48:16  <andythenorth_> hmm :)
19:48:25  <andythenorth_> have you used the front end of any similar apps?
19:48:32  <Wolf01> no
19:48:43  <andythenorth_> ok
19:49:22  <Wolf01> I say, I have a 4 tracks main-line, suddenly I build a piece of track so trains can switch to a different track to cut some length of their travel
19:49:27  <andythenorth_> trying to figure out if FIRS is similar to your problem, but I think not
19:49:33  <andythenorth_> FIRS has economy, cargo, industry
19:50:13  <andythenorth_> the industry knows which cargos it handles in which economy
19:50:28  <andythenorth_> the cargos know if they're active in each economy
19:50:48  <andythenorth_> if you want to know which cargos an industry *actually* handles in an economy, you have to go look them up
19:51:05  <andythenorth_> probably different though
19:51:34  <andythenorth_> I'm not really following the TTD track metaphor though :)
19:51:36  *** Psyk [] has quit [Remote host closed the connection]
19:51:56  <andythenorth_> do you mean the app has to include logic for re-routing?  Or that the business needs might change and you have to change the app?
19:52:20  <Wolf01> the re-routing thing
19:55:12  <Eddi|zuHause> Wolf01: my algorithm would handle that case correctly, it takes the shortest path
19:55:41  <Wolf01> example: the "pizza" department has a principal and 4 salesmen, one day one of them would be moved to the "kebab" department, the other 3 will take the clients of the one which left (done manually by the principal, when the salesman left, it's clients were actually transferred to the department, invisible to the salesmen)
19:56:13  <Wolf01> this must be transparent to the clients
19:56:14  <andythenorth_> ok so you have teams too
19:56:39  <andythenorth_> the re-assignment is done by the software?  Or manually by the people?
19:56:47  <Wolf01> manually
19:57:30  <Wolf01> the only automathic thing is when a new client appears, which is assignet to the salesman which handle him
19:57:43  <andythenorth_> ok
19:57:46  <andythenorth_> so
19:58:03  <Eddi|zuHause> so after the first assignment, the client is always handled by the same salesman until he leaves?
19:58:08  <Wolf01> yes
19:58:30  <Wolf01> but the same client could be handled by more salesmen by different departments
19:58:35  <Alberth> starting the search from the client may be the fastest (assuming he has a few salesman)
19:58:36  <Eddi|zuHause> so you want to store a salesman->(client, product) as some sort of cache
19:59:05  <Eddi|zuHause> and when the client wants a new product, you resolve a new salesman by the algorithm i gave above
19:59:08  <andythenorth_> (or look them up a lot, if your DB is fast)
19:59:23  <Eddi|zuHause> otherwise it reuses the cached salesman
20:00:11  <Eddi|zuHause> since it's only a cache, you can trivially just delete all connections of the salesman if he is moved to another department
20:00:31  <Eddi|zuHause> the client will be treated as a new client when he next asks for the same product
20:00:58  <andythenorth_> I would key from product to client for a couple of reasons
20:01:23  <Eddi|zuHause> you might want to do some load balancing between salesmen
20:02:10  <Wolf01> not my case, at least for the first implementations
20:02:15  <Eddi|zuHause> or you just flatten the hierarchy, so when a new salesman enters the picture, you resolve all products he's responsible fore
20:02:24  <Eddi|zuHause> -e
20:03:13  <MNIM> oh. I was already ducking
20:03:16  <Eddi|zuHause> so when a new client asks for a product, you select all salesmen which handle this product, and order by number of clients they handle (or some other balance value) and pick the lowest
20:04:00  <Wolf01> right
20:04:13  <Eddi|zuHause> this makes adding salesmen the computationally expensive calculation, adding clients is trivial
20:04:40  <Wolf01> yes, I already figured that out
20:05:24  <Eddi|zuHause> algorithm is still the same as above. something around 10-20 LOC
20:07:14  <andythenorth_> how many clients / products / salespeople in the real world?
20:07:32  <Wolf01> I don't know :D
20:07:48  <Eddi|zuHause> always assume 1 million :(
20:07:48  <andythenorth_> tens/ hundreds / thousands / tens of thousands?
20:07:49  <Eddi|zuHause> :)
20:08:01  <Wolf01> maybe 100 products, 10 salesmen and 10k clients
20:08:53  <andythenorth_> yeah, these are not scary numbers
20:09:24  <Wolf01> yes, our customers aren't so big... now
20:09:28  <andythenorth_> you will need very bad sql or a very bad server to make this a problem
20:09:39  <andythenorth_> although countless PHP developers have managed the first :P
20:09:39  <Eddi|zuHause> and assume the company runs some ancient 386 on spare parts
20:10:47  <Wolf01> eheh, knowing the developer (me), I wouldn't bet on "bad SQL", the server is right instead
20:11:27  <andythenorth_> I would key the way eddi said, and then reassign client, product pair to a new salesperson if they need to move
20:12:25  <Wolf01> I only hope the next step wouldn't be a neural network, we already put in too much on our crm/cms
20:12:26  <andythenorth_> the products handled by a salesperson are then the set of all products
20:13:31  <andythenorth_> you can similarly get all products for a client, all salespeople for a product etc
20:14:56  <Wolf01> in any case, what I was looking for seem to be that edge-vertex thing to store the data, which seem to resolve some problems I found trying to add "multiple" to the nested set model hierarchy
20:15:41  <Wolf01> many thanks to all for all the suggestions and the use-cases
20:15:42  <Wolf01> :)
20:16:52  <andythenorth_> just don't over-complicate it :)
20:17:31  *** parkette [] has joined #openttd
20:17:59  <Wolf01> I'll talk with my coworker tomorrow and then we'll see if it fits our needs
20:18:54  <Wolf01> or we can blow up the whole thing and play OTTD instead
20:26:45  <frosch123> night
20:26:48  *** frosch123 [] has quit [Remote host closed the connection]
20:39:51  *** Prof_Frink [~proffrink@] has joined #openttd
20:46:37  <andythenorth_> nice picture
20:47:23  <Eddi|zuHause> it's photoshopped! i can tell by the pixels!
20:47:37  *** Netsplit <-> quits: +michi_cc, tparker, parkette, andythenorth_, dotwaffle, luckz, Pixa, Zuu, Mek, juzza1,  (+11 more, use /NETSPLIT to show all of them)
20:48:35  *** Netsplit over, joins: parkette, SmatZ, SpComb, XeryusTC, andythenorth_, TheMask96, Zuu, +tokai|noir, HellTiger, Elukka (+11 more)
20:49:21  *** Alberth [] has left #openttd []
20:53:14  <Eddi|zuHause> i think i killed it :p
20:58:31  <Supercheese> Neticide
21:25:48  *** KouDy [~KouDy@] has quit [Ping timeout: 480 seconds]
21:26:33  *** cyph3r [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
21:58:28  *** pugi [] has quit [Read error: Connection reset by peer]
22:02:18  *** Alice3 [] has quit []
22:11:26  *** Ristovski [~rafael@] has quit [Quit: Leaving]
22:13:31  *** andythenorth_ [] has quit [Remote host closed the connection]
22:15:20  *** sla_ro|master [~slamaster@] has quit [Quit: connection reset by myself]
22:21:12  *** oskari892 [] has quit []
22:36:00  <LordAro> night all
22:36:23  <NGC3982>
22:36:25  <NGC3982> Related.
22:36:34  *** LordAro [] has quit [Quit: Lost terminal]
22:41:11  <Wolf01> lol
22:45:05  *** valhallasw [] has quit [Ping timeout: 480 seconds]
23:03:21  *** Markavian [] has quit [Read error: Connection reset by peer]
23:03:43  *** Markavian [] has joined #openttd
23:03:45  *** glx [] has quit [Read error: Connection reset by peer]
23:03:57  *** glx [glx@2a01:e35:2f59:c7c0:9cb3:7256:d1ec:d19b] has joined #openttd
23:19:22  *** Progman [] has quit [Remote host closed the connection]
23:24:59  *** Zuu [] has quit [Ping timeout: 480 seconds]
23:26:35  <Eddi|zuHause> bÀh somebody slap me for trying to touch gui code...
23:30:58  *** Devroush [] has quit []
23:32:16  <Wolf01> 'night
23:32:24  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]

Powered by YARRSTE version: svn-trunk