Hacker News new | past | comments | ask | show | jobs | submit | reichstein's comments login

So you're saying that "an ask" is "an order" or "a demand", rather than "a request". Why not use those words?

I don't understand what "an ask" means. I don't know what the speaker intended with it, and I wouldn't know how a receiver would understand it.

It's just communicating badly, using words with no fixed shared meaning. Or somebody too afraid to be confrontational to phrase a demand as actually demanded.

And "learnings" is just somebody too lazy to say "lessons learned".


I'm personally convinced that the reason the conditional operator of called "the ternary operator" it's that the ANSI C Programming Language book contains the phrase "the ternary operator, ?:", and a lot of readers didn't know what "ternary" meant and thought it was a name.


This sounds reasonable to me. I used to think you could guess what someone's first programming language was based on if they wrote methods or procedures. :D


Agree, other than that I wouldn't use "2-arity". Maybe "2-ary", but that's just "binary" written confusingly. It works for "n-ary".

I'd rather say that a binary operator _has_ an arity of 2 or talk about the arity _of_ an operator.


"Success" is to achieve the intended goal, without causing new problems that outweigh the benefit of reaching that goal.

Reaching the goal is not a moral measurement, it is all about efficiency. If you don't reach the goal, your efficiency is zero. The moral question is what new problems are acceptable. That's where reasonable people can disagree.


success without morals is exactly how we got into this age of enshittification. We got customers on lock, easy "success" to make a Big Mac $8 and mine data from an app, or retroactively increase our subscriptions from $10 to $20/month.

Maybe we should integrate that social value into "success" more often. Facebook was probably the most successful company, so successful laws are being made to reel their patterns in. It wasn't illegal before though, so success?


Many quick-sort implementations are deterministic, so will consistently have their worst case behavior on the same inputs again and again. The good ones try to do a little better than choosing the center element as pivot, but with a well crafted input, it can easily become polynomial anyway.

Luckily sorting is something you can easily choose another implementation of, if the default over didn't fit your use-cade, unlike the GC built into the single language implementation that your customer uses.


I take it there are languages that are locked to a particular GC, and this is a point of pain and friction? A good garbage collected language would make automated memory management both optional and modular. I recall D having a GC that can be disabled?


That's not how it works.

Maybe if I'm given two colors inside that range, I can say which is bluer and which is greener. Given just one color, I simply cannot say that it's green or blue, or even if it's more green than blue or vice versa.

I stopped at the 3rd or 4th come because I couldn't give a honest answer. That makes the test useless. I can't complete it with correct answers, and if I give incorrect answers, the conclusion is useless.


The word "development" can mean several things. I don't think "software development" sounds bad when grouped with a phrase like "urban development". It describes growing and tuning software for, well, working better, solving more needs, and with fewer failure modes.

I do agree that a "coder" creates code, and a programmer creates programs. I expect more of a complete program than of a bunch of code. If a text says "coder", it does set an expectation about the professionalism of the text. And I expect even more from a software solution created by a software engineer. At least a specification!

Still, I, a professional software engineer and programmer, also write "code" for throwaway scripts, or just for myself, or that never gets completed. Or for fun. I will read articles by and for coders too.

The word is a signal. It's neither good nor bad, but If that's not the signal the author wants to send, they should work on their communication.


> If that's not the signal the author wants to send

You can't use a language that will be taken by everyone the same way. The public is heterogeneous - its subsets will use different "codes".


The way I'd describe it is:

- You have a buffer. You initially try to fit every unique word on there. - If the buffer gets full, you know that you can't fit all the unique words in there. So you decide to keep only a fraction, _p1_, of them. Run through the buffer, keep each value with probability _p1_. - Keep adding new words, again only with probability _p1_. - If the buffer gets full again, _p1_ was too large, so you choose a lower fraction, _p2_, retain existing elements only with probability _p2_/_p1_, and continue adding new words with probability _p2_. - Every time the buffer gets full, you lower the faction of words you try to retain.

The choice of using _pn_ = (1/2)^n is just easy for a computer, it only needs entire random bits at each step.

What I _don't_ get is how this is correct for counting unique words. If I have a text of 16384 unique words, then I can accept that each will be in the final list with the same probability. But if I take that list and repeat the last word 30000 times, then it becomes overwhelmingly plausible that that word is in the final list, even though I haven't changed the number of unique words. Maybe there is some statistical property that evens things out, but I couldn't see it from the article.


And I got it. When the algorithm sees a word that is already in the list, it discards the word in the list first. Then it adds the word again with the same probability as any other word. This ensures that only the last occurrence of each word can occur in the final list, so the final occurrence of each word are all in the final list with the same probability, and prior occurrences are always removed, if no earlier then when the next occurrence is seen.

If the input is known to be large, there is no reason to start by adding every element. It can treat the first round like any other, and start out with a _p0_ that is smaller than 1.


NAND gates are enough to computer any boolean function. Being Turing complete requires some notion of state and state transition.

However, a RAM machine where the program counter is memory mapped, can be Turing complete with a [single machine instruction]( https://en.m.wikipedia.org/wiki/One-instruction_set_computer).


Pretty much. _Language_ is how we propagate meaning.

Words are units of language, that can be used to build larger composite language constructs. (And words, _when written_, are themselves built from smaller syntactic units, letters, at least in non-idiographic writing. But words exist independent of writing, writing is just one way to represent words and language.)

And as with everything human, context is important. The same word can have different uses, and the receiver depends on context to determine which meaning the word should carry. That context can come from the grammar (is it a noun or a verb?), pronunciation (it's really a different word then, it just happens to be spelled the same), and general social context (where are we, and what are we talking about?)

It's all pragmatic. It's what we have made to work. Building larger things from smaller things is how we've made language scale to thousands of words, millions of books, which can all still be read my most people. (And maybe understood.)

The article seems to be about a discussion that is really about proper names. That's a more philosophical discussion because it touches on "identity", what it means to be "the same".

But even names are usually just context dependent designators for an entity that all the participants already (are expected to) agree on what is. That's why using a name is enough to designate it.

Language isn't deep. If it was, it wouldn't work. Anything that two people can agree on, can be used to transfer meaning.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: