Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
How to value things.
-
Safely and gradually rolling out large-scale changes on a codebase.
-
Why don't we just...?
-
Moving past our current local maxima.
-
The most important quality.
-
An email sent to my city council.
-
A long and winding grade-separated multi-use path.
-
The beliefs that underlie certain philosophies.
-
A classic staple.
-
A delicious Italian-inspired recipe.
-
The choice is clear.
-
A language server for Jsonnet.
-
A reassuring delusion.
-
I like trains.
-
A constructive proof of an equivalence.
-
Going beyond testing the behavior of programs.
-
Avoid typing your password every time you ssh.
-
A recipe for a tasty snack.
-
What I'd like to see from Rust going forward.
-
Tips and pointers for knowing what's going on with a Git repository.
-
A strategy for code organization.
-
A way to think about writing recursive functions.
-
A technicality hidden in some asymptotic cost bounds.
-
An analogy for software engineer levels.
-
A language server for Standard ML.
-
The next generation of programming languages.
-
Removing the distinction between functions and methods.
-
Another little idiom I like.
-
Alternative title: "tradeoffs exist".
-
Trying to do better.
-
Tips on communicating effectively.
-
An overall positive outlook on humanity.
-
Various varieties of function in programming languages.
-
An exhortation to create.
-
A little idiom I like.
-
A particular writing style that may not work for you, but sometimes works for me.
-
Adding sums (aka "enums" or "tagged unions") to a small PL.
-
Adding product types (aka "structs" or "tuples") to a small PL.
-
Adding pure functions to a small PL.
-
The beginnings of a small, formally defined PL.
-
Things I use to study Japanese.