Or a real person who didn't have braces?
58 karma · joined January 17, 2020
Or a real person who didn't have braces?
>type :help<Enter> or <F1> for on-line help
This is not for show!
I don't get angry at non-standard usage but I think it's important not to ignore the purpose of consistent style.
And there the idealism breaks down. Willing to pay more - which you always are if it becomes a life-or-death situation - does not mean able to pay more; able to pay more does not mean deserves it more.
I'd argue the practices that are most popularly known as 'good practices' are to avoid mistakes that are common.
[1] It's a very prettied-up domain-specific language but it's still copyleft software.
I understood:
- If governments stop funding coal, coal goes down.
- Governments are likely to stop funding coal.
- Coal is likely to go down.
- This risk isn't adequately represented.
So when you go to another project that made different decisions, what you should do is understand the decisions. It's quite easy. And that's why it's what people do do, and it's why people are capable of contributing to projects other than their first.
If you program in C++, it's the same skill you used to learn one or more of {CMake, Makefiles, scons, bash, python} except it's easier because you already understand the programming language's model.
Picking up features in a language you already use is easier than learning the language to begin with which itself is easier than learning to program at all. If you were able to read the documentation to get to 50%, you have all the skills needed to pick up the rest and get to the difficult part of picking up a new project: understanding the problem space. If you're capable of learning the meaning of an API you've never seen before - and you will, if you're not writing your last project verbatim - then you're capable of learning what a lambda means. This is not me saying that all programmers should be able to do this, it's me saying that doing this is a predicate of engineering software.
You would be amazed how many of the big players are doing exactly that. But I shouldn't talk about it any more, I work for one.
Say you have test(X). X is a random number in range A to B.
Say someone else has test_range(A, B). Instead of running for one input, it runs test for the full range of inputs.
Actually, both tests run on the same set of inputs. The difference is that, for the first test, you're not running all of the inputs at once. You're running some of the inputs with your commit, some with a colleague's later commit, some when a customer downloads the program and tries to run it... by making the input random, you're accepting the possibility of merging code that sometimes fails the tests.
And, actually, it will take you far more time running code to run the full set of inputs because there's nothing preventing you from running the same test twice.
So then I'd ask why you're not just running the full set before you commit. If it's too expensive to run, my opinion is one or more of:
A) You should be running fuzzing 24/7
B) You're using randomness as a means of avoiding deciding the inputs yourself because you don't the problem space
C) There's not actually a need to test the full set, X being 222348 is isomorphic to X being 222349.
>On the one hand, I understand the argument that random data makes your test irreproducible; so if something breaks the test, it make take a while to figure out exactly what and why fails the test.
Usually I see random tests saving the seed if they fail.
Or that the problem space is inherently difficult.
Overthinking? Well I can hardly characterise this tangent as important.
>actually
Many native French speakers use 'actually' when they mean 'currently' because of the 'actuellement' false-cognate. This looks like the same mistake but neither Swedish nor Finnish have a word that looks like 'actually' when I machine-translate 'currently'.
Any ideas?