Hacker Newsnew | past | comments | ask | show | jobs | submit | more simonpure's commentslogin

I just finished reading The Master Switch by Tim Wu. It includes the history of broadcasting including why it took so long for FM radio to succeed.

According to him, Sarnoff and Armstrong were friends at some point and RCA financed the development of FM radio initially although they just wanted a more efficient AM network.


As other comments have pointed out, this behavior is enabled by `requestIdleCallback`.

MDN has a good example and looks like this is not supported by Safari -

https://developer.mozilla.org/en-US/docs/Web/API/Background_...



It's always Safari. I never figured out why.


The 3 biggest browser engines are Gecko, Webkit, and Blink.

Gecko is the engine behind Firefox and is maintained by Mozilla, so it has a good number of open source contributors that help fix issues when they are found. It also has some issues occasionally but since it has only a ~3% usage these days you don't get as many complaints.

Blink is used by Chromium (which includes Edge, Chrome, Opera, Brave, and Samsung browsers). It has the biggest market share and probably the most people actively paid to work on it.

Webkit is currently only used by Safari and maintained by Apple alone. (Also all iOS browsers have to use webkit which is why iOS chrome has a lot of the same bugs as iOS safari etc). Apple has a conservative approach to Webkit and doesn't implement as many new features or standards as quickly as the other engines. It has the biggest non blink engine market share so it's usually the outlier when it comes to support issues.

Before 2013 Chromium was webkit based, but that year they made a fork and took their engine in a new direction so Webkit lost some of its previous maintainers.


> Apple has a conservative approach to Webkit and doesn't implement as many new features or standards as quickly as the other engines

This is far too generous. They intentionally withold features in an effort to push people towards their app store.


Google could let Chrome rot: Microsoft let Internet Explorer rot back in the days before Edge (primarily because Microsoft recognised that browsers would compete with their Windows monopoly: which is exactly what happened).


> MDN has a good example and looks like this is not supported by Safari

It's currently an experimental feature that can be enabled, so hopefully Apple will enable it by default in 2023.


The 1% rule seems to hold up pretty well across any online community [0]

[0] https://en.m.wikipedia.org/wiki/1%25_rule

> In Internet culture, the 1% rule is a general rule of thumb pertaining to participation in an internet community, stating that only 1% of the users of a website add content, while the other 99% of the participants only lurk.


The BIP buffer.

It's a ring buffer compatible with APIs that don't specifically support it.

It's a great fit for any network I/O and I believe Android uses it under the hood.

https://www.codeproject.com/Articles/3479/The-Bip-Buffer-The...


There's also this Tech Talk Linus gave in 2007 -

https://youtu.be/4XpnKHJAok8


If you're interested in this topic, I highly suggest some of the talks and papers about the LMAX Disruptor [0] and Martin Thompson's latest project Aeron [1]. It targets the JVM, but the lessons are generally applicable since I don't think Concord/Aria are open source.

[0] https://lmax-exchange.github.io/disruptor/ [1] https://github.com/real-logic/aeron


The LMAX disruptor (and the principles behind it) are quite amazing.

We are using it right now as the foundation for a new business administration platform.

It's even more ridiculous in .NET due to enhancements relative to value types:

https://medium.com/@ocoanet/improving-net-disruptor-performa...

In .NET6, this is potentially one of the fastest ways to serialize an arbitrary # of threads.


As a Vert.x fanatic, LMAX Disruptor is one of the few technologies for JVM that makes my jaw drop. So cool.


I'd also add cgrandes ClojureDart to the list.

I would generalize your observation as a logical consequence of Greenspun's tenth rule and conclude that we will eventually get a hosted lisp for any sufficiently relevant programing language.


There's a wonderful podcast about array languages -

https://www.arraycast.com/

Lots of great stories about software engineering besides talking about the different dialects of array languages.


Yes, it's an effort to standardize and future proof.

Cloudflare's post [0] has some more background information.

[0] https://blog.cloudflare.com/hybrid-public-key-encryption/


Q: What is eating the world?

A: Software is eating the world.

Q: Why is software eating the world?

A: Software is eating the world because the world is software.

Q: Why is the world software?

A: The world is software.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: