| *** 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!