jsfpdn
blabbering about programming, computer science & stuff
Here are some of the links I’ve found helpful and/or interesting, either during my studies, my work or in my spare time.
Blogs π
- Airs - Ian Lance Taylor
- Andreas Kling
- Andrew Kelley
- Coding in Old Entish
- Eli Bendersky’s website
- matklad
- Mitchell Hashimoto
- Nick Fitzgerald
- notes.eatonphil
- prochazka.dev
- research!rsc
Programming Languages π
- A Guide to the Go Garbage Collector
- Getting to Go: The Journey of Go’s Garbage Collector
- Go Does Not Need a Java Style Garbage Collector
- Errors and Zig. Great write-up by Phil regarding handling errors in Zig.
Theory π
- An Introduction to Algebraic Effects and Handlers
- Algebraic Effects for the Rest of Us
- Some History of Functional Programming Languages
- How to make ad-hoc polymorphism less ad hoc. Paper introduces the concept of type classes and describes how to implement them.
- Monads for functional programming. A must read.
Lambda Calculus π
- Introduction to Lambda Calculus
- The Lambda Calculus in the Stanford Encyclopedia of Philosophy
- A Brief Explanation of Capture-Avoiding Substitution
Compilers π
- Proebsting’s Law: Compiler Advances Double Computing Power Every 18 Years
- On Proebstingβs Law
- Producing Wrong Data Without Doing Anything Obviously Wrong! How experimental setups and measurement bias can cause a systems researcher to draw wrong conclusions from an experiment.
Runtimes & Interpreters π
Parsers π
Parallel Programming π
- Introduction to OpenMP - Tim Mattson (Intel)
- Art of Multiprocessor Programming
- A Fast Lock-Free Queue For C++
- Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms
- SIMD - CPU Vectorization
Distributed Systems π
- SWIM: scalable weakly-consistent infection-style process group membership protocol
- Lifeguard: Local Health Awareness for More Accurate Failure Detection
- Viewstamped Replication Revisited
- Towards Modern Development of Cloud Applications. A new programming paradigm encouraging developers to write monolithic apps divided into logical components while deferring the execution, deployment and atomic roll-out of components to the runtime.
Computer Architecture π
Theoretical Computer Science π
Data Structures π
Boolean Functions π
- Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams
- SDD: A New Canonical Representation of Propositional Knowledge Bases
- New Compilation Languages Based on Structured Decomposability
- A Top-Down Compiler for Sentential Decision Diagrams
- A Lower Bound on the Size of Decomposable Negation Normal Form
- Dynamic Minimization of Sentential Decision Diagrams
- SDDs Are Exponentially More Succinct than OBDDs
Concurrency π
Database Systems & Engines π
- MongoDB Schema Design Patterns
- M-tree: An Efficient Access Method for Similarity Search in Metric Spaces
- Organizing Similarity Spaces Using Metric Hulls
- Metric hull as similarity-aware operator for representing unstructured data
- Indexing structure based on metric hulls
Kubernetes π
- For the love of god, stop using CPU limits on Kubernetes
- What everyone should know about Kubernetes memory limits, OOMKilled pods, and pizza parties