Bonum Certa Men Certa

Techrights Coding Projects: Making the Web Light Again

A boatload of bytes that serve no purpose at all (99% of all the traffic sent from some Web sites)

Very bloated boat



Summary: Ongoing technical projects that improve access to information and better organise credible information preceded by a depressing overview regarding the health of the Web (it's unbelievably bloated)

OVER the past few months (since spring) we've been working hard on coding automation and improving the back end in various ways. More than 100 hours were spent on this and it puts us in a better position to grow in the long run and also improve uptime. Last year we left behind most US/USPTO coverage to better focus on the European Patent Office (EPO) and GNU/Linux -- a subject neglected here for nearly half a decade (more so after we had begun coverage of EPO scandals).



As readers may have noticed, in recent months we were able to produce more daily links (and more per day). About a month ago we reduced the volume of political coverage in these links. Journalism is waning and the quality of reporting -- not to mention sites -- is rapidly declining.

"As readers may have noticed, in recent months we were able to produce more daily links (and more per day)."To quote one of our guys, "looking at the insides of today's web sites has been one of the most depressing things I have experienced in recent decades. I underestimated the cruft in an earlier message. Probably 95% of the bytes transmitted between client and server have nothing to do with content. That's a truly rotten infrastructure upon which society is tottering."

We typically gather and curate news using RSS feed readers. These keep sites light and tidy. They help us survey the news without wrestling with clickbait, ads, and spam. It's the only way to keep up with quality while leaving out cruft and FUD (and Microsoft's googlebombing). A huge amount of effort goes into this and it takes a lot of time. It's all done manually.

"We typically gather and curate news using RSS feed readers. These keep sites light and tidy. They help us survey the news without wrestling with clickbait, ads, and spam.""I've been letting wget below run while I am mostly outside painting part of the house," said that guy, having chosen to survey/assess the above-stated problem. "It turns out that the idea that 95% of what web severs send is crap was too optimistic. I spidered the latest URL from each one of the unique sites sent in the links from January through July and measured the raw size for the individual pages and their prerequisites. Each article, including any duds and 404 messages, averaged 42 objects [3] per article. The median, however, was 22 objects. Many had hundreds of objects, not counting cookies or scripts that call in scripts.

"I measured disk space for each article, then I ran lynx over the same URLs to get the approximate size of the content. If one counts everything as content then the lynx output is on average 1% the size of the raw material. If I estimate that only 75% or 50% of the text rendered is actual content then that number obviously goes down proportionally.

"I suppose that means that 99% of the electricity used to push those bits around is wasted as well. By extension, it could also mean that 99% of the greenhouse gases produced by that electricity is produced for no reason.

"The results are not scientifically sound but satisfy my curiosity on the topic, for now.

"Eliminating the dud URLs will produce a much higher object count.

“The results are not scientifically sound but satisfy my curiosity on the topic, for now.”
      --Anonymous
"Using more mainstream sites and fewer tech blogs will drive up the article sizes greatly.

"The work is not peer reviewed or even properly planned. I just tried some spur of the minute checks on article sizes in the first way I could think of," said the guy. We covered this subject before in relation to JavaScript bloat and sites' simplicity, but here we have actual numbers to present.

"The numbers depend on the quality of the data," the guy added, "that is to say the selection of links and the culling the results of 404's, paywall messages, and cookie warnings and so on.

"As mentioned I just took the latest link from each of the sites I have bookmarked this year. That skews it towards lean tech blogs. Though some publishers which should know very much better are real pigs:




$ wget --continue --page-requisites --timeout=30 --directory-prefix=./test.a/ https://www.technologyreview.com/s/614079/what-is-geoengineering-and-why-should-you-care-climate-change-harvard/ . . .

$ lynx --dump https://www.technologyreview.com/s/614079/what-is-geoengineering-and-why-should-you-care-climate-change-harvard/ > test.b

$ du -bs ./test.? 2485779 ./test.a 35109 ./test.b



"Trimming some of the lines of cruft from the text version for that article, I get close to two orders of magnitude difference between the original edition versus the trimmed text edition:

$ du -bs ./test.?
2485779	./test.a
35109	./test.b
27147	./test.c


"Also the trimmed text edition is close to 75% the size of the automated text edition. So, at least for that article, the guess of 75% content may be about right. However, given the quick and dirty approach, of this survey, not much can be said conclusively except 1) there is a lot of waste, 2) there is an opportunity for someone to do an easy piece of research."

