The solution in that paper does require third parties, except the parties are unknown, the amount of parties is unknown, and the system breaks down if insufficient people are interested in running the chain.
I’m really not convinced that solution is better is any way. If your adversary has the resources to coerce the “leave of entropy” in the OP, cracking that blockchain implementation will be trivial.
Last year I also released a barebones chart maker using only web components [0]. Meaning you can add a chart to your webpage with just an HTML tag. [1]
The functionality behind this and others are simple and allow the user to fully stylize however they'd like.
STUN fails under symmetric NAT, not strict NAT. That google document makes no citations of that 92% figure, but I assume that's for desktop traffic only. Pretty much all mobile/cellular connections would require TURN too.
The same could be said about adblock. Most ads are not the horribly annoying like they used to be, so adblock is just immoral, stealing from the website content creator.
It could be, but "annoying ads" aren't really the problem. Ad-block is self-defense against privacy-invading ad and analytics networks.
When a site serves ads and tracking from its own first-party domain and I can reasonably determine this, I do not block it and often unblock it if it defaults to blocked.
When a site farms out adverts to third parties to share my browsing habits across the web, I default to blocking everything.
If there's a site that decides that it won't show me content because I'm using an adblocker, then I move on. They don't want my eyes, and I don't want their practices - no reason to stick around.
I prefer TypeScript over plain JS and would like a strongly typed way for dealing with event emitters.
So, I created fancy-emitter. I figured there are many other improvements which could have been made to the events module so I tried to make use of all of them and make the underlying JS engine deal with the scheduling.