Make a request. It it fails, try in 1 sec. It it fails, try again in 2sec. If it fails, try again in 4 sec. etc. That's exponential backoff. You can also randomize the delay a bit so that if the problem is on your end (so everyone started failing at the same time), you don't get ALL clients retrying at the exact same times.
This is better than trying immediately when it fails or after a set delay. If it hasn't been working in the last 10 tries, why would you expect the 11th request to work. Just wasting resources.
Looks like scribe_endpoint.php is an error logger for Facebook. I mean, if you block random bits of JS from it, it'll try to report that back up. Although, yes, backoff, come on now.
I keep thinking the state of being offline ~90% of the time is the way to go - my current choice in tech projects is strongly guided by this belief.
rss feeds are a great quality:size ratio, I have a huge list of primary sources, will export and paste it here if anyone wants - and always appreciate any good recommendations.
The best way I've found to win the ad blocking game is to get the rss feed when possible.
I think finding an RSS reader with a UX that fits your needs is a good way to go. I don't like browser based readers. I am currently using the liferea package and it's not bad. I just posted some of the feeds I follow.
I've been meaning to start a repo for a list like this for a while, will post another reply when I get something running.
This is the same thing that I do. I wrote about my setup in my blog [1].
Basically grab RSS for most things I read.
Use node-red to create RSS feeds for things that don't have one, or use node-red to pre-filter feeds, as well as for downloading full content for offline reading.
I read Twitter with RSS. I haven't got time to turn Facebook into RSS yet, but hopefully at some point.
> I have a huge list of primary sources, will export and paste it here if anyone wants
I'm interested in this. I've been wanting to get this set up but it always feels like rss feeds are hidden from being discovered. Not to mention I haven't found an RSS reader that I particularly like.
Here's a small sample of feeds that seemed to be updated more regularly or had good content. not all primary sources of course. I left out all the big newspapers, subreddits and my local stuff. The xml export of my rss reader (liferea on gnome) is a bit ugly, I'll probably put it up on a github repo later and post back.
Since there are a lot of US government offices in there, I'd like to ask if you noticed any changes to these feeds (frequency, topic selection, content, etc.) when the Trump administration assumed office?
That's an interesting question. I actually started following all of them around the time of the last election because the political atmosphere got me interested in seeking out primary sources - so I'm not sure about a change in tone.
It would be a good set of corpora to feed through some NLP algorithms though, I might look into that at some point.
BTW the error is not present with FF + uBlock Origin.
EDIT: there is a less know FB app, called Facebook Lite. When you try to install it, you'll get a "This app is incompatible with all of your devices." - which is not true. It's fully compatible, you're just not in the eligible geolication. To get it: http://www.apkmirror.com/apk/facebook-2/lite/lite-53-0-0-3-9...
It's an alternative, tiny app, without the bloat of the "true" FB app, aimed at developing countries where smartphones are much less powerful.
I must say that i find it highly ironic that the likes of Facebook and Google have in recent years been introducing lite sites and apps for the third world. Site and apps that in the process rip out most of what the rest of us want to see gone as well.
You can use your browser to "request desktop site" briefly while you chat, and then switch it off. There is no technical reason that it doesn't work, but Facebook gonna face.
I remember the day they turned it off. Then for awhile on my device the request desktop site move used to fix mobile chat, without changing anything else (still served mobile site I mean) which was fine. Then they took that away too. Still haven't downloaded the app.
It does only on desktop, which you can already do on the main facebook site. The issue is how they Facebook removed messenging from m.facebook.com and the standard FB app.
Personally, I use mbasic.facebook.com for FB messages on my phone.
facebook lite is also super lite on data usage. They had a whole article a while back about how they got high-quality profile & banner pictures without sucking up the user's data.
only for germany and africa (both have wierd data plans) (p.s. messenger lite for germany is real, i.e. the site is correctly translated & such, so that's not a joke.)
Even with the Lite app I would recommend blocking all or most of the app permissions before you run the app the first time. Otherwise Facebook will slurp up your contacts, texts, location, etc. You can block most of it since Android 6.0 by going into System Settings -> Apps -> Lite app -> Permissions -> turn everything off.
Why would anyone install this spyware? That they would lie about incompatibility to prevent legitimate users shows how unethical this company is. And yeah, I do mean that FB is a spyware.
I've made a similar bug before. Had an animation that moved a div around on our page for some seconds. Some adblocker decided to remove that div. The script then failed to grab that div for the reminder of the animation, 60 times a second. Since we logged all errors to backend, this resulted in hundreds of ajax calls, making the affected browsers kneel.
Backoff/rate limiting/setting an upper limit, and handling the missing div were solutions.
I may misremember the details, but the gist of it is that the blocker broke some invariant, so a state which should not be possible during the animation did occur and broke stuff hard :)
That might be true, but I'd expect the creator of uBlock Origin to be familiar with a fair amount of ad & wide-spectrum blockers and how they function (to see if there's any methods they can adopt to improve).
Why is this such a big deal? You're using an adblocker which interferes with the site. The requests are blocked immediately and don't hit the network so its not wasting any resources. Is there really a complaint about requests being made in the first place now?
It infuriates me when I see people complaining about how slow they think JS/HTML/CSS is as a developer platform, or how terrible it is to use a JS framework, when the real cause of slowdown for 99.9% of the web is garbage like this.
Modern web browsers can preload resources and compile and run JS incredibly quickly. But even the best optimization efforts fail when sites are loading thousands of scripts from hundreds of different domains.
And yet still I see developer advocates from Google on Twitter trying to shame people for using React, blaming them for the web's failure to dislodge native apps. It's utter bullshit.
Now you know how Flash developers felt when everyone was saying it was a buggy platform, because so much of the dev community never did active debugging.
I ran the debugger version of the player and would get error alerts all over the web - for things that should have been caught with a try/catch or basic variable checking - even on some of the most prominent web apps of the time.
99 out of 100 times, that was the reason for an app crashing, not the player itself.
It's the old 'blame the dev not the compiler' quip. When I was in undergrad learning to code, before web browsers, if students blamed the compiler for their errors the profs just didn't care. If the compiler crashed the OS while compiling it was still the student's problem to figure it out.
Now you frequently hear intelligent devs complaining about how FF is slow compared to Chrome when loading website X. And here I am simply amazed that web browsers don't just crash constantly from the reams of dumpster trash they're forced to injest.
It's developers that have turned the web into a stinking pile of bloated code, but yet we continue to blame the interpreters(i.e. browsers).
73 comments
[ 2.6 ms ] story [ 85.5 ms ] thread(intentionally fallaciously generalized)
This is better than trying immediately when it fails or after a set delay. If it hasn't been working in the last 10 tries, why would you expect the 11th request to work. Just wasting resources.
https://en.wikipedia.org/wiki/Exponential_backoff
http://mailchi.mp/mit/how-ocw-transformed-a-learners-life
Discussion: https://news.ycombinator.com/item?id=14514686
rss feeds are a great quality:size ratio, I have a huge list of primary sources, will export and paste it here if anyone wants - and always appreciate any good recommendations.
The best way I've found to win the ad blocking game is to get the rss feed when possible.
Also, could you share your list? I always love finding new sites.
Definitely interested. Been thinking about making the shift but not sure where/with what to start.
I've been meaning to start a repo for a list like this for a while, will post another reply when I get something running.
Basically grab RSS for most things I read.
Use node-red to create RSS feeds for things that don't have one, or use node-red to pre-filter feeds, as well as for downloading full content for offline reading.
I read Twitter with RSS. I haven't got time to turn Facebook into RSS yet, but hopefully at some point.
https://github.com/amtopel/epi
I'm interested in this. I've been wanting to get this set up but it always feels like rss feeds are hidden from being discovered. Not to mention I haven't found an RSS reader that I particularly like.
https://www.nsf.gov/rss/rss_www_discoveries.xml
https://www.darpa.mil/rss
jamanetwork.com/rss/site_3/67.xml
feeds.nature.com/news/rss/most_recent
news.nationalgeographic.com/rss/index.rss
home.cern/scientists/updates/feed
https://news.bitcoin.com/feed
https://www.nsf.gov/rss/rss_www_funding_pgm_annc_inf.xml
https://techcrunch.com/feed/
https://news.ycombinator.com/rss
https://infocon.org/infocon.org-css/infoconorg-cons.rss
https://www.recode.net/rss/index.xml
https://pa.tedcdn.com/feeds/talks.rss
https://www.debian.org/News/news
https://nvd.nist.gov/download/nvd-rss.xml
https://tools.ietf.org/html/new-rfcs.rss
https://alerts.weather.gov/cap/ca.php?x=0
https://www.feinstein.senate.gov/public/?a=rss.feed
https://www.blm.gov/news-listing.xml/california
https://www.fema.gov/feeds/news.rss
https://www.state.gov/rss/channels/alldos.xml
https://www.fbi.gov/feeds/national-press-releases/rss.xml
https://www.defense.gov/DesktopModules/ArticleCS/RSS.ashx?ma...
https://www.dhs.gov/news/rss.xml
www.centcom.mil/DesktopModules/ArticleCS/RSS.ashx?ContentType=1&Site=808&max=20
https://travel.state.gov/_res/rss/TWs.xml#.html
https:&...
It would be a good set of corpora to feed through some NLP algorithms though, I might look into that at some point.
Just pocket it all and have it sent to my Kindle to read later.
BTW the error is not present with FF + uBlock Origin.
EDIT: there is a less know FB app, called Facebook Lite. When you try to install it, you'll get a "This app is incompatible with all of your devices." - which is not true. It's fully compatible, you're just not in the eligible geolication. To get it: http://www.apkmirror.com/apk/facebook-2/lite/lite-53-0-0-3-9...
It's an alternative, tiny app, without the bloat of the "true" FB app, aimed at developing countries where smartphones are much less powerful.
no frills, quick page load on mobile, just right.
In the beginning it was annoying but people quickly started texting me instead.
Now if people would only start organizing events somewhere else then I could abandon Facebook completely.
Personally, I use mbasic.facebook.com for FB messages on my phone.
I did just check, messenger.com gives you an App Store link for the messenger app and is definitely not accessible.
Request Desktop Site works on iPad, but when I tried it on an iPhone I got a spinny wheel where the login boxes should be. YMMV.
I remember there is Facebook Lite for desktop version. I think it's not available right now.
Backoff/rate limiting/setting an upper limit, and handling the missing div were solutions.
Blockers do not remove DOM elements, they just apply a `display: none;` style property to them.
Modern web browsers can preload resources and compile and run JS incredibly quickly. But even the best optimization efforts fail when sites are loading thousands of scripts from hundreds of different domains.
And yet still I see developer advocates from Google on Twitter trying to shame people for using React, blaming them for the web's failure to dislodge native apps. It's utter bullshit.
I ran the debugger version of the player and would get error alerts all over the web - for things that should have been caught with a try/catch or basic variable checking - even on some of the most prominent web apps of the time.
99 out of 100 times, that was the reason for an app crashing, not the player itself.
Now you frequently hear intelligent devs complaining about how FF is slow compared to Chrome when loading website X. And here I am simply amazed that web browsers don't just crash constantly from the reams of dumpster trash they're forced to injest.
It's developers that have turned the web into a stinking pile of bloated code, but yet we continue to blame the interpreters(i.e. browsers).