I feel the same, 72 million monthly page views is about 8 pages per second even if in a single timezone (72e6 / 8h * 30d * 3600h/s) - even with today's heavy weight pages we are talking under well under 1000 req/s. Assuming they are not super image/asset heavy i would expect this to comfortably be served by a couple of reasonable old school ngnix servers[1]. If each page was a full megabyte of uncached content we are < 10Gbits/sec. Probably under 1
The build logic to decide which things to rebuild of course is probably the interesting bits but we dont need all these services... </grey-beard-rant>
edit: to be less ranty they are more or less building static sites out of their Next.js codebase but on-demand updated etc which is indeed interesting but none of this needs cloudflare/hyerscaler tech
Not sure how many customers/sites they have. Perhaps they don't want to spend CPU regenerating all sites on every deployment? They do describe a content-driven pre-warmer but I'm still unclear why this couldn't be a content-driven static site generator running on some build machine
The thing is you can still stick a CDN in front of your old school servers and just use a 'stale-while-revalidate' header to get exactly the effect described here.
We do this, but if you're redeploying fast enough thre's a change that a user loads a cached old page (or performs a client-side navigation to an old page) and makes a requests for a URL that's no longer served by the origin nor is cached by the CDN.
Yeah, as a salty greybeard i tried to tell our FE tech-lead to just render the proper HTTP Cache-Control headers in the Next.js site we recently built. He tried and then linked me to https://nextjs.org/docs/app/guides/caching and various version of their docs on when you can and cannot set Cache-Control headers (e.g. https://nextjs.org/docs/app/api-reference/config/next-config...) and I got several hours of head-ache before calling it a problem for another day. That site is not high traffic enough to care but this is not the first time that i've gotten the "not the Next.js way" talk and was not happy.
I obviously can be done but clearly is not the intended solution which really bothers me
Well, part of the Vercel game is to lock you in to their platform and extract $$$, but as I recall you can spec out headers in NextJS config?. And possibly on CloudFlare itself via cache rules?
I am self hosting using Docker. Next.js config to change header didn't work for me. I had cache rules in Cloudflare, but Next.js header for page (no-cache) doesn't allow Cloudflare to apply stale-while-revalidate.
Now that I have proper header added by HAProxy, Cloudflare cache rules for stale-while-revalidate works.
If anyone can reach Cloudflare. Please let us forcefully use stale-while-revalidate even when upstream server tells otherwise.
Stale-while-revalidate as implemented in the post was easier for us and required less resources than migrating from our dynamic site architecture to static. Ideally we would have migrated to fully static sites, but the engineering effort required to make that happen wasn't in scope.
Does it? I watched this video and the explanation of how they (mostly Bill in Vermont) did it had barely enough room for the song data. I think the line graphics might have been some good story telling
It was likely just a proof of concept run in the emulator. I'd guess it would be wildly impractical to get even that version of doom on real paper tape
One of my first legit independent contractor jobs was a background job for coldfusion-based website that needed to get partners to update their data periodically. The business had figured out that their building supply partners were more responsive to faxes than emails and had a desktop window machine with a fax-modem used for that. A quick "micro-service" in classic asp to bridge the website to the desktop machine and they made it through the last few years of common usage of faxing for these kinds of things.
"You maintain ownership of your data: This service does not claim ownership over user-generated content or materials, and the user * doesn't need to waive any moral rights* by posting owned content."
and
"You waive your moral rights"
Edit: I have no energy for figuring out which of these statements is more true.
I think in such a case (unless there was some context that clearly showed the difference between those two statements) then you as a user would benefit from contra proferentem. This legal principle (which is explicit law in some jurisdictions) says that the contract terms should be interpreted in favour of the party who did not write them.
"database" in legal/business speak (AFAIK) is the more general "organized collection of data" - not the more software engineer focused relational/object/graph- implementations of such.
The list is precisely words with multiple meanings of the same spelling, but there are only two meanings of "buffalo" that aren't proper names, and this list is about words with three or more meanings.
(As an aside, I've always felt that you can have unlimited "buffalos" in a sentence, without ever using the name of the city, through a process of recursion, but I'm not enough of an authority to get my version into the Wikipedia article...)
Yeah, not a candidate for the list. I thought it wasn't because the list was about > 2 different spellings that sound "identical" but mean different things.
I agree with you and when I (a non-linguist) first learned about this it did occur to me that there was probably some infinite recursive version and it took *some* of the fun out of it. Its' still fun as is this list.
I also suspect there are lots of good examples of whatever a word with multiple meanings with different parts of speech is called. So it should be possible to find...use many "Buffalo buffalo buffalo..."
I'd argue that that post isn't quite correct. They say you can't always add one and have it be correct, I think you can.
One word: "Police!" This is the odd-duck, you can have a one-word imperative statement telling you to police.
Rule 1: We can always have a [Noun phrase] + [verb], the verb just says what the noun phrase does.
Two words: "Police police." (Cops police) What do cops do? They police.
Rule 2: Any time you have a [noun phrase] + [verb], you can add a direct object to the verb.
Three words: "Police police police." Who do the cops police? They police other cops.
Finally rule 3: Any time you have a [subject] + [verb] + [object] you can rearrange the object to make it the subject of a new sentence. In this case, the subject of the new sentence would be "Cops that other cops police." Or "Police (that) police police."
In English, the "that" is not necessary (though it usually helps with clarity). For instance, we can say "Mice cats eat are usually the slow ones."
Then apply rule 1, we can take any noun phrase and add a verb to it to describe what those entities do. ("Mice cats eat die.")
So four words (Rule 3 + 1): "Police police police police." The cops that other cops police, themselves police.
Five words, from rule 2, who do they police? "Police police police police police."
Six words, from rules 3 + 1, rearrange and add a verb: "Police police police police police police."
hmm, yeah that's right with the imperative model you can have a grammatically correct sentence as well, so that means
the sentence
[police police] police [police]
meaning: The police police will police the police.
could also be
[police police police] police!
meaning: the members of the set police police police (those who police the special police forces that police the normal street police) commit the action of policing!
Kind of. Though it doesn't need to be in the imperative. "Cats sleep" is a fine descriptive phrase of what cats do. "Police police" is similarly a description of what cops do.
But the original article seems to have "Police police" as a noun phrase, meaning "the police of the police," and that's how it goes to infinity -- you can keep on adding another "police" to the noun phrase.
That seems uglier to me. It just a string of nouns and an assertion that the "police police" (or the "police police police") are a named thing.
My version takes a object of the sentence and makes it a noun phrase. So if the cops hunt criminals, we could make a noun phrase: the criminals that cops hunt. We can then make add a verb at the end. "Criminals cops hunt fight." (When the criminals get hunted, they get anxious and start fighting.) You can then add a object to that verb. "Criminals cops hunt fight alligators." Replace all those nouns and verbs with "police" and you get your sentence.
Wasn't fintech but was fin something. Several weeks into trying to port a Excel workbook with a zillion tabs, some VBscript from stackoverflow and other nastiness and being unable to replicate the results. I discovered the "consultant" who help them create this insane thing had turned on the "allow circular references"[1] option and choosen a number of iterations that "Seemed to make it work"
Yay! for non-deterministic financial modeling.
Also was really fun trying to explain to the folks who hired me why I couldnt get the results they wanted to see.
ha wow, read about a guy having to clean up after some data scientists that'd figured out how to use circular references and an iteration limit to do crazy, hard to replicate stuff, (thankfully) never ran into it myself but I bet that was a 'fun' time for you !
Here's to hoping we both never have to dip back into that world again :D
I expected the layout, head size, expression etc rules to be more or less standard across countries. More than a decade a go our dual citizen baby got both passports at once and I thought I could use one of the US duplicates for the other country... an hour of fiddly standards checking, measuring, reprinting, cropping and I got something that would pass on the application but got a scolding that it was not quite right.
And an IDE would also fail to find references for most of the cases described in the article: name composition/manipulation, naming consistency across language barriers, and flat namespaces in serialization. And file/path folder naming seems to be irrelevant to the smart IDE argument. "Naming things is hard"
The build logic to decide which things to rebuild of course is probably the interesting bits but we dont need all these services... </grey-beard-rant>
[1] https://openbenchmarking.org/test/pts/nginx&eval=c18b8feaeca...
edit: to be less ranty they are more or less building static sites out of their Next.js codebase but on-demand updated etc which is indeed interesting but none of this needs cloudflare/hyerscaler tech
Not sure how many customers/sites they have. Perhaps they don't want to spend CPU regenerating all sites on every deployment? They do describe a content-driven pre-warmer but I'm still unclear why this couldn't be a content-driven static site generator running on some build machine