7 ms·
Tim Sort, Hamming Codes, Huffman Coding, RSA keys, LZW encoding, Duff's Device, Bloom Filter, Carmack's Reverse, awk, linux, git. We have a lot of things named
by knome 6y ago
Tim Sort, Hamming Codes, Huffman Coding, RSA keys, LZW encoding, Duff's Device, Bloom Filter, Carmack's Reverse, awk, linux, git. We have a lot of things named after those that discovered, invented or popularized a structure or technique. Certainly nowhere near as commonly as does mathematics, I will agree.
In CS, no doubt, we often end up on the other end, where a single term means different things in different contexts and beginners may get confused at our reuse of terminology. Often the reuse gives some metaphorical understanding to the newcomer, even if it largely leads them astray in the details.
- ben_w 6y agoPage rank. I thought git was named by Linus, and to the extent that it is named after him, it was self awareness of his reputation? I remember when Duff's Device was a neat trick; does anyone still use it these days? Edit: a neat trick, not a bear trick.
- DonHopkins 6y agoSpeaking of Linus, did you know the embarrassingly invalid "Linus's Law" was actually made up by Eric S Raymond, and he just blamed it on Linus? https://en.wikipedia.org/wiki/Linus%27s_law https://en.wikipedia.org/wiki/Linus%27s_law >In software development, Linus's law is the assertion that "given enough eyeballs, all bugs are shallow". >The law was formulated by Eric S. Raymond in his essay and book The Cathedral and the Bazaar (1999), and was named in honor of Linus Torvalds. [...] >Validity >In Facts and Fallacies about Software Engineering, Robert Glass refers to the law as a "mantra" of the open source movement, but calls it a fallacy due to the lack of supporting evidence and because research has indicated that the rate at which additional bugs are uncovered does not scale linearly with the number of reviewers; rather, there is a small maximum number of useful reviewers, between two and four, and additional reviewers above this number uncover bugs at a much lower rate.[4] While closed-source practitioners also promote stringent, independent code analysis during a software project's development, they focus on in-depth review by a few and not primarily the number of "eyeballs".[5] >The persistence of the Heartbleed security bug in a critical piece of code for two years has been considered as a refutation of Raymond's dictum.[6][7][8][9] Larry Seltzer suspects that the availability of source code may cause some developers and researchers to perform less extensive tests than they would with closed source software, making it easier for bugs to remain.[9] In 2015, the Linux Foundation's executive director Jim Zemlin argued that the complexity of modern software has increased to such levels that specific resource allocation is desirable to improve its security. Regarding some of 2014's largest global open source software vulnerabilities, he says, "In these cases, the eyeballs weren't really looking".[8] Large scale experiments or peer-reviewed surveys to test how well the mantra holds in practice have not been performed. >Empirical support to the validity of Linus’s law [10] was obtained by comparing popular and unpopular projects of the same organisation. Organizations like Google and Facebook are known for their quality standards. Popular projects are projects with in the top 5% number of stars (7,481 stars or more). The bug identification was measured using the corrective commit probability, ratio of commits detected to fixing bug. The analysis showed that the popular projects had more bug fixing ratio (e.g., Google’s popular projects had 27% higher bug fix rate than Google’s less popular projects). Since it is unlikely that Google lowered its quality standard in it most popular projects, this is an indication of increased bug detection efficiency in popular projects.
- ammers 6y ago> Organizations like Google and Facebook are known for their quality standards. Citation needed, especially for Facebook. The parts I saw are full of vile hacks, committed by an endless stream of new clueless devs --- young developers are of course better by the dictum of Mark Zuckerberg. I'm curious how his code looks or if he ever wrote anything substantial.
- 29athrowaway 6y agoAnd PigeonRank™: https://archive.google.com/pigeonrank/ https://archive.google.com/pigeonrank/
- yissp 6y agoPage rank is a funny one, it's named after one of its creators, but also describes what the algorithm does. Kinda like Baker's chocolate (named after Walter Baker, but is popular for baking). I wonder if there are other examples.
- Thorrez 6y agoHere's a list of them: https://news.ycombinator.com/item?id=23888725 https://news.ycombinator.com/item?id=23888725
- muzani 6y agoPage rank is probably one of the more clever names out there. I didn't realize at first it was named after the founder, as it's a good description to how it works.
- garmaine 6y agoI was today years old when I found out. I assumed it just did what it said on the tin: rank (web) pages.
- unfunco 6y agoI always saw it as nominative determinism.
- copperx 6y agoI can't believe I just realized it's named after Larry Page.
- DonHopkins 6y agorank (adj): 1. (of vegetation) growing too thickly and coarsely. 2. having a foul or offensive smell. very unpleasant. 3. (especially of something bad or deficient) complete and utter (used for emphasis).
- knome 6y ago>I thought git was named by Linus Yes, I included that one as a joke. "git" is a British slang term. Linus once quipped that he names all his projects after himself.
- labster 6y agoBloom filters prove OP’s point though. The first few times I heard the term, I wondered how a Photoshop filter to blur things could possibly apply to the problem. Maybe if it was called an exclusion filter it would be less jargony, I don’t know; naming things is hard.
- m12k 6y agoI was telling a friend about Bloom filters and he'd never looked into them, because he'd assumed from the name that they were some kind of screen space shader.
- Izkata 6y agoFor a long time I thought the algorithm or data structure used by it had some sort of metaphorical relationship to a flower blooming.
- sangnoir 6y agoHe wasn't assuming - there are Bloom shaders[1] are an item in Computer Graphics, but at least the name has intrinsic logic ("light bloom") 1. https://en.wikipedia.org/wiki/Bloom_(shader_effect) https://en.wikipedia.org/wiki/Bloom_(shader_effect)
- quickthrower2 6y agoAnd conversely why are photoshop filters even called filters!
- jldugger 6y agoPresumably because these exist: https://en.wikipedia.org/wiki/Photographic_filter https://en.wikipedia.org/wiki/Photographic_filter
- Trombone12 6y agoThe point being made is that photoshop manipulates matrices and filters are circles made of translucent material you put on your camera; and in fact many of those photographic filters don't primarily filter light but rather distorts it in some desired fashion. "Transformations" would be much more accurate.
- 29athrowaway 6y agoA few other favorites: Knuth shuffle, Levinshtein distance, Dijkstra's algorithm, Kruskal's algorithm, Kosajaru-Sharir algorithm, Bellman-Ford algorithm, Knuth-Morris-Pratt algorithm, Boyer-Moore algorithm, Rabin-Karp algorithm, Turing machines...
- repsilat 6y ago> Levinshtein distance Common enough (though there's a diversity of pronunciation and spelling of the name), though for any practical purpose probably "edit distance" works better. (And Hamming distance would probably be better called XOR distance or something.) Funny coincidence, there was a comment on HN the other day when someone called Euclidean distance "bird distance", and everyone agreed it was a great coinage. I think "Manhattan distance" is similarly evocative, and no less precise than any alternative.
- jameshart 6y agoTo some extent that reflects that in programming we encounter a mixture of naming origins between computer science (where naming follows an academic tradition that shares its heritage with Mathematics) and software engineering (where naming follows a tradition closer to that of other engineering tooling, where naming is more like branding - think 'Duck tape' or 'Allen wrench'). Often the closest thing we do to the whole 'Thurston maps are Thurston-equivalent to polynomials, unless they have Thurston obstructions' thing is that we qualify our statements about programming entities by the programming language or platform to which the statement applies. So you might reasonably have a statement like 'A JSON value consists of an array of JSON values, a map of string keys to JSON values, or a primitive value', which sounds just as self-referential as the Thurston example, but because it's called a JSON value, not a Crockford value, it sounds less conceited.
- iguy 6y agoIsn't Allen the inventor's name?
- xxs 6y agoIt is a brand name.
- iguy 6y agoSure. So is Ford. But back in 1909, it was also the name of the guy who signed the patent. Whose company name was his surname.
- xxs 6y ago>"where naming is more like branding" I meant it followed the branding pattern, so it happened the brand was derived from the name.
- iguy 6y agoI guess there's no commerce in mathematical theorems. But the use of his name as a generic (not just for products sold by the company which bought the trademark) seems similar in that it's a community decision -- we could have all decided to say "hex wrench" instead.
- m463 6y agoor acronyms.
- walrus01 6y agoVery notably things like the Shannon-Hartley Theorem. Gaussian noise. The list in physics could go on for quite a long time. Terms like "gaussian noise" are used as short versions to describe something that would need an entire paragraph if described in a verbose way, as if the reader did not understand the fundamentals of the concept.
- elgenie 6y agoCalling “gaussian noise” “normal noise”, like the associated distribution, would not lose any precision
- a1369209993 6y agoWhat does gaussian noise have to do with a vector that points orthogonal to a surface? (Not entirely rhetorical; it'd be interesting if there was a relation there.)
- DonHopkins 6y agoI thought orthogonal surface vectors were named after Abby Normal. https://www.youtube.com/watch?v=C9Pw0xX4DXI https://www.youtube.com/watch?v=C9Pw0xX4DXI
- mr_toad 6y agoIt would be harder to search for, and to a lay person it still doesn’t explain what it is. Even worse, given the ambiguity of the word ‘normal’ it could easily cause misapprehensions. Ask the person on the street what normal noise is and they’re probably going to answer in decibels. At least Gaussian noise is easily googled.
- TheRealPomax 6y agoI like the idea that git is named after the guy who discovered it.
- garmaine 6y agoGit wasn’t invented, it was discovered.
- jimmaswell 6y agoThe absolute worst is some thing I can't remember the real name of right now - I thought it was generic programming but it doesn't seem to be it. It doesn't connotate the meaning in the slightest, and even connotated something other than what it was. It was just storing a matrix or array of past return values of a function to reuse. It feels like I'm having a Mandella moment.
- ajuc 6y agoYou probably mean dynamic programming. I agree the name is awful.
- jkaptur 6y agoMemoization? Or dynamic programming? The latter is a funny story: > ... Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities. http://www.eng.tau.ac.il/~ami/cd/or50/1526-5463-2002-50-01-0048.pdf http://www.eng.tau.ac.il/~ami/cd/or50/1526-5463-2002-50-01-0...
- jimmaswell 6y agoDynamic programming is it. Thought I'd gone crazy for a minute.
- null0pointer 6y agoAre you thinking of dynamic programming? It's the most poorly named thing in CS, in my opinion. The name tells you absolutely nothing about what it is, and IIRC the name "dynamic" was chosen because it's difficult to use as a pejorative.
- aeternum 6y agoThese are good examples but would all be better and more accessible with descriptive names. I doubt anyone would allow a pull request in which a developer named the variables after team-members, so why do we condone it when it comes to R&D? Just because it's a common practice does not mean it's good.