12 ms·
I find this comment interesting given the recent (ok, continuous) talk about not using maths puzzles in programmer interviews. This is perhaps an interesting re
by Chirono 14y ago
I find this comment interesting given the recent (ok, continuous) talk about not using maths puzzles in programmer interviews. This is perhaps an interesting real-world case that demonstrates how a mathematical outlook leads to much cleaner code.
Ok, solving this kind of thing is rare, but still...
- thomasz 14y agoThe secret sauce here is not the ability to solve "maths puzzles", but specialized domain knowledge.
- ColinWright 14y agoThat's exactly the wrong way round. You can acquire domain knowledge, you can have a domain expert assigned to you to work with you. What you can't acquire, on demand, is the ability to think in the ways that mathematics gives you. That requires extensive training and practice, and recognizing when obscure bits of theory are applied is something that doesn't come overnight.
- kamaal 14y agoIts made up of both actually. Somebody outside devops would consider pervasive use of sed, awk and other unix text processing utilities line noise. Yet such a thing would come naturally to that person working on it daily. If you can't really get such stuff easily at the very first time does it mean you are a bad programmer? Not quite. The way I look at it, I would consider somebody good if he can read the documentation/theory etc and then come up solution to problems(read: can write programs). That way you know the guy can actually get some work done. It requires practice and time to get used to and comfortable to a new domain. That's natural friction you have to wear out. Regardless of whether its math, music, literature of whatever. Paying too much importance to factual stuff isn't of much use. What's more important is, can the person work his way out of the problem. I checked out your bio, I understand you do math for a living and are obviously a little defensive when some one underplays the importance of your area of expertise. But the fact of the matter is though math is relevant, the areas in which its relevant are largely either rare or are already solved and presented to most programmers as libraries and frameworks. And if its not, simple analysis, a little reading and experimenting is sufficient to solve the problem at hand. Your problem is not with programmers but with a term called abstraction. And fighting that is futile. The benefits vastly over weight any intellectual argument you can present against it. EDIT: By the way after reading your bio, I have developed atmost respect for all the work you have done in your life.
- srean 14y agoWas a fine tangential comment, till you started an unsolicited diagnosis of Colin's hypothetical disease. Downvoted.
- kintamanimatt 14y agoHuh? What hypothetical disease?
- ColinWright 14y agoHe said: Your problem is not with programmers but with a term called abstraction. And fighting that is futile. The benefits vastly over weight any intellectual argument you can present against it. Utterly bizarre, to be claiming that a pure mathematician has a problem with abstraction.
- kintamanimatt 14y agoWhy would that be a disease though? I thought he'd maybe edited his reply and said something else. Maybe I'm just tangled up in the misuse of a word though! Side note, does the theory of juggling have a mathematical underpinning?
- ColinWright 14y agoI have no idea why it would be a "disease", but he did seem to be diagnosing my attitude or "problem." Don't care. And yes, there is a great deal of mathematics underneath the structures of juggling patterns. Using them we predicted the existence of previously unknown juggling patterns, and have now used the math to create a proof that of all the juggling tricks of a certain type, we know them all (for some definition of "to know").
- srean 14y agoIt was supposed to be a metaphor, intended to highlight that no such disease is present and nor was it necessary to go about trying to diagnose what "the problem" with Colin was. diagnose <-> disease It clearly did not work as intended.
- ivix 14y agoIf you want a mathematician who can also program, that's fine. But you should be aware that that's what you actually want, and make that clear to potential applicants. The majority of development roles do not need any more mathematical knowledge than any other job.
- ColinWright 14y agoYou don't know that. The point is that mathematical insights turn up and are useful far, far more often than people expect. The problem is that the insights usually go unnoticed because there's no one with the background or skills to recognize them.
- Bjartr 14y agoFor what it's worth (I've only taken one college level course on computer vision, plus some side projects) my experience with matlab is that it's surprisingly easy to put together a short solution once you've figured out what's actually needed. The matlab CV API is very broad and pretty well documented, so it's less about knowing the math and more about reading the manual. In that regard producing a concise solution to a CV problem is very much like producing a concise solution to most other problems in any language.
- michael_h 14y agoThe MATLAB CV library is almost identical to OpenCV if you prefer C or C++.
- coliveira 14y agoIn some areas, programming is not the most important ability, but instead the understanding of the mathematics behind the phenomenon. This is the case in areas such as operations research, computer vision, and machine learning. You cannot assume that, to be a programmer, a person must know these subjects. On the other hand, creating a good algorithm in these mathematical subjects doesn't imply that you are a good programmer.
- upquark 14y agoActually math and stats applications are very common, developers could really benefit from knowing more math, recognizing known problems and applying known solutions. People just do things the dumb way more often than not, and then spend months if not years fixing the mess they've created.