-
SICP ( Structure and Interpretation of Computer Programs )
-
Scott Wlaschin - Railway Oriented Programming — error handling in functional languages
-
- i believe watching this a several times does actually make the whole concept clear if someone has at least a bit of algebraic inclination. algebra is key to everything on this page.
-
data structures
-
CRDTs - Conflict-Free Replicated Data type
- kind of a DDD or CQS view that easily solves one particular issue with distributed data management, that is, how to synchronize out of time edits, if the edited text is already destroyed. Obviously, all this was mostly coming from databases and datacenter research way before anyone else even realized the problem. https://github.com/pfrazee/crdt_notes
-
tries
-
fusion trees
-
blockchain
-
- the definition of PLOP - place oriented programming :)
-
processes
- crypto ECCHacks - A gentle introduction to elliptic-curve cryptography [31c3]
- consensus
- distributed
- a.i.
- datomic
- datalog
- unidirectional data flow / single source of truth
- virtual-dom
-
How to think properly about programming (and the world):
-
Browsers/Front End
- What is the Event Loop
- Javascript Objects
- all three posts!
-
microbenchmarks/benchmarks
- Benchmarking JavaScript
- "We will take a look at some microbenchmarks written by JS developers and discover a violent clash between XIX century approach to benchmarking and XXI century virtual machines."
- Benchmarking JavaScript
-
pragdave
-
uncle bob
-
hammock driven development
-
CSP
-
Correct software architecture: mimic what's clojure is doing, because it's genius:
- Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
- you don't have to use clojure to apply the same principles. i know i am sick of the fans who can't think outside their box which automatically approves whatever Hickey is telling them. this does not change the fact, that what they are building is lightyears ahead of most other programming subcultures.
- Clojurescript
- why you should care about this on the front end. again, you don't need to use clojurescript to use the ideas.
- Hash Maps: more room at the bottom - Peter Schuck
- this issue is the same way present in front end architectures, where the backend is playing the role of the "memory" and we want to show a UI (which is the hashmap, the keys of the hashmap are the routes and the values are the actual local state when the view is rendered). so it makes sense that if we want a fast UI, we have to build it the same way so we have a minimal, transparent interface that is error free and intuitive to use. sadly, i am not sure javascript is prepared for this. but it is certainly possible to compile clojurescript modules into javascript and just use them as standalone libraries.
- Jonas Bonér - Without Resilience, Nothing Else Matters
- Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
-
Bartek Szopka: Everything you never wanted to know about JavaScript numbers
-
- least upper bound property has to be found on a case by case basis in practice, and cases can differ largely, yet theorist use it as if it was conveniently available, this results in a large gap between pure math and applied math. An unhealthy one, because applied math requires a lot of help, people love to brag about how much they don't know math, but without basic math knowledge one can not assess the truth values of the information one is getting from their environment
-
- this is just beautiful
-
- even more beautifuler. as a hungarian who was curious about math, i was spoon fed about what great mathematicians the Bolyais were, yet our teachers never even tried to explain what hyperbolic spaces mean, even though it turns out that's how our reality is, despite the euclidean intuitions. conservatives hate children and young people who ask questions that are not in the curriculum, i learned that very fast.
-
infinite concepts are not useful
-
- it's related to the above because floating point data formats are directly based on the faulty idea of real numbers which is based on the misunderstanding of the continuum, or rather, trying to solve everything at once with using infinite processes. obvious issue with this idea is that that there are many different infinite processes and real numbers by themselves do not allow a clear distinction. so the useful information on what kinds of infinite processes are is known by the professional mathematician with large experience of using these tools but not for those who only want to survey the landscape. in that case, everything is hidden behind jargon and overly complicated freetext "studies".
-
bigint division paper Fast Division of Large Integers - A Comparison of Algorithms
-
ndarrays ndarray: Modular multidimensional arrays for JavaScript - Mikola Lysenko (@MikolaLysenko) -Implementing Multidimensional Arrays in JavaScript
- Science Tomas Petricek on Paul Feyerabend's The Against Method
- Trust
Introduction to cryptography https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg/videos