Based on links from 2019-08-08 and 2019-08-09, we get one set of results (extracted all URLs saved from January 2019 through July 2019; http and https only, eliminated PDF and other links to obviously non-html material). Technical appendices and footnotes are below for those wishing to explore further and reproduce.







+ this only retrieves the first layer of javascript, far from all of it + some site gave wget trouble, should have fiddled the agent string, --user-agent="" + too many sites respond without proper HTTP response headers, slows collection down intolerably + the pages themselves often contain many dead links + serial fetching is slow and because the sites are unique

$ find . -mindepth 1 -maxdepth 1 -type d -print | wc -l 91 $ find . -mindepth 1 -type f -print | wc -l 4171 which is an average of 78 objects per "article"

+ some sites were tech blogs with lean, hand-crafted HTML, mainstream sites are much heavier, so the above average is skewed towards being too light

Quantity and size of objects associated with articles, does not count cookies nor secondary scripts:

$ find . -mindepth 1 -type f -printf '%s\t%p\n' \ | sort -k1,1n -k2,2 \ | awk '$1>10{ sum+=$1; c++; s[c]=$1; n[c]=$2 } END{ printf "%10s\t%10s\n","Bytes","Measurement"; printf "%10d\tSMALLEST\n",s[1]; for (i in s){ if(i==int(c/2)){ printf "%10d\tMEDIAN SIZE\n",s[i]; } }; printf "%10d\tLARGEST\n",s[c]; printf "%10d\tAVG SIZE\n",sum/c; printf "%10d\tCOUNT\n",c; }'

Bytes File Size 13 SMALLEST 10056 MEDIAN SIZE 32035328 LARGEST 53643 AVG SIZE 38164 COUNT









Overall article size [1] including only the first layer of scripts,

Bytes Article Size 8442 SMALLEST 995476 MEDIAN 61097209 LARGEST 2319854 AVG 921 COUNT

Estimated content [2] size including links, headers, navigation text, etc:

+ deleted files with errors or warnings, probably a mistake as that skews the results for lynx higher

Bytes Article Size 929 SMALLEST 18782 MEDIAN 244311 LARGEST 23997 AVG 889 COUNT

+ lynx returns all text within the document not just the main content, at 75% content the figures are more realistic for some sites:

Bytes Measurement 697 SMALLEST 14087 MEDIAN 183233 LARGEST 17998 AVG 889 COUNT

at 50% content the figures are more realistic for other sites:

465 SMALLEST 9391 MEDIAN 122156 LARGEST 11999 AVG 889 COUNT






       


$ du -bs * \ | sort -k1,1n -k2,2 \ | awk '$2!="l" && $1 { c++; s[c]=$1; n[c]=$2; sum+=$1 } END { for (i in s){ if(i==int(c/2)){ m=i }; printf "% 10d\t%s\n", s[i],n[i] }; printf "% 10s\tArticle Size\n","Bytes"; printf "% 10d\tSMALLEST %s\n",s[1],n[1]; printf "% 10d\tMEDIAN %s\n",s[m],n[m]; printf "% 10d\tLARGEST %s\n",s[c],n[c]; printf "% 10d\tAVG\n", sum/c; printf "% 10d\tCOUNT\n",c; }' OFS=$'\t'









[1]

$ time bash -c 'count=0; shuf l \ | while read u; do echo $u; wget --continue --page-requisites --timeout=30 "$u" & echo $((count++)); if ((count % 5 == 0)); then wait; fi; done;'









[2]

$ count=0; time for i in $(cat l); do echo;echo $i; lynx -dump "$i" > $count; echo $((count++)); done;








[3]

$ find . -mindepth 1 -maxdepth 1 -type d -print | wc -l 921

$ find . -mindepth 1 -type f -print | wc -l 38249









[4]

$ find . -mindepth 1 -type f -print \ | awk '{sub("\./","");sub("/.*","");print;}' | uniq -c | sort -k1,1n -k2,2 | awk '$1{c++;s[c]=$1;sum+=$1;} END{for(i in s){if(i == int(c/2)){m=s[i];}}; print "MEDIAN: ",m; print "AVG", sum/c; print "Quantity",c; }'









[5]

