Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
A discussion on the various reasons why performance is slow, and which ones are unlikely to be affected by LLMs.
-
A discussion on code review with short case studies and links to research on expertise.
-
A worked out example of different job queueing semantics and how they affect workloads.
-
A close examination on the supposed benefits of effect systems, framed as a conversation between two programming language designers.
-
A spin on the old folk tale Six Blind Men and the Elephant.
-
An in-depth guide to programming with assertions and advocating for the use of assertions at work, based on ~6 years of experience spread out across a variety of codebases.
-
Reflections on a one-line bug fix that took two days to figure out, and the unspoken assumptions in how we talk about bugs.
-
A discussion on substantive theories of program design, with the running example of concurrent file modifications.
-
Discussion on notions of software complexity as defined by Rich Hickey, John Ousterhout and Zach Tellman.
-
Discussion and counter-points to the necessity of being able to judge outcomes in unfamiliar contexts, for being a good leader.
-
Musings on the representation, propagation and handling of errors in existing programming languages, as well as thoughts on future systems. (15K+ words)
-
Thoughts on how compiler and database optimizers should evolve in the future, focusing on predictability and guarantees instead of smarts and heroics
-
Notes on why I left the Swift team at Apple, with some reflections for job seekers and junior people.
-
Thoughts, feelings, some personal history and musings on Strange Loop as an event, an experience and as an idea.
-
Recently, I turned on UBSan for a fledgling work project.
-
A discussion of some of the downsides of Zig's implementation of generics, and why other programming languages should think super hard before adopting a similar system.
-
A report of my positive and negative experiences with Go after using it for 6 months at work.
-
A discussion of different developer tools which (can) build on top of a compiler, and how those affect compiler design.
-
An argument for why you should have a written agenda and minutes for meetings that you organize.
-
An introduction to Flatt's "Bindings as Sets of Scopes", with discussion on why scope sets are great, how they could be helpful for implementing name resolution for languages without macros, and what a name resolution library based on scope sets could look
-
A discussion on the benefits and drawbacks on tagged unions and ML-style pattern-matching, originally intended as a response to Nelson Elhage's Tagged unions are overrated.
-
An argument against snarky comments, even tongue-in-cheek ones, in programming communities, suggesting an approach to actively steer a discussion with varying opinions in a more productive direction.
-
Guidelines on learning and using Haskell: covers editor integration, CI, library choices, application architecture, debugging, profiling and addresses some common concerns.
-
An informal survey of the design space for ad-hoc polymorphism in a programming language.
-
In spring 2018, I took the Cornell CS 4120/4121 course on compilers.
-
A future history of programming languages.
-
A bedtime story about ordinal numbers.
-
After her adventures in the strange and esoteric Wonderland, Alice was in a bad mood.