*** harrykar has quit IRC | 00:16 | |
*** nb has quit IRC | 00:52 | |
*** nb has joined #cc | 00:57 | |
*** nb has quit IRC | 00:57 | |
*** nb has joined #cc | 01:00 | |
*** JoiIto has left #cc | 01:12 | |
*** JED3 has quit IRC | 01:24 | |
*** mralex has quit IRC | 01:24 | |
*** luisv has quit IRC | 01:41 | |
*** JED3 has joined #cc | 01:43 | |
*** nathany has quit IRC | 01:44 | |
*** pyrak has quit IRC | 01:54 | |
*** jgay has quit IRC | 02:13 | |
*** JoiIto has joined #cc | 03:40 | |
*** JED3 has quit IRC | 03:49 | |
*** pyrak has joined #cc | 03:53 | |
*** oshani has quit IRC | 03:58 | |
*** oshani has joined #cc | 04:05 | |
*** wormsxulla has quit IRC | 04:15 | |
*** wormsxulla has joined #cc | 04:34 | |
*** luisv has joined #cc | 04:40 | |
*** luisv has quit IRC | 04:56 | |
*** luisv has joined #cc | 05:00 | |
*** oshani has quit IRC | 05:03 | |
*** luisv has quit IRC | 05:09 | |
*** nkinkade has quit IRC | 05:16 | |
*** Kaetemi has quit IRC | 05:28 | |
*** Kaetemi has joined #cc | 05:30 | |
*** pyrak has quit IRC | 06:16 | |
*** Kaetemi has quit IRC | 07:02 | |
*** sama has joined #cc | 07:33 | |
*** DyabLo has joined #cc | 08:35 | |
DyabLo | any cc here | 08:36 |
---|---|---|
*** DyabLo has quit IRC | 09:32 | |
*** tantek has joined #cc | 09:52 | |
*** tantek has quit IRC | 09:59 | |
*** wormsxulla has quit IRC | 10:48 | |
*** wormsxulla has joined #cc | 10:49 | |
*** anttil has quit IRC | 11:05 | |
*** anttil has joined #cc | 11:22 | |
*** oshani has joined #cc | 11:51 | |
*** oshani has quit IRC | 12:02 | |
*** JoiIto has quit IRC | 12:03 | |
*** bassel has joined #cc | 13:23 | |
*** oshani has joined #cc | 14:02 | |
*** oshani has quit IRC | 14:08 | |
*** luisv has joined #cc | 15:28 | |
*** nkinkade has joined #cc | 15:40 | |
*** parker-fcnyu has joined #cc | 16:00 | |
*** nathany has joined #cc | 16:20 | |
*** pyrak has joined #cc | 16:22 | |
*** jgay has joined #cc | 16:28 | |
*** Kaetemi has joined #cc | 16:34 | |
*** stevecam has quit IRC | 16:45 | |
*** luisv has quit IRC | 16:55 | |
*** nb has quit IRC | 17:04 | |
*** nb has joined #cc | 17:06 | |
*** sama has quit IRC | 17:14 | |
*** parker-fcnyu has quit IRC | 17:15 | |
*** stevecam has joined #cc | 17:20 | |
*** stevecam has quit IRC | 17:28 | |
*** stevecam has joined #cc | 17:31 | |
*** mralex has joined #cc | 17:47 | |
*** akozak has joined #cc | 17:53 | |
*** JED3 has joined #cc | 17:59 | |
akozak | anyone have any good ideas on how to get 7.5gb of flip video to our sj contractor in utah? i was thinking 8gb usb drive. thats about 48 kb/s if it takes 48 hours. | 18:13 |
akozak | i could encode it too... | 18:13 |
akozak | could zip it, mark it as avatar 2, seed a torrent | 18:15 |
paroneayea | heh | 18:17 |
paroneayea | mailing disks is a good technique if you don't have anything better. | 18:18 |
paroneayea | Maybe alternately we could compress the file and scp it to one of our servers and just give him the link to download it? | 18:18 |
paroneayea | nkinkade: ^ | 18:18 |
akozak | nevermind, i just realized hes going to be here in a week. | 18:19 |
akozak | thanks though paroneayea | 18:19 |
paroneayea | that works too :) | 18:19 |
paroneayea | that's a really fast transfer rate, if you can put it on a disk and just and it to him | 18:20 |
paroneayea | 7.5gb/second | 18:20 |
paroneayea | 1 second transfer | 18:20 |
paroneayea | *and hand it to him | 18:20 |
akozak | but thats not end to end | 18:22 |
akozak | hes merely part of the transfer :) | 18:23 |
akozak | unless he put it in right away | 18:23 |
akozak | ... | 18:23 |
paroneayea | true :) | 18:25 |
paroneayea | you should make sure he brings his laptop | 18:25 |
paroneayea | say it's urgent | 18:25 |
paroneayea | "I really need to plug this in immediately so I can brag about the transfer speed I'm getting here" | 18:25 |
akozak | haha | 18:26 |
akozak | hmmm, test results from broadband.gov for the office: 5024 down/630 up, 20ms latency, 1ms jitter | 18:28 |
*** oshani has joined #cc | 18:32 | |
*** oshani has quit IRC | 18:38 | |
*** JoiIto has joined #cc | 18:42 | |
*** oshani has joined #cc | 18:44 | |
*** oshani has quit IRC | 18:49 | |
*** luisv has joined #cc | 18:53 | |
akozak | im troubled by check images showing up in my online checking account history | 19:02 |
akozak | if i cash a check, whoever gave it to me has my acct number from the back | 19:02 |
*** michi_ has joined #cc | 19:07 | |
nathany | akozak, #cc is for Creative Commons, not check cashing; wrong channle | 19:08 |
nathany | ;) | 19:08 |
*** TDJACR has quit IRC | 19:09 | |
*** NotADJ has joined #cc | 19:09 | |
*** NotADJ is now known as TDJACR | 19:09 | |
akozak | haha | 19:11 |
akozak | im gonna bridge the gap between the two cc's one day | 19:11 |
akozak | haha oops | 19:12 |
akozak | oh shit here comes an s | 19:12 |
*** bassel_ has joined #cc | 19:44 | |
*** bassel has quit IRC | 19:46 | |
JED3 | nothing better than a newly passing test suite | 19:55 |
paroneayea | :) | 19:57 |
paroneayea | what about world peace? | 19:57 |
JED3 | pssh | 19:58 |
paroneayea | maybe we just need to make unit tests for sustainability and world peace | 20:00 |
paroneayea | and keep massaging the code until they pass | 20:00 |
akozak | that's already what's happening :) | 20:01 |
akozak | organizations are like functions | 20:02 |
akozak | or something | 20:02 |
JED3 | akozak: yeah but the coverage is god awful | 20:02 |
akozak | i do not get that engineering joke | 20:02 |
akozak | haha | 20:02 |
JED3 | hehe, coverage is a percentage of the lines/files/packages of code that actually get executed when you run unit tests | 20:04 |
akozak | ohh | 20:05 |
akozak | interesting | 20:05 |
akozak | good joke then | 20:05 |
akozak | so you don't unit test everything? | 20:05 |
akozak | what do you test then? | 20:06 |
JED3 | akozak: well you do but often there are blocks and conditions that are overlooked | 20:07 |
akozak | i get very confused thinking about code testing. | 20:07 |
*** JoiIto has quit IRC | 20:09 | |
akozak | to me it seems like testing a math proof after you've already proved it generally | 20:09 |
akozak | but then again i know nothing about it | 20:09 |
paroneayea | akozak: so, imagine you wrote a program, and it has tons of connections and dependencies on other libraries | 20:11 |
paroneayea | what happens if one piece of code in your program, or in a completely separate library you depend on, changes how it works? | 20:11 |
paroneayea | what if that breaks or changes the behavior of your other piece of code? | 20:12 |
paroneayea | or what if you need to refactor your codebase, change the database or something? | 20:12 |
paroneayea | unit tests make sure all the individual "units" of the code keep working as the rest of the structure changes around them | 20:12 |
akozak | ah i see. so tests are created and then reused | 20:12 |
akozak | but what about the tests? do you have tests for test? | 20:13 |
paroneayea | very rarely :) | 20:13 |
paroneayea | if you have a big structure that a lot of your tests use | 20:13 |
paroneayea | like a fake database system to mock your real database working | 20:13 |
akozak | this reminds me of a paradox from game theory. wonder if i can find it... | 20:13 |
paroneayea | you may want to make sure the fake database keeps working | 20:13 |
paroneayea | but usually people do not test their tests. | 20:13 |
JED3 | akozak: here is a simple example http://code.creativecommons.org/viewgit/commoner.git/tree/src/commoner/works/tests/test_basic.py | 20:15 |
JED3 | this is a test that makes sure that the register works pages on CC Network are working normally | 20:16 |
akozak | ah | 20:16 |
akozak | not as complex as id have thought | 20:16 |
akozak | i sort of thought unit tests were tests to generate every possible input and evaluate the limits of the code youre testing | 20:16 |
akozak | as in consider all inputs, see where the code fails | 20:17 |
JED3 | yeah, here is another simple example that deals with the licenses http://code.creativecommons.org/viewgit/cc.license.git/tree/cc/license/tests/test_cc_license.py | 20:17 |
paroneayea | a really good example a friend was telling me about: | 20:18 |
paroneayea | he does contracting for some big accounting system | 20:19 |
paroneayea | they use some shitty proprietary database, and the vendor says "hey we made a change, just drop it in, you don't even need to test it rigorously, it's like a one line change" | 20:19 |
paroneayea | my friend said, "hold on, let me run my tests just to be sure" | 20:20 |
paroneayea | well, he had a test that made sure that it should return something like 284 accounts to have their accounts charged or something | 20:20 |
paroneayea | with the new database, it was only returning 40 or something | 20:20 |
paroneayea | so the test failed, and they were able to recognize that that "simple, no need to test database change" really actually made a significant difference for some reason | 20:21 |
paroneayea | so they contacted the database vendor and they fixed it | 20:21 |
akozak | thats awesome | 20:23 |
JED3 | another example would be for test driven development, where tests are written first before all else and they serve almost like blueprints for your program | 20:25 |
JED3 | which is what made rewriting the rest api that much easier, i already had a test suite built for me from the previous api | 20:26 |
akozak | weeiirrd | 20:26 |
paroneayea | which makes sense in certain circumstances, although I think there are a lot of test driven-development blowhards | 20:26 |
paroneayea | yeah, it's a lot easier when you already *had* an example of how it worked | 20:26 |
paroneayea | like with the api, you knew how it was going to work | 20:26 |
akozak | This is the problem test suites remind me of, but on second glance it's only barely related: http://en.wikipedia.org/wiki/Two_Generals'_Problem | 20:27 |
paroneayea | same thing with the cc0 formatters, I wrote the tests first since I already knew how the old cc0's formatters outputs are | 20:27 |
paroneayea | but | 20:27 |
paroneayea | as said I think there are a bunch of TDD blowhards out there | 20:27 |
JED3 | paroneayea: i totally agree, TDD has only worked for me a few times and its only been for those certain cases like api's or spec'ed services | 20:27 |
JED3 | haha the cc.api test suite takes 10 minutes to complete, reminds of http://xkcd.com/303/ except s/compiling/testing/g | 20:28 |
paroneayea | heh, yeah | 20:29 |
paroneayea | I think 3d artists have the same excuse with "rendering" | 20:29 |
paroneayea | hold on, rendering my image | 20:29 |
akozak | I guess that the Two general's problem is related in that you might be uncertain whether your test was accurate | 20:30 |
akozak | and develop a test for that test, and so on | 20:30 |
paroneayea | akozak: In most cases I think people know pretty clearly what they want for their output | 20:30 |
paroneayea | for example, a pluralize test: | 20:30 |
paroneayea | assert pluralize('dog') == 'dogs' | 20:31 |
paroneayea | assert pluralize('goose) == 'geese' | 20:31 |
paroneayea | most tests are just giving an input and making sure the output is as expected | 20:31 |
akozak | brb lunch, will continue this in a bit :) | 20:31 |
paroneayea | there are some more complicated test patterns such as testing the internals of a function by mocking up the internals and passing in the mockups | 20:31 |
paroneayea | but those are more rare | 20:32 |
paroneayea | well, for me anyway :P | 20:32 |
*** wer-ist-roger has joined #cc | 20:55 | |
*** wormsxulla has quit IRC | 21:01 | |
*** wormsxulla has joined #cc | 21:20 | |
*** wormsxulla has quit IRC | 21:31 | |
*** michi_ has quit IRC | 21:33 | |
*** oshani has joined #cc | 21:35 | |
akozak | "In addition, writing code for a unit test is as likely to be at least as buggy as the code it is testing. Fred Brooks in The Mythical Man-Month quotes: never take two chronometers to sea. Always take one or three. Meaning, if two chronometers contradict, how do you know which one is correct?" | 21:36 |
akozak | http://en.wikipedia.org/wiki/Unit_testing | 21:36 |
akozak | interesting | 21:36 |
*** wormsxulla has joined #cc | 21:37 | |
akozak | so here's another question about code testing: do you automate it so that every change in the repo gets checked against the code? | 21:39 |
akozak | *test code* | 21:39 |
paroneayea | akozak: if both of them are broken you at least know that things are broken | 21:45 |
paroneayea | there are sytems to make sure the tests are always passing | 21:46 |
paroneayea | look into "continuous integration" | 21:46 |
paroneayea | we don't do it here, probably should though :) | 21:46 |
greg-g | There is a launchpad/canonical project that won't allow commits to happen to trunk unless the code change passes all tests | 21:47 |
greg-g | it does this by everything going through their Patch Queue Manager (PQM) | 21:48 |
paroneayea | yeah some people do that | 21:48 |
greg-g | just pushing myself into the conversation, don't mind me :) | 21:48 |
akozak | heh, your tests better be prefect then. | 21:48 |
paroneayea | unit tests aren't the only answer to good code though | 21:49 |
paroneayea | I had to go through some pretty hardcore code reviews to get anything checked in at google | 21:49 |
paroneayea | maybe it wasn't as hardcore as I thought at the time since that was the first professional code I ever wrote, and never had gotten chastized on bad style, lack of tests, no docs before :) | 21:50 |
akozak | i wonder if it might be better practice to have one person write the code, the other write the tests | 21:51 |
akozak | another* | 21:51 |
paroneayea | iirc someone else had to mark your code as reviewed for you to check in your code though, so there's another system. Code reviews are huuuugely time consuming though | 21:51 |
akozak | heh, im starting to see many similarities between publishing code and publishing academic papers | 21:53 |
akozak | maybe academics ought to start unit testing their arguments :P | 21:54 |
akozak | or paragraphs | 21:54 |
paroneayea | yes I suppose academics do code reviews already | 21:54 |
paroneayea | code reviews == peer reviews | 21:54 |
akozak | and both get chastised for style even though it doesn't necessarily affect functionality, and documentation is kinda like the conference presentation | 21:55 |
paroneayea | that's the main reason we stopped doing code reviews at imaginary landscape | 21:56 |
paroneayea | people were just bikeshedding about the style guide | 21:56 |
paroneayea | instead of looking at how things were actually running | 21:56 |
paroneayea | I guess that is inevitable whenever you have a standard of style and a peer review system | 21:57 |
paroneayea | it's easiest to nitpick style, so that's what gets nitpicked most | 21:58 |
akozak | yea | 21:58 |
*** wer-ist-roger has quit IRC | 22:05 | |
*** bassel_ has quit IRC | 22:40 | |
*** jgay has quit IRC | 22:40 | |
*** JoiIto has joined #cc | 22:43 | |
*** pyrak has quit IRC | 23:10 | |
*** JoiIto has quit IRC | 23:39 | |
*** pyrak has joined #cc | 23:39 | |
JED3 | paroneayea: ping | 23:41 |
Generated by irclog2html.py 2.6 by Marius Gedminas - find it at mg.pov.lt!