$ find . -mindepth 1 -type f -name '*.js' -exec du -sh {} \; | sort -k1,1rh | head 16M ./www.icij.org/app/themes/icij/dist/scripts/main_8707d181.js 3.4M ./europeanconservative.com/wp-content/themes/Generations/assets/scripts/fontawesome-all.min.js 1.8M ./www.9news.com.au/assets/main.f7ba1448.js 1.8M ./www.technologyreview.com/_next/static/chunks/commons.7eed6fd0fd49f117e780.js 1.8M ./www.thetimes.co.uk/d/js/app-7a9b7f4da3.js 1.5M ./www.crossfit.com/main.997a9d1e71cdc5056c64.js 1.4M ./www.icann.org/assets/application-4366ce9f0552171ee2c82c9421d286b7ae8141d4c034a005c1ac3d7409eb118b.js 1.3M ./www.digitalhealth.net/wp-content/plugins/event-espresso-core-reg/assets/dist/ee-vendor.e12aca2f149e71e409e8.dist.js 1.2M ./www.fresnobee.com/wps/build/webpack/videoStory.bundle-69dae9d5d577db8a7bb4.js 1.2M ./www.ft.lk/assets/libs/angular/angular/angular.js






[6] About page bloat, one can pick just about any page and find from one to close to two orders of magnitude difference between the lynx dump and the full web page. For example,




$ wget --continue --page-requisites --timeout=30 \ --directory-prefix=./test.a/ \ https://www.newsweek.com/saudi-uae-war-themselves-yemen-1453371 . . .

$ lynx --dump \ https://www.newsweek.com/saudi-uae-war-themselves-yemen-1453371 \ > test.b

$ du -bs ./test.? 250793 ./test.a 15385 ./test.b

Recent Techrights' Posts

Saying "No" is Not a Bad Thing
Society benefits from people who say "No!" even when it seems impolite (and possibly inconvenient) to say so
Next Week's "Bloodbath" at Microsoft Includes "Silent Layoffs" (Which Microsoft Won't Count)
The notion of "silent layoffs" is fast becoming the "new normal"
XBox Being Discontinued, Some Models of XBox Canceled, Not on Sale Anymore
First some of the largest retailers quit stocking/selling XBox, now a 2TB model is axed
Firehose of Spam (Fake News) From The Register MS Today
This is how awful the state of news sites really is
 
Links 27/06/2026: More Restrictions on Social Control Media and Russia is Leveraging Cellebrite/Back Doors
Links for the day
Akira Urushibata on the Likely False (Unverifiable) Claims Anthropic Makes About Defects for Marketing/Hype
Some pro-LLM person has managed to derail the discussion on this topic
European Patent Office (EPO) Series: "Team Campinos" in Split
The EPO team was of course headed by Campinos himself who delivered a "forward-looking" keynote speech to the assembled audience consisting mainly of Administrative Council delegates from the national IP offices
Supporting Women in the Free Software Community
The common theme here is abuse of women
Left IBM After Many Years, Came to Microsoft/XBox, Now Silent Layoffs at XBox
many inside XBox will have their last day next week
Gemini Links 27/06/2026: Homeworlds and Tarot Cards
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Friday, June 26, 2026
IRC logs for Friday, June 26, 2026
Links 26/06/2026: SoftBank Forbids Mentioning That Slop is a Scam, "'We Need Courageous People' to Combat Greed and Corruption"
Links for the day
Gemini Links 26/06/2026: "Negativity of Reddit" and "Moving Blog to Gemini"
Links for the day
Same MIT Site That Fabricated the Fake News for IBM is Still Being Paid to Produce Fake "Reports" That Prop Up a Ponzi Scheme
If this is the media we deserve as a society and believe keeps us informed, then we are all doomed
'Social' Slop: The Social Control Media and Slop Crises Are Converging
Social Control Media and slop may have a shared fate. People will shun them both.
Union Syndicale Fédérale (USF) Speaks Out Against Campinos and Informs the Chairman of the EPO Administrative Council
Does Mr. Kratochvíl pay any attention at all?
'António the Pretender' Campinos is Digging His Own Grave With Grotesque Lobbying Intended to Undermine Democracy in Europe's Second-Largest Institution
One way or another, the EPO will never be the same again
The Principle of "Do No Harm"
"Do No Harm" is a common saying
After Years of Bluewashing People Who Are Still Labelled "Red Hat" Suddenly 'Leave' (Might be PIPs), IBM in "Forever Layoffs" Loop
Remember that Red Hat had mass layoffs this year
Microsoft Staff Bracing for Impact Ahead of "Layoffs Lottery"
some people start to assess who will get culled next
Donald Trump and IBM's CEO: Twins Separated at Birth, Saturating the Media With False Reports About Things That Don't Exist
Every "journalist" that went ahead with this fake news should be sacked on the spot for a rejection of fact-checking
The Register MS Will Become Indistinguishable From Spamfarms at This Current Pace
Follow the money...
Microsoft Layoffs Have Already Begun in Its PR Department
It is called Waggener Edstrom
Techrights Community as Litigants in Person (LIPs)
Unwittingly and due to circumstances we're had to step in to protect women abused by monstrous men who lack empathy
European Patent Office (EPO) Series: Rest and Recuperation on the Adriatic Coast
The EPO President's connections with the Croatian SIPO date back to his days as head of the EU trademark agency EUIPO
Slopfarms Becoming Scarce and Few (or Inactive)
we'll try to refrain from even giving the remaining slopfarms any visibility
The Register MS Promotes Things That Do Not Exist... for Money
How much more ZTE spam will come out before 5PM?
Links 26/06/2026: RIP, Om Malik, 1966-2026
Links for the day
Memory Leaks Suck
Slop ('vibe') coding means lots of bad programs
Natural Disasters and Personal Disasters
Thank you, Om Malik, for the positive memories
Gemini Links 25/06/2026: Life Philosophy and Misery
Links for the day
GAFAM Became a Mainstream Term, and Why Words Matter
Conveying problems in useful terms [...] Impairing propaganda attempts (e.g. calling parrots "intelligence", back doors "confidential", and outsourcing "cloud") should be the first step
European Patent Office (EPO) on Strike Today, Next Week Another Historic Week
If you live in Europe, contact your delegates today
FSF FreeJS Project (Part of the GNU Project's Goals) Advanced Further in 2026
They're moving to reduce dependence on anything to do with Microsoft
SLAPP Censorship - Part 119 Out of 200: Our Suggestions to Our Politicians and Heads of State
coverage about SLAPPs and related matters
Microsoft Already Closing Down Studios, According to Some Publishers
It is being compared to what happened in Intel
IBM PIP Stories Told in Public, Fake IBM News (Fabricated Claims) Drown Media Sites
IBM is seeding fake news to help justify the bailout
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Thursday, June 25, 2026
IRC logs for Thursday, June 25, 2026
Microsoft Falls to Lowest Value Since 2023
Microsoft can come back down to somewhere below $100
This Could be the Start of Microsoft's Biggest Wave of Layoffs in 50+ Years
This is what it looked like for Intel a few years ago
The Register MS is Promoting a Pyramid Scheme for Money, But It Is Over 6 Million Pounds in Debt
How much lower can the reputation of this publisher sink?
Gemini Links 25/06/2026: Unix-like People and NeoGeo
Links for the day
Members of the Delegations in the EPO's Administrative Council Told That Amid Unrest Campinos Must Go; a Year of EPO Strikes Means It's Time to Change Leadership
Which strategy is needed for the European Patent Organisation?
The Cyber Show on How Data is Misused and Broadcast is Abused to Crush Resistance to Harmful Technology
We recently published a number of articles about how Computer Science is coming under attack
Increasing Participation Rates in Staff Representatives' Elections at the European Patent Office (EPO)
The industrial actions seem to have brought colleagues closer together
Microsoft's Mass Layoffs Have Already Begun (Could Not Wait 'Til July)
Microsoft's biggest layoffs round in 50+ years?
Assessing the "Worth" of a Life
Don't let blunt plutocrats decide whether Venezuelans deserve sympathy or not
Planning 20-Year Techrights Event
Interested people can contact us in IRC
Links 25/06/2026: Earthquakes Strike Venezuela, Conflict of Interest in Kangaroo Court UPC
Links for the day
More Weight of IBM's Stock is Ascribed to Lies and Things That Do Not Exist
Turning stones into gold?
SLAPP Censorship - Part 118 Out of 200: Exposing Crimes is Not a Crime, It is a Public Service
We will soon enter the sixth year of lawfare
Links 25/06/2026: "Why We Need Seed Legislation" and XBox Chaos Predicted by Insiders
Links for the day
Gemini Links 25/06/2026: Hobbies Change, Young love, Strange Encounter, and Raspberry Pi Zero W
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, June 24, 2026
IRC logs for Wednesday, June 24, 2026