Back to Home / #openttd / 2014 / 12 / Prev Day | Next Day
#openttd IRC Logs for 2014-12-30

---Logopened Tue Dec 30 00:00:04 2014
00:49-!-Flygon [~Flygon@147.18.214.218.sta.commander.net.au] has quit [Read error: Connection reset by peer]
00:52-!-Flygon [~Flygon@147.18.214.218.sta.commander.net.au] has joined #openttd
00:56-!-Eddi|zuHause [~johekr@p57BD5CB2.dip0.t-ipconnect.de] has quit []
00:56-!-Eddi|zuHause [~johekr@p5DC6610A.dip0.t-ipconnect.de] has joined #openttd
01:03-!-luaduck is now known as luaduck_zzz
01:36-!-HerzogDeXtEr1 [~flex@i59F6CD68.versanet.de] has joined #openttd
01:41-!-HerzogDeXtEr [~flex@i59F6B6E1.versanet.de] has quit [Ping timeout: 480 seconds]
02:16-!-supermop_ [~supermop@cpe-184-57-31-100.columbus.res.rr.com] has quit [Ping timeout: 480 seconds]
02:43-!-Jinassi [~jinassi@0001ec72.user.oftc.net] has quit [Quit: Nettalk6 - www.ntalk.de]
02:56-!-Alberth [~hat@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
02:56-!-mode/#openttd [+o Alberth] by ChanServ
03:03-!-tokai|mdlx [~tokai@port-92-195-134-201.dynamic.qsc.de] has joined #openttd
03:07-!-andythenorth [~Andy@cpc10-aztw26-2-0-cust867.18-1.cable.virginm.net] has joined #openttd
03:09-!-tokai [~tokai@00012860.user.oftc.net] has quit [Ping timeout: 480 seconds]
03:10-!-Jinassi [~jinassi@0001ec72.user.oftc.net] has joined #openttd
03:19<andythenorth>o/
03:29-!-ST2 [~ST2@118.107.136.95.rev.vodafone.pt] has joined #openttd
03:39<@Alberth>hi hi
03:42-!-sla_ro|master [slamaster@95.76.27.245] has joined #openttd
04:01-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has joined #openttd
04:04-!-TheMask96 [martijn@envy.vhost.ne2000.nl] has quit [Ping timeout: 480 seconds]
04:10-!-TheMask96 [martijn@envy.vhost.ne2000.nl] has joined #openttd
04:14-!-Extrems [borgs@modemcable204.141-177-173.mc.videotron.ca] has quit [Read error: Connection reset by peer]
04:15-!-Extrems [borgs@modemcable204.141-177-173.mc.videotron.ca] has joined #openttd
04:21-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has quit [Ping timeout: 480 seconds]
04:30<@Alberth>busy bee already playable?
04:33<andythenorth>need to play test :)
04:33*andythenorth doing chores
04:33<@Alberth>k
04:33<andythenorth>dishwashers to unload, broken lego to fix, snot to wipe :P
04:33<@Alberth>yesterday the goal progress wasn't updated
04:34<andythenorth>I didn’t touch it last night
04:34<andythenorth>sorry :(
04:34-!-Progman [~progman@p57A18489.dip0.t-ipconnect.de] has joined #openttd
04:39-!-glevans2 [~glevans2@71-8-126-76.dhcp.ftwo.tx.charter.com] has quit [Ping timeout: 480 seconds]
04:40-!-glevans2 [~glevans2@71-8-126-76.dhcp.ftwo.tx.charter.com] has joined #openttd
04:41-!-Jinassi [~jinassi@0001ec72.user.oftc.net] has quit [Ping timeout: 480 seconds]
04:47<@Alberth>k
04:49-!-Osceola [kvirc@31.132.147.3] has joined #openttd
04:50<Osceola>hi
04:50<Osceola>anybody here?
04:50-!-Progman [~progman@p57A18489.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
04:51<Osceola>who saw the Snorre?
04:56<andythenorth>Alberth: I might get 45 mins to look at the goal progress this morning :)
04:56<andythenorth>seems to be a busy christmas this year
04:56<@Alberth>looking at it right now, doesn't seem too complicated
04:59<@Alberth>hmm, it needs updating of text?
04:59<andythenorth>yes
04:59<andythenorth>the GSGoal stuff is pretty trivial
05:01<andythenorth>GSGoal.SetProgress
05:01<andythenorth>should be what we need
05:01<@Alberth>pushed
05:01<Osceola>anybody can see user with nickname snorre?
05:02<@Alberth>@seen snorre
05:02<@DorpsGek>Alberth: snorre was last seen in #openttd 2 years, 13 weeks, 5 days, 23 hours, 45 minutes, and 14 seconds ago: <snorre> ok not so common, 1586 have that name http://www.ssb.no/vis/navn/sok.cgi?fornavn=snorre&etternavn=&lang=n
05:02<Osceola>2 years he)
05:02<andythenorth>usually my in-laws are around at christmas, so I get coding time
05:02<andythenorth>this year, not, and my wife is working
05:02<andythenorth>so minimal coding time :P
05:02<@Alberth>just moved the goal, and added removal
05:03-!-Yotson [~Yotson@2001:980:6ac8:1:cd8c:6117:bab5:c82a] has joined #openttd
05:03<@Alberth>busy bee andy :)
05:05<@Alberth>We'd need a new text I guess
05:22-!-Osceola [kvirc@31.132.147.3] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
05:25-!-oskari89 [oskari89@83-102-63-32.bb.dnainternet.fi] has joined #openttd
05:32-!-Elec_a [~oftc-webi@87.107.217.2] has joined #openttd
05:32<Elec_a>Hello, what is ttdpatch ?
05:34-!-Flygon_ [~Flygon@147.18.214.218.sta.commander.net.au] has joined #openttd
05:35-!-MTsPonyZzZ [~MTsPony@008-086-128-083.dynamic.caiway.nl] has joined #openttd
05:36-!-HerzogDeXtEr [~flex@i59F6CD68.versanet.de] has joined #openttd
05:38<@Alberth>an extension to the original TTD program, as in, it patches the original executable
05:39-!-Netsplit resistance.oftc.net <-> graviton.oftc.net quits: MTsPony, Speedy, ToBeFree, Elec_a, Flygon, blathijs, Ttech, Xaroth_, Hazzard, Sheogorath, (+17 more, use /NETSPLIT to show all of them)
05:39-!-Xaroth|Work [~XarothAtW@194.1.204.204] has joined #openttd
05:40-!-HerzogDeXtEr [~flex@i59F6CD68.versanet.de] has quit []
05:42-!-Netsplit over, joins: Hazzard
05:42<@Alberth>Hmm, the script also gives non-available cargoes as target, it shouldn't do that :)
05:42-!-Netsplit over, joins: ToBeFree
05:42<andythenorth>interesting
05:43-!-Netsplit over, joins: blathijs
05:43-!-Quatroking [~Quatrokin@ip226-139-211-87.adsl2.static.versatel.nl] has joined #openttd
05:44-!-Netsplit over, joins: ivan`, Ttech, jinks, davidstrauss_, ccfreak2k, @Terkhen, Speedy, KouDy, argoneus, tneo- (+7 more)
05:45-!-Netsplit over, joins: skrzyp
05:47-!-Netsplit over, joins: urdh
05:47<andythenorth>Alberth: when a second company starts (AI in this case), my company gets 5 extra goals.
05:47<andythenorth>and I think it stops monitoring goals for the first 5?
05:47<andythenorth>just reading the logs
05:47<@Alberth>that seems likely
05:47<@Alberth>a company only has 5 goals :)
05:48<argoneus>what are you guys working for by the way?
05:48<argoneus>dynamic goals?
05:48<argoneus>on*
05:49<@Alberth>andythenorth: Added progress reporting
05:50<@Alberth>a goal game script, try it?
05:50<argoneus>I'm at werk :<
05:50<@Alberth>playing with original map generator, such messy rail laying, lots of fun :)
05:55<andythenorth>screenshots?
05:55<andythenorth>original is a classic
05:55<andythenorth>it’s not worse than TGP
05:55<andythenorth>but quite monotonous
05:58<@Alberth> http://devs.openttd.org/~alberth/screenshot.png
05:59<argoneus>looks nice
05:59<argoneus>but shouldn't the goals be more longterm?
06:00<argoneus>like "establish a line between x and y"
06:00<argoneus>no company would build a railroad between two places just to transport something once
06:03<@Alberth>false, I just did :)
06:04<@Alberth>the script focuses on building things
06:09<@Alberth>but how is "establish a line" different from "transport x" ?
06:11<andythenorth>argoneus: what’s “should” in the context of gamescripts?
06:11<andythenorth>there’s no right answer
06:13<@Alberth>amounts are too large?
06:14<@Alberth>or we need more goals for a company :p
06:20<andythenorth>how fast should goals complete?
06:20<andythenorth>and is there any bonus (money, other?)
06:26<@Alberth>none, currently
06:26<@Alberth>on the other hand, it does give time to build more network to achieve the goal
06:27<@Alberth>perhaps add a setting or so?
06:28*andythenorth has lots of ideas
06:28<andythenorth>but one step at a time
06:28<andythenorth>I think a map-unlocking GS might be fun, complete goals to ‘unlock’ towns
06:29<andythenorth>similarly a ‘build the wild west’ GS, where new industries and towns are founded when completing a goal
06:29<andythenorth>ho we can rename towns
06:30*andythenorth browsing the spec
06:30<andythenorth>yeah, there’s GSTown::FoundTown()
06:31<andythenorth>Alberth: have you found a way to update the GS on a running game?
06:31<@Alberth>no, I just start a new one every time
06:31<andythenorth>wondering if save + open reloads the GS
06:31<andythenorth>probably :P
06:32<@Alberth>I'd expect so, but the gs has no data then
06:32<andythenorth>ah
06:32<@Alberth>since we didn't implement 'save' :)
06:32<andythenorth>do we need to handle savegames?
06:32<andythenorth>console has been nagging about that :)
06:33<@Alberth>adding an empty 'save' function would easy enough
06:33*andythenorth reads spec
06:33<@Alberth>not sure if preserving the goals would be useful
06:34<@Alberth>I guess it would be in some cases, eg continuing a SP game
06:35<andythenorth>as a player, I would expect my goals to persist across a savegame
06:37*andythenorth trying to figure out how it’s done
06:38<andythenorth>SV and NCG implement Save() and Load() methods on MainClass, which extends GSController
06:38<andythenorth>but I can’t find them called anywhere
06:38<andythenorth>nor can I find them in GS docs
06:42<@Alberth>sounds like a bug :)
06:51<@Alberth>adding some issues to the project
06:57-!-Murphy [~oftc-webi@port-87-234-198-221.static.qsc.de] has joined #openttd
06:57<@Alberth>/me wonders whether to check what the GS libraries offer
07:11-!-Murphy [~oftc-webi@port-87-234-198-221.static.qsc.de] has quit [Quit: Page closed]
07:15<andythenorth>I read some of superlib to see if there was anything essential there
07:15<andythenorth>didn’t see anything yet
07:24-!-MJP [~mjp@hq.z77.fr] has joined #openttd
07:25<@Alberth>I agree
07:26-!-glevans2 [~glevans2@71-8-126-76.dhcp.ftwo.tx.charter.com] has quit [Ping timeout: 480 seconds]
07:27-!-glevans2 [~glevans2@71-8-126-76.dhcp.ftwo.tx.charter.com] has joined #openttd
07:27<argoneus>I'm actually wondering
07:27<argoneus>since OTTD is a brand new game with fresh code
07:28<__ln__>though it's not
07:28<argoneus>are there any parts that are spaghetti code and need rewriting / no one understands them or doesn't dare to touch them or is it mostly nice and clear?
07:28<@Alberth>pushed renaming of the main class :)
07:29<__ln__>argoneus: your premise is false. OTTD is not a brand new game with fresh code.
07:29<argoneus>but it is
07:29<argoneus>you just disassembled the original game and re-wrote it in C++, no?
07:30<__ln__>no.
07:30*argoneus shrugs
07:30<@Alberth>your other premise is false too, new code can also be scary :)
07:32<argoneus>I'd think that someone who can figure out how a game works from asm knows how to write functional code
07:32-!-Supercheese is now known as Guest231
07:32-!-Supercheese [~Superchee@cpe-76-178-136-186.natnow.res.rr.com] has joined #openttd
07:34-!-Wolf01 [~wolf01@host44-14-dynamic.31-79-r.retail.telecomitalia.it] has joined #openttd
07:34<Wolf01>o/
07:34<@Alberth>Functional code and working code are independent concepts, functional code can also be scary. In fact, if there is any scary code, it would be functional, or it would have been deleted long ago. Also, the original author has ling ago left, new people joined the project
07:34<@Alberth>hi hi Wolf01
07:34*argoneus shrugs
07:35<@Alberth>s/ling/long/
07:35<argoneus>ling rush
07:35<argoneus>but yeah
07:35<argoneus>I asked a question and instead got told that all my premises are false
07:35<argoneus>:(
07:35<__ln__>argoneus: also the premise about rewriting in C++ is false.
07:36<argoneus>^
07:36<argoneus>in C I meant
07:36<@Alberth>argoneus: I don't think there exists an objective answer to the question, obviously, an author will not think his code to be scary and unreadable
07:36<argoneus>why not?
07:37-!-Guest231 [~Superchee@cpe-76-178-136-186.natnow.res.rr.com] has quit [Ping timeout: 480 seconds]
07:37<argoneus>I thought most devs said "this is shit I need to rewrite this later"
07:37<@Alberth>how can you write code you don't understand right down to the core?
07:37<argoneus>so you never write something and think "meh it works but it's shit"?
07:38<@Alberth>sure you can improve on corner cases etc etc, but you do understand what you write
07:38<@Alberth>I do, but I don't throw it in a repository. I clone a fresh copy and try again
07:39<Wolf01>I don't understand what I wrote a month ago, that's why I need to write tests for it
07:39-!-Rubidium_ is now known as Rubidium
07:39<Rubidium>argoneus: plenty... but sadly enough rewriting isn't really possible for many of those cases
07:39<argoneus>oh, I see
07:39<argoneus>also, I never understood the unit testing approach
07:39<argoneus>as in, write tests and then build on top of it
07:39<argoneus>or development driven by tests etc
07:40<argoneus>it just feels hacky as fuck
07:40<argoneus>if you can't decide on a structure how do you decide on the use
07:40<@Alberth>There are some exceptions, but to a large degree I agree with it
07:40<argoneus>agree w/ development driven by tests or with what I wrote?
07:41<@Alberth>the former, I think
07:42<@Alberth>the idea with writing tests first is that you get an idea of what functionality you need to supply
07:42<argoneus>so you should be able to tell how a program will be used before you actually write the program?
07:42<@Alberth>sure, at least for the major parts
07:42<andythenorth>argoneus: there are people who absolutely swear by TDD
07:42<andythenorth>and I can see how it could be made to work
07:42-!-Biolunar [Biolunar@blfd-d9bf0ec3.pool.mediaWays.net] has joined #openttd
07:42<Wolf01>argoneus: do you write random code because it could be used in some way?
07:43<andythenorth>I have never clicked with TDD, it’s not how my brain works
07:43<@Alberth>from the idea of what functionality you need, you can design a structure
07:43<argoneus>I just don't understand it
07:43<andythenorth>what’s not to understand?
07:43<argoneus>like if I want to write an irc bot
07:43<argoneus>then my test is bot->start()
07:43<argoneus>and that's it
07:43<argoneus>what else should I do to test
07:43<andythenorth>what does your bot do?
07:44<argoneus>connect and listen I guess
07:44<andythenorth>so far you’ve only tested that it doesn’t die on start
07:44<Wolf01>you should test how bot reacts on channel modes, for which commands it responds
07:44<argoneus>but most of what it does are callbacks
07:44<@Alberth>how fast, configurability
07:44<argoneus>how do I write a test for those
07:44<andythenorth>supported platforms
07:44<andythenorth>known edge cases
07:44<@Alberth>race conditions
07:45<andythenorth>probably not corner cases, unless they’re expensive when they happen
07:45<argoneus>race conditions?
07:45<Wolf01>you provide a test callback and test the bot give the output you expected
07:45<argoneus>(I know what the term means just not the concept)
07:45<argoneus>contexT*
07:45<andythenorth>uncaught while loops, failed input etc
07:45<andythenorth>what does your bot do when someone throws unicode at it?
07:45<andythenorth>etc
07:46<argoneus>so I have several tests for basic functionality, a callback test, a ping-pong test, etc?
07:46<@Alberth>argoneus: say you have a rule-based bot, and a rule for "a" and a rule for "b". now what if both "a" and "b" are in one line? which one is done first?
07:46<argoneus>Alberth: whichever came first
07:46<argoneus>they can't come at once obviously
07:46<@Alberth>what if it is important to do "a" before "b"
07:46<andythenorth>argoneus: there are different kinds of testing, people argue over the names still, but...
07:46<argoneus>then instead of a queue I can use a priority queue
07:46*argoneus shrugs
07:47<andythenorth>approximately...
07:47<@Alberth>ie all stuff of how the bot should react from a user point of view
07:47<andythenorth>- unit tests: test the actual functions + classes in the code directly
07:47<argoneus>I just never understood how to actually write unit tests
07:47<andythenorth>- functional tests: test the running app
07:47<argoneus>it feels like wasting time I could've spent making my bot work on writing abstract tests that don't even work at first
07:47<andythenorth>- integration tests: test the app in the supported environments
07:47<andythenorth>all of which is regression testing
07:48<argoneus>like, if you imagine an IRC bot, in, say, C++, how do you write a unit test for anything?
07:48<argoneus>is it part of the actual bot or a separate program or how does that work? ;;
07:48<andythenorth>your irc bot is stateless? You don’t store anything?
07:48<Wolf01>unit tests should test the little part of the code you can, for example you don't test how the bot reacts to a command by running the entire system, you test the command module
07:48<argoneus>yeah but where do you put this unit testing code?
07:49<argoneus>do you just bloat your code with random testS?
07:49<andythenorth>some kind of test layers
07:49<@Alberth>separate file/function/class
07:49<andythenorth>dunno how it’s done in C++
07:49<andythenorth>does ottd have _any_ unit tests?
07:50<Wolf01>I think it doesn't, as far as I remember, the basic tests are some asserts buried in the code
07:50<Rubidium>what about the regression ai?
07:51<argoneus>I understood how unit tests worked in smalltalk
07:51<andythenorth>this is a python test that checks that the data submitted via a web form is persisted to the db https://paste.openttdcoop.org/paucylxwi
07:51<andythenorth>as an example
07:51<argoneus>it has a special unit testing environment
07:51<andythenorth>imho, tests are mistake prone
07:52<argoneus>so you just have a tests.py
07:52<argoneus>which you run whenever you want?
07:52<andythenorth>tests/module_name.py
07:52<andythenorth>yes
07:52<Wolf01>tests should be the simplest possible, and without a logic
07:52<andythenorth>kinda
07:52<andythenorth>number of lines of code in a unit test often outweighs the amount of code being tested
07:52<@Alberth>argoneus: make a new test program, with the code to test imported or linked to it
07:53<andythenorth>I suspect that tests often contain errors and are of low utility
07:53<Wolf01>if you need to put logic in tests, you may want to put it in a separate class and test it too
07:54<argoneus>oh so like
07:54<Wolf01>I was reading this yesterday: http://googletesting.blogspot.it
07:54<argoneus>if I have an irc bot that reverses everything people say and writes it back
07:54<Wolf01>?siht ekil
07:54<argoneus>then a unit test could be if my reverseText method works properly?
07:54<argoneus>independent on the bot?
07:54<@Alberth>yep
07:55<andythenorth>you might hard code example strings
07:55<argoneus>so unit tests are just pieces of code that test functionality that would otherwise be hard to test because it doesn't happen that often or is difficult to trigger normally?
07:55<andythenorth>or you might call reverse in your test and check they match
07:55<andythenorth>both have pitfalls :P
07:56<Wolf01>you have a test like this: "testReverse() { $bot = new Bot(); $this->assertEquals('?siht ekil', $bot->reverse('like this?')); }
07:56<andythenorth>I work on one app that has reasonable unit test coverage, and the tests constantly catch unintended breakage due to changes
07:56<@Alberth>argoneus: I often do unit tests for core pieces of the code, which are hard to reach otherwise, since they are buried under a big stack of other code
07:56<argoneus>oh
07:56<argoneus>so as a beginner I should even have unit tests for things like heapsort etc?
07:56<argoneus>to make sure it sorts properly
07:56<argoneus>something like
07:56<andythenorth>is that a language feature?
07:56<argoneus>assert heapsort(3,2,1,4) = (1,2,3,4) ?
07:56<andythenorth>(heapsort)
07:56<argoneus>no
07:57<argoneus>if I had to implement it myself
07:57<andythenorth>if you had to implement it yourself, maybe
07:57<@Alberth>andythenorth: it's a sorting algorithm
07:57<Wolf01>if you had to implement it, then yes
07:57<andythenorth>once you have heapsort working, that test is unlikely to ever win you anything in future
07:57<andythenorth>but it makes it easy to test ‘working'
07:57<argoneus>right
07:57<argoneus>but so basically
07:57<andythenorth>in an app where money is a factor, you’d be testing things like:
07:58<argoneus>I write unit tests to make sure it's my logic that is failing and not a stupid mistake in some function?
07:58<andythenorth>- have we actually written the user data to the DB?
07:58<@Alberth>it's often an example case that you have while running the code for the first time
07:58<andythenorth>- have we moved the decimal point in a financials transaction?
07:58<andythenorth>- can the user actually log in?
07:58<Wolf01>and you are sure if you might need to refactor the function or fix an edge case, you already have the output validated
07:58<argoneus>but andy
07:58<argoneus>for example for the first one, you don't write a separate test
07:58<@Alberth>and you typically test edge cases, like (), (1,1,1), (4,3,2,1)
07:59<argoneus>you just writeToDb() and then doesUserExist(user)
07:59<argoneus>no?
07:59<andythenorth>argoneus: that’s a test
07:59<argoneus>but I think I get the idea
08:00<andythenorth>have we written the user data to the db, without transposing any fields, and does it handle unicode, and invalid values correctly?
08:00<andythenorth>is a more realistic test
08:00<argoneus>so for example if you guys have a chess AI
08:00<argoneus>then you write tests to make sure the AI selects the best move in certain pre-set scenarios
08:00-!-gelignite [~gelignite@i528C368D.versanet.de] has joined #openttd
08:00<@Alberth>in my view, there is a trade-off between writing tests, and debugging later
08:00<argoneus>and as you improve the AI you keep testing to see if it fucks up anything that worked beforE?
08:00<argoneus>is that a valid use case?
08:00<@Alberth>that's a regression test
08:01<argoneus>a regression test is something else than a unit test?
08:01<andythenorth>in the world I work in, the tests are partly a pragmatic commercial decision
08:01<andythenorth>do we want to pay people to sit and manually test the app?
08:01<andythenorth>or do we want to teach machines to do it?
08:01<andythenorth>there are people who treat TDD as a very principled thing
08:01<andythenorth>I sometimes don’t get on very well with those people :P
08:01<andythenorth>building code cathedrals
08:02<@Alberth>test code often exceeds the real functional code
08:02<andythenorth>but on an app with *lots* of tests, refactoring is possible
08:02<@Alberth>which means there are more errors in your tests than in the real code :p
08:03<Wolf01>give a look at this too: http://code.tutsplus.com/series/refactoring-legacy-code--cms-633
08:03<Rubidium>assert(min((1,2), (4,1)) == (3,1)); <- did you know that doesn't trigger the assertion in C
08:03<@Alberth>:D
08:04<Wolf01>I don't even understand what that means :D
08:04<@Alberth>http://pythontesting.net/strategy/why-most-unit-testing-is-waste/
08:05<andythenorth>bah
08:05<Rubidium>which is why argoneus' assert bothered me; if I did a #define heapsort then argoneus' assert would not trigger
08:05<andythenorth>I was just looking for that :P
08:05<andythenorth>then I come back to my irc app and you’ve found it
08:05<@Alberth>Wolf01: mostly, it means it doesn't do what you think :p
08:05<@Alberth>sorry andythenorth
08:05<andythenorth>happens
08:06<andythenorth>for the record, integration testing is *in* :P
08:06<@Alberth>I probably saved it from one of your previous pastes :)
08:07<@Alberth>Looks interesting Wolf01, will save it for future study
08:08<andythenorth>the python article is one of the few reasoned rebuttals I’ve seen to TDD focussed on unit tests & high % coverage goal
08:10<Rubidium>in a perfect world every theoretical situation is tested, but in the real world you usually have to get away with less because of other pressures
08:10<andythenorth>the TDD principle doesn’t accomodate well to “no if that edge case happens, we’ll phone up the customer and say sorry"
08:10<andythenorth>which is preferable in some cases to dubious tests
08:10<Wolf01>agreed
08:10<andythenorth>setattr(obj, ‘foo’)
08:10<Rubidium>andythenorth: exactly... though, the question is where to draw the line
08:10<andythenorth>assert(obj == foo)
08:11<Rubidium>(and that's the real difficulty in testing)
08:11<andythenorth>bad syntax, but eh, don’t test that
08:11<andythenorth>testing for hard-coded strings in an i18n app is my current bugbear :x
08:11<andythenorth>that has been done
08:12<andythenorth>for web apps, visual diff is proving to be a powerful tool
08:12<andythenorth>http://www.rightmove.co.uk/dev/blog/visual-regression-automation/
08:13<andythenorth>for given input, did the output change? Was the change the expected change?
08:15<@Alberth>nice
08:17<Wolf01>interesting
08:25<andythenorth>still early days
08:25<andythenorth>but powerful tool
08:29-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has joined #openttd
08:37<@Alberth>should we add a timeout to the goals? after x months, just remove it (as the user isn't interested in building it)
08:42<andythenorth>hmm
08:42<andythenorth>interesting idea
08:42<andythenorth>let’s try it
08:43<@Alberth>/me adds an issue
08:50-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has quit [Ping timeout: 480 seconds]
08:57-!-TheDude [~Miranda@2.237.broadband7.iol.cz] has joined #openttd
09:02-!-Osceola [kvirc@31.132.147.3] has joined #openttd
09:03<Osceola>hi
09:03<Osceola>can help me?
09:03<Osceola>at my station occurs only partial loading of coal. Part remains at the station. Why is there a mistake? [googl translated]
09:04<Osceola>its a bud in new version?
09:04<Osceola>bug
09:05-!-DDR [~kvirc@S010600254bbe4e1c.vc.shawcable.net] has quit [Read error: Connection reset by peer]
09:06-!-DDR [~kvirc@S010600254bbe4e1c.vc.shawcable.net] has joined #openttd
09:11<@Alberth>using cargo-dist?
09:15<Osceola>http://uploads.ru/iFmeg.png
09:15<Osceola>not, i think
09:16<@Alberth>upload site doesn't like me
09:16<@Alberth>I saw a screenshot briefly, there are +/- at the right side of the cargo
09:16<@Alberth>so yes, you have cargo-dist
09:16<Osceola>server arctic
09:16<Osceola>know this server?
09:17-!-sla_ro|master [slamaster@95.76.27.245] has quit []
09:17<@Alberth>in that case, it's not a bug, the cargo left on the station is for a different power station
09:17<Osceola>i see it first time
09:17<Osceola>and i play 10 years
09:17<Osceola>its not a bug )
09:17<Osceola>?
09:18<@Alberth>Cargo-dist was added to 1.4
09:18<@Alberth>and you didn't play with 1.4 for the last 10 years :)
09:18<Osceola>last year i not play
09:18<Osceola>wtf
09:19<Osceola>and what do need?
09:19<@Alberth>http://wiki.openttd.org/Passenger_and_cargo_distribution
09:20<Osceola>stop
09:20<Osceola>if i move cargo to one powerstation this problem is end?
09:20<Osceola>lol)
09:22-!-supermop [~supermop@2605:a000:1121:24:959a:dc24:b6bc:fadb] has joined #openttd
09:22<Osceola>but this dont give normal game
09:22<Osceola>its a wrond
09:22<Osceola>wrong
09:23-!-Yotson [~Yotson@2001:980:6ac8:1:cd8c:6117:bab5:c82a] has quit [Ping timeout: 480 seconds]
09:23<@Alberth> http://devs.openttd.org/~alberth/manual_cargo.png
09:23<Rubidium>Osceola: by default cargo dist is disabled. Apparantly the owner of the server you played on had it enabled. If you don't like it, don't play on that server
09:24<Osceola>this server live 10 years
09:24<Osceola>and i play 10 yers there
09:24<Osceola>but ...
09:24<Osceola>...
09:24<Osceola>...
09:25<Osceola>o_O
09:26<Rubidium>alternatively you can ask the server owner to disable cargo dist, besides that having cargo dist enabled not behaving like when cargo dist is disabled is definitely not a bug
09:27-!-Suicyder [~Suicyder@86.92.59.88] has joined #openttd
09:27<Rubidium>also, the choice for the current behaviour (sending cargo to where you have a network) of cargo dist was deliberate over only sending cargo to a predetermined location (and if you don't provide a route to that location you won't see the cargo at all)
09:29<Osceola>Rubidium
09:29<Osceola>have you some minutes? )
09:30<Osceola>im have two way
09:30<Osceola>and one way moved 90% cargo
09:31<Osceola>but on station cargo remained
09:31<Osceola>to another way
09:31<Osceola>raiting low
09:31<Osceola>all bad
09:31<Osceola>i dont know
09:32<Osceola>(((
09:35<Osceola>well, go to learn this problem)
09:36-!-Osceola [kvirc@31.132.147.3] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
09:41-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has joined #openttd
09:59<andythenorth>cdist claims another victim :)
10:00-!-Yotson [~Yotson@2001:980:6ac8:1:cd8c:6117:bab5:c82a] has joined #openttd
10:02<@Alberth>3 oil goals, 2 oil wells, and 1990 in temperate map :p
10:05<supermop>Oil Valley?
10:06<@Alberth>no, just a random map
10:08<supermop>not playing SV?
10:12-!-Biolunar [Biolunar@blfd-d9bf0ec3.pool.mediaWays.net] has quit [Quit: yo.]
10:13<@Alberth>playing BusyBee
10:32-!-shadowalker [~dark@le.shadownet.io] has joined #openttd
10:51-!-estys [~stefan@178-191-38-110.adsl.highway.telekom.at] has joined #openttd
10:51-!-Jinassi [~jinassi@176.76.121.52] has joined #openttd
10:56<andythenorth>Alberth: is it any good? o_O
10:56-!-MTsPonyZzZ [~MTsPony@008-086-128-083.dynamic.caiway.nl] has quit []
10:56-!-Progman [~progman@p57A18489.dip0.t-ipconnect.de] has joined #openttd
10:59<@Alberth>it's buggy :p
10:59<@Alberth>4 oil goals, asking for goods to a town that doesn't accept it
11:00<andythenorth>ho :)
11:01-!-skrzyp [skrzyp@admin.karachan.org] has quit [Ping timeout: 480 seconds]
11:03-!-skrzyp [~skrzyp@admin.karachan.org] has joined #openttd
11:04-!-Jinassi [~jinassi@0001ec72.user.oftc.net] has quit [Quit: Nettalk6 - www.ntalk.de]
11:06<estys>hello
11:06<estys>i am having problems with creating an account on http://account.openttd.org/en/signup/step2
11:07<estys>i do not receive the activation email
11:07<estys>is this the right place to ask about that?
11:08<@Alberth>Rubidium: ^ can you solve that?
11:09<@Alberth>anti-spam measures may make email a bit slow
11:11<estys>i don't think its about slowness. already tried on 25th and never recieved a mail. also tried two different mail addresses.
11:11<@Alberth>k
11:14-!-Jinassi [~jinassi@176-76-121-52.ipv4.mobile.tusmobil.si] has joined #openttd
11:28-!-DDR [~kvirc@S010600254bbe4e1c.vc.shawcable.net] has quit [Read error: Connection reset by peer]
11:37-!-Progman [~progman@p57A18489.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
11:54<@Alberth>pushed fix for unavailable cargoes
12:11<andythenorth>yay
12:12<@Alberth>and a few more things in other commits
12:16<andythenorth>awesome :)
12:16<andythenorth>hopefully I can start a game tonight
12:17<@Alberth>how long should the time-out be?
12:17<@Alberth>10 years?
12:17<andythenorth>configurable
12:17<andythenorth>I am -1 to settings on newgrf, but +1 on GS
12:17<@Alberth>:)
12:17<andythenorth>arbitrary # months
12:17-!-hdevalence [~quassel@TOROON0319W-LP130-01-1177971395.dsl.bell.ca] has joined #openttd
12:18<andythenorth>default 60?
12:18<@Alberth>let's try that
12:34-!-smoke_fumus [~smoke_fum@188.35.176.90] has joined #openttd
12:44-!-Pereba [~UserNick@179.178.240.138] has joined #openttd
12:45<@DorpsGek>Commit by translators :: r27100 trunk/src/lang/luxembourgish.txt (2014-12-30 17:45:27 UTC)
12:45<@DorpsGek>-Update from WebTranslator v3.0:
12:45<@DorpsGek>luxembourgish - 334 changes by Phreeze
12:52<argoneus>lol
12:52<argoneus>this thread
12:52<argoneus>>OpenTTD won't let me spend money
12:59<Jinassi>he was probably involved in Ponzi scheme :)
13:36-!-Yotson [~Yotson@2001:980:6ac8:1:cd8c:6117:bab5:c82a] has quit [Quit: .]
13:37<Rubidium>Alberth: I can't at the moment, hopefully TrueBrain can see what's wrong with his account generation
13:40<Rubidium>hmm... maybe I can after finding the right database table
13:44-!-MTsPony [~MTsPony@008-086-128-083.dynamic.caiway.nl] has joined #openttd
13:48<argoneus>el psy kongroo
13:53-!-Alberth [~hat@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
13:55-!-Pensacola [~quassel@c80094.upc-c.chello.nl] has joined #openttd
14:16-!-Pereba [~UserNick@179.178.240.138] has quit [Quit: AdiIRC is updating to v1.9.6 Beta Build (2014/12/30) 64 Bit]
14:17-!-Pereba [~UserNick@179.178.240.138] has joined #openttd
14:43-!-luaduck_zzz is now known as luaduck
14:48-!-hdevalence [~quassel@TOROON0319W-LP130-01-1177971395.dsl.bell.ca] has quit [Quit: No Ping reply in 180 seconds.]
14:57<NGC3982>http://i.imgur.com/8DpI3MQ.png
14:57<NGC3982>Note the reserved track in the middle of the picture
14:57<NGC3982>How is that possible, and what on earth do i do to fix it?
14:58<Wolf01>ghost train
14:58<Wolf01>call exorcist
14:59<Wolf01>try removing one of the pieces of track outside the station and see if the other one changes status
14:59<Wolf01>then try placing safe waiting points on the tracks just outside the stations
15:01<NGC3982>I see
15:02<NGC3982>Removing the station and re-inserting it worked out.
15:02<NGC3982>Is this something new? I have never seen anything like it.
15:02<Jinassi>maybe like this? http://i.imgur.com/9VITx9P.jpg
15:03<NGC3982>:D
15:04<Wolf01>don't cross the streams! ehm, wrong quote... don't mix path and block signals!
15:04<Jinassi>reason?
15:04<Wolf01>one might be what appened to NGC3982
15:05<Wolf01>also unexpected crashes or pathfinding issues
15:07<NGC3982>I really find no reason using anything but path signals.
15:07<Jinassi>not really...block signals only reserve path per block, so having a one-way path signal for entry directs trains to empty platform, if there are more empty platforms, both entry paths can be used, path signals let outgoing trains direct to the free path to get out and trains coming in can still see platform being busy, since that path signal can let trains go both ways if needed
15:07<NGC3982>But then again, i don't really have any clue on how the rest of them work properly. :>
15:08<Wolf01>https://wiki.openttd.org/images/9/90/Station_terminus_fourtracks_pathsignals.png this should be the right way to build with path signals, with a long enough track to exit and let trains wait safer and without blocking the junction
15:08<@peter1138>Wolf01 +1
15:08-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has quit [Ping timeout: 480 seconds]
15:09<Jinassi>oh i am going to enjoy this
15:09<Jinassi>making a gif
15:09<NGC3982>How does a train block a junction without the station turned standard path signals in your example?
15:10<NGC3982>As opposed to: http://i.imgur.com/ePLowJm.png
15:11<@peter1138>What's the question?
15:11<Wolf01>I don't know what happen in your case when 2 trains finished loading at the same time, and I don't want to try :D
15:12<NGC3982>Why i need the standard path signals used in his example.
15:12<@peter1138>One reserves up to the safe waiting point, the other waits.
15:12<NGC3982>When two trains are complete at the same time the first train leave, and the other one wait.
15:12<NGC3982>Exactly.
15:12<Wolf01>I feel it's like "int x; x++;"
15:12<@peter1138>You don't need the signals at the station if it's a terminus.
15:12<@peter1138>I still think it's messy without them though ;p
15:13<Wolf01>it's a race condition, it could always go wrong, also in the better of the cases
15:13<NGC3982>I do not think it can't.
15:14<NGC3982>Does the game support two trains by accident reserving the same track without actively ignoring signals?
15:14<@peter1138>No.
15:14<Wolf01>no, because the terrain is scanned sequentially, trains work in another way
15:19-!-Pensacola [~quassel@c80094.upc-c.chello.nl] has quit [Remote host closed the connection]
15:41-!-sla_ro|master [slamaster@95.76.27.245] has joined #openttd
15:56-!-luaduck [~luaduck@0001c465.user.oftc.net] has quit [Quit: ZNC gives me a nerd boner.]
16:12-!-luaduck_zzz [~luaduck@host109-149-143-142.range109-149.btcentralplus.com] has joined #openttd
16:12-!-luaduck_zzz is now known as luaduck
16:15<Wolf01>http://img-9gag-ftw.9cache.com/photo/aZWo5x3_460s.jpg cool, bad feature... or bad brakes
16:16<Rubidium>or inattention
16:16<Rubidium>Wolf01: same issue here http://www.mp-produktie.nl/Images%20Ongevallen/2010-07-25%20Ongeval%20SLijptrein%20Stavoren%20%281%29.jpg
16:17<Wolf01>:o
16:17<Rubidium>from another angle: https://c1.staticflickr.com/5/4083/4834557749_c9f6a0a473_z.jpg
16:18<Rubidium>in this case nothing was wrong with the breaks, just a load of other things were not quite right
16:19<__ln__>a new meaning for "drive-through"
16:19-!-Tirili [~chatzilla@dslc-082-083-143-074.pools.arcor-ip.net] has joined #openttd
16:25<Wolf01>http://img-9gag-ftw.9cache.com/photo/aKgX45b_460sv.mp4 nice
16:27<Rubidium>Wolf01: looks like a huge acceleration in there
16:30-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has joined #openttd
16:31<Wolf01>if train slows down a bit, it could result in the same acceleration you have on the metro
16:33-!-Suicyder [~Suicyder@86.92.59.88] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Wibbly Wobbly IRC]
16:52-!-liq3 [~liq3@CPE-120-147-178-81.gdfw1.lon.bigpond.net.au] has quit []
16:58-!-HerzogDeXtEr [~flex@i59F6CD68.versanet.de] has joined #openttd
16:58<Rubidium>the fastest acceleration I can find for trains is just below 1 m/s^2; the train looks about 8 carriages long (-> 200 meter). At 1 m/s/s you'd pass 200 meter after about 20 seconds at which you would do 20 m/s (72 km/h). So the speed is still relatively low for such contraptions
17:06<NGC3982>1m/s/s doesn't really sound slow
17:06<NGC3982>If anyone thought so.
17:06<NGC3982>\o/
17:12-!-hdevalence [~quassel@70.48.162.12] has joined #openttd
17:44-!-kais58_ is now known as kais58|AFK
17:50-!-Progman [~progman@p57A18489.dip0.t-ipconnect.de] has joined #openttd
18:06-!-FLHerne [~flh@dsl-217-155-24-22.zen.co.uk] has joined #openttd
18:17-!-mgpl_ [~mgpl@176-58-16-246.net.e-cho.pl] has joined #openttd
18:23-!-mgpl [~mgpl@176-58-16-246.net.e-cho.pl] has quit [Ping timeout: 480 seconds]
18:25-!-andythenorth [~Andy@cpc10-aztw26-2-0-cust867.18-1.cable.virginm.net] has left #openttd []
18:25-!-Tirili [~chatzilla@dslc-082-083-143-074.pools.arcor-ip.net] has quit [Quit: ChatZilla 0.9.91.1 [SeaMonkey 2.31/20141206170135]]
18:41<Wolf01>'night
18:41-!-Wolf01 [~wolf01@0001288e.user.oftc.net] has quit [Quit: Once again the world is quick to bury me.]
18:50-!-kais58|AFK is now known as kais58_
18:51-!-estys [~stefan@178-191-38-110.adsl.highway.telekom.at] has quit [Quit: Leaving.]
19:03-!-Jinassi [~jinassi@0001ec72.user.oftc.net] has quit [Quit: Nettalk6 - www.ntalk.de]
19:36-!-Buntunub_ [~quassel@c-24-126-85-103.hsd1.va.comcast.net] has quit [Read error: Connection reset by peer]
19:55-!-Quatroking [~Quatrokin@ip226-139-211-87.adsl2.static.versatel.nl] has quit [Read error: Connection reset by peer]
20:29-!-sla_ro|master [slamaster@95.76.27.245] has quit []
20:34-!-oskari89 [oskari89@83-102-63-32.bb.dnainternet.fi] has quit []
20:43-!-TheDude [~Miranda@2.237.broadband7.iol.cz] has quit [Quit: bye]
20:51-!-FLHerne [~flh@dsl-217-155-24-22.zen.co.uk] has quit [Quit: There's a real world out here!]
21:13-!-Progman [~progman@p57A18489.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
21:25-!-Buntunub [~quassel@c-24-126-85-103.hsd1.va.comcast.net] has joined #openttd
21:45-!-Myhorta [~Myhorta@00018fad.user.oftc.net] has quit [Ping timeout: 480 seconds]
22:13-!-smoke_fumus [~smoke_fum@188.35.176.90] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
22:22-!-MJP [~mjp@hq.z77.fr] has quit [Ping timeout: 480 seconds]
22:32-!-Pereba [~UserNick@179.178.240.138] has quit [Quit: 01000001011001000110100101001001010100100100001]
22:52-!-gelignite [~gelignite@i528C368D.versanet.de] has quit [Quit: http://bit.ly/nkczDT]
---Logclosed Wed Dec 31 00:00:05 2014