Colleague sent me Bob Moesta as a reference when we were talking about a few things. I love the 2x2 framework discussed when thinking about why people change products.
Another acolyte of Socrates. I like the idea that the ability to work on large legacy codebases is what separates senior developers from junior developers. I mean, it's self serving since I'm someone who works on such code bases. Either way, good food for thought on development.
Go look at abstract art. Now look at your abstraction. Well, those don't seem related at all…
They aren't. Your abstraction is just giving things names. Real abstraction moves away from the nature of the thing to be more precise. Relational algebra is an abstraction away from searching tuples of information. JSX is Javascript wearing an HTML skin suit. Knowing the difference is important.
Paper showing threads and events are just isomorphisms. They advocate for greater compiler support of threads, which is something I haven't really seen outside of language extensions like Cilk. I'd love to see what more we could do with the compiler to better signal context switching to the system rather than trying to outsmart it from our local point of view as we keep trying with userland threading.
I've always thought Python was fairly lisp like if lisp was based on dictionaries instead of lists. Sure Python's syntax isn't expressed in terms of dictionaries, but the runtime generally is.
It's important to understand that horizontal scalability is also limited. You can't just throw more cores at a problem. There are those tasks that are embarrassingly parallel, but they represent only a subset of interesting computations.