It's not clear to me what the target audience of this article is. It seems to assume everyone knows what greylisting and greytrapping are; but surely the people who know what those terms mean without explanation are already convinced?
I picked up from context the general idea behind "greylisting", although I'm sure there's a lot of details that aren't covered. (How do you chose what domain gets greylisted? How often, how long?). But what "greytrapping" is, I can't guess, even after reading the entirety of two of his articles.
From the linked articles, I understand "greytrapping" to be adding clients that attempt delivery to an invalid address and don't retry when greylisted to a deny list.
I think the point is that sometimes variables are defined by the language spec as initialized to zero, and sometimes they aren't.
Perhaps what you mean is, "Nothing is to be gained by relying on the language spec to initialize things to zero, and a lot is lost"; I'd agree with that.
Not trying to be pedantic. When I hear "leave it to the compiler", I normally think, "let the compiler optimize it, rather than optimizing it yourself". The compiler is doing the initialization either way, but in one case you're relying on a correct understanding of minutiae of the language spec (both for you and all future readers and writers of the code), in another case you're explicitly instructing the compiler to initialize it to zero.
Yes and I'm saying that in this case the correct and practical choice is to be explicit. No one needs to go read the standard to know that two fields defaulted to false in the strict definition are defaulted to false...
Compilers implement the parts of the standard they agree with, in the way they think is best. They also implement it in the way they understand the standardese.
Read a complex enough project that's meant to be used across compiler venrdos and versions, and you'll find plenty of instances where they're working around the compiler not implementing the standard.
Also, if you attended the standards committee, you would hear plenty of complaints from compiler vendors that certain things are implementable. Sometimes the committee listens and makes changes, other times they put their fingers in their ears and ignore reality.
There are also plenty of places where the standard lets the compiler make it's own decision (implementation defined behavior). You need to know what your compiler vendor(s) chose to do.
tl;dr: With a standard as complex as C++'s, the compilers very much do not just "implement the standard". Sometimes you can get away with pretending that, but others very much not.
The standard (to the extent that it is implemented) is implemented by compilers.
At this point this whole thread has nothing to do with my original point, just weird one-upping all around
Lots of courts think differently. In particular, Visio already tried to move the case from a state court to a federal court, on the grounds that this is only about copyright (over which apparently only federal courts have jurisdiction). The federal court denied that, saying that there was indeed a contract, and thus it should be sorted out in the state courts.
Based on comments in here and people willing to pay I wonder why they haven't got the Wikipedia route of getting donations, would that piss off a lot of users? I do think most people would understand a non-profit needs donations.
> That's like saying, "Nobody wants Adwords; people want Chrome."
Bad comparison, but I understand your point.
> Salaries have to be paid somehow.
I would be interested in knowing how much of what Mozilla does brings money. Isn't it almost exclusively the Google contract with Firefox?
As a non-profit, Mozilla does not seem to be succeeding with Firefox. Mozilla does a lot of other things (I think?) but I can't name one off the top of my head. Is Google paying for all of that, or are the non-Firefox projects succeeding? Like would they survive if Firefox was branched off of Mozilla?
And then would enough people ever contribute to Firefox if it stopped getting life support from Google? Not clear either.
It's a difficult situation: I use Firefox but I regularly have to visit a website on Chrom(ium) because it only works there. It doesn't sound right that Google owns the web and Firefox runs behind, but if Chrome was split from Google, would it be profitable?
I'm not sure why you think so; it seems pretty close to me. Chrome and Firefox are exact competitors; both require a large amount of development investment. Neither one are being charged for, which means their development needs to be supported some other way.
The people using Chrome don't want Adwords, but it's Adwords that is paying for Chrome's development. People using Firefox don't want email or Mozilla certificates or what-not, but something needs to fund Firefox's development.
> ...if Chrome was split from Google, would it be profitable?
They'd have to figure out a different business model, wouldn't they?
As a solo bootstrapped founder, I take my sabbath sundown on Saturday to sundown on Sunday. Sunday evening therefore is generally the start of my work week.
So it might be a hack to get it to take another way -- rather than invent some way of marking a road section as being closed, mark it as being 1000 miles long?
> ChatGPT is not "intelligence", so please don't call it "AI". I define "intelligence" as being capable of knowing or understanding, at least within some domain.
Great -- another "submarines can't swim" person. [EDIT2: Apparently this is not his position, although it's only clear in a different page he links to. See below.]
By this definition nothing is AI. Quite an ignorant stance for someone who used to work at an AI laboratory.
ETA:
> Please join me in spreading the word that people should not trust systems that mindlessly play with words to be correct in what those words mean.
Please join me in spreading the counterargument to this: The best way to predict a physical system is to have an accurate model of a physical system; the best way to predict what a human would write next is to have a model of the human mind.
"They work by predicting the next word" does not prove that they are not thinking.
EDIT2, con't: So, he clarifies his stance elsewhere [1]. His position appears to be:
1. Systems -- including both "classical AI" systems like chess and machine learning / deep learning systems -- can be said to have semantic understanding, even if they are not 100% correct, if there has been some effort to "validate" the output: to correlate it to reality.
2. ChatGPT and other LLMs have had no effort to validate their output
3. Therefore, ChatGPT and other LLMs have no semantic understanding.
#2 is not stated so explicitly. However, he actually goes into quite a bit of detail to emphasize the validation part in #1, going so far as to describe completely inaccurate systems still count as "attempted artificial intelligence" because they "purport to understand". So the only way #3 makes any sense is for #2 to be presented as stated.
And, #2 is simply and clearly false. All the AI labs go to great lengths to increase the correlation between the output of their AI and the truth ("reduce hallucination"); and have been making steady progress.
So to state it forwards:
1. According to [1], a system's output can reflect "real knowledge" and a "semantic understanding" -- and thus qualify as "AI" -- if someone "validate[s] the system by comparing its judgment against [ground truth]".
2. ChatGPT, Claude, and others have had significant effort put into them to validate them against ground truth.
3. So, ChatGPT has semantic understanding, and is thus AI.
Are you saying that LLMs _do_ have a model of the human mind in their weights?
Imagine you use an ARIMA model to forecast demand for your business or the economy or whatever. It's easy to say it doesn't have a 'world model' in the sense that it doesn't predict things that are obvious only if you understand what the variables _mean_ implicitly. But in what way is it different from an LLM?
> Are you saying that LLMs _do_ have a model of the human mind in their weights?
On topics with "complicated disagreements", an important way of moving forward is to find small things where we can move forward.
There are a large number of otherwise intelligent people who think that "LLMs work by predicting the next word; therefore LLMs cannot think" is a valid proposition; and since the antecedent is undoubtedly true, they think the consequent is undoubtedly true, and therefore they do not need to consider any more arguments or evidence.
If I can do one thing, it would be to show people that this proposition is not true: a system which did think would do better at the "predict the next word" task than a system which did not think.
You have to come up with some other way to determine if a system is thinking or not.
When I studied computer science, the artificial intelligence practical courses were things like building a line-follower robot or implementing a border detection algorithm based on difference of gaussians.
Anyone calls anything "AI" and I think it is fair to accept that other people trace the line somewhere else.
I think I'd define "classical" AI as any system where, rather that putting in an explicit algorithm, you give the computer a goal and have it "figure out" how to achieve that goal.
By that definition, SQL query planners, compiler optimizers, Google Maps routing algorithms, chess playing algorithms, and so on were all "AI". (In fact, I'm pretty sure SQLite's website refers to their query planner as an "AI" somewhere; by classical definitions this is correct.)
But does an SQL query planner "understand" databases? Does Stockfish "understand" chess? Does Google Maps "understand" roads? I doubt even most AI proponents would say "yes". The computer does the searching and evaluation, but the models and evaluation functions are developed by humans, and stripped down to their bare essentials.
RMS might say yes, here's from the linked page describing other things as having knowledge and understanding:
> There are systems which use machine learning to recognize specific important patterns in data. Their output can reflect real knowledge (even if not with perfect accuracy)—for instance, whether an image of tissue from an organism shows a certain medical condition, whether an insect is a bee-eating Asian hornet, whether a toddler may be at risk of becoming autistic, or how well a certain art work matches some artist's style and habits. Scientists validate the system by comparing its judgment against experimental tests. That justifies referring to these systems as “artificial intelligence.”
Thanks -- that's not at all clear in this post (nor is it clear from the link text that its target would include a more complete description of his position).
I've updated my comment in response to this. Basically: It seems his key test is "Is someone validating the output, trying to steer it towards ground truth?" And since the answer re ChatGPT and Claude is clearly "yes", then ChatGPT clearly does count as an AI with semantic understanding, by his definition.
> I think it is fair to accept that other people trace the line somewhere else.
It's a pointless naming exercise, no better than me arguing that I'm going to stop calling it quicksort because sometimes it's not quick.
It's widely called this, it's exactly in line with how the field would use it. You can have your own definitions, it just makes talking to other people harder because you're refusing to accept what certain words mean to others - perhaps a fun problem given the overall complaint about LLMs not understanding the meaning of words.
First of all, it's not unlikely that the dentist is the owner. And in any case, when you have a small system of less than 150 people, it's easy enough for a handful of people to see what's actually going on.
Once you get to something in the thousands or tens of thousands, you just have spreadsheets; and anything that doesn't show up in that spreadsheet might as well not exist. Furthermore, you have competing business units, each of which want to externalize their costs to other business units.
Very similar to what GP described -- when I was in a small start-up, we had an admin assistant who did most of the receipt entry and what-not for our expense reports; and we were allowed to tell the company travel agent our travel constrants and give us options for flights. When we were acquired by a larger company, we had to do our own expense reports, and do our own flight searches. That was almost certainly a false economy.
And then when we became a major conglomerate, at some point they merged a bunch of IT functions; so the folks in California would make a change and go home, and those of us in Europe or the UK would come in to find all the networks broken, with no way to fix it until the people in California started coming in at 4pm.
In all cases, the dollars saved is clearly visible in the spreadsheet, while the "development velocity" lost is noisy, diffuse, and hard to quantify or pin down to any particular cause.
I suppose one way to quantify that would be to have the Engineering function track time spent doing admin work and charge that to the Finance function; and time spent idle due to IT outages and charge that to the IT department. But that has its own pitfalls, no doubt.
Problem with this analogy is that software development != revenue. The developers and IT are a cost center. So yea in a huge org one of the goals is to reduce costs (admin) spent on supporting a cost center.
Doctors generate revenue directly and it can all be traced, so even an extra 20 minutes out of their day doing admin stuff instead of one more patient or procedure is easily noticeable, and affects revenue directly.
You mean, there's a 1-1 correlation between the amount of pointless admin a doctor has to do and the number of patients he sees (and thus the revenue of the clinic). It should be visible on the spreadsheet. Whereas, there's not a 1-1 correlation between the pointless admin a software engineer has to do and the number of paying customers a company gets.
But then, why do large orgs try to "save costs" by having doctors do admin work? Somehow the wrong numbers get onto the spreadsheet. Size of the organization -- distance between the person looking at the spreadsheet and the reality of people doing the work -- likely plays a big part in that.
I picked up from context the general idea behind "greylisting", although I'm sure there's a lot of details that aren't covered. (How do you chose what domain gets greylisted? How often, how long?). But what "greytrapping" is, I can't guess, even after reading the entirety of two of his articles.
reply