matkladAboutLinksBlogroll
  • Jun 26, 2025RSS Server Side Reader

  • May 20, 2025Open Source Can't Coordinate

  • May 19, 2025Profiling Challenge Results

  • May 14, 2025Scalar Select Anti-Pattern

  • May 6, 2025Performance Profile Visualization Challenge

  • Apr 22, 2025Against Horizontal Scroll

  • Apr 21, 2025A Fun Zig Program

  • Apr 19, 2025Things Zig comptime Won't Do

  • Apr 15, 2025Underusing Snapshot Testing

  • Mar 31, 2025Random Numbers Included

  • Mar 30, 2025Tariffs

  • Mar 30, 2025Deno Simple Server Side Rendering

  • Mar 25, 2025A Debugger is a REPL is a Debugger

  • Mar 21, 2025Use Long Options in Scripts

  • Mar 19, 2025Comptime Zig ORM

  • Feb 23, 2025MacOS for KDE Users

  • Dec 30, 2024What Is a dependency?

  • Dec 24, 2024Minimal Version Selection Revisited

  • Dec 13, 2024Majjit LSP

  • Nov 23, 2024SemVer Is Not About You

  • Oct 14, 2024A Missing IDE Feature

  • Oct 8, 2024Two Workflow Tips

  • Oct 6, 2024On Ousterhout's Dichotomy

  • Sep 24, 2024The Watermelon Operator

  • Sep 23, 2024What is io_uring?

  • Sep 6, 2024Try to Fix It One Level Deeper

  • Sep 3, 2024The Fundamental Law Of Software Dependencies

  • Aug 12, 2024STD Doesn't Have to Abstract OS IO

  • Aug 1, 2024Primitive Recursive Functions For A Working Programmer

  • Jul 25, 2024How I Use Git Worktrees

  • Jul 5, 2024Properly Testing Concurrent Data Structures

  • Jun 4, 2024Regular, Recursive, Restricted

  • Mar 22, 2024Basic Things

  • Mar 21, 2024Zig defer Patterns

  • Mar 2, 2024Kafka versus Nabokov

  • Feb 10, 2024Window: Live, Constant Time Grep

  • Jan 12, 2024Write Less

  • Jan 3, 2024Of Rats and Ratchets

  • Dec 31, 2023Git Things

  • Dec 31, 2023O(1) Build File

  • Dec 24, 2023CI Dream

  • Dec 21, 2023Retry Loop

  • Dec 10, 2023Non-Send Futures When?

  • Nov 16, 2023IronBeetle

  • Nov 15, 2023Push Ifs Up And Fors Down

  • Nov 7, 2023Data Oriented Blogging

  • Oct 23, 2023Unified Versus Split Diff

  • Oct 18, 2023Unless Explicitly Specified Otherwise, Open Source Software With Users Carries Moral Obligations

  • Oct 12, 2023LSP could have been better

  • Oct 11, 2023UNIX Structured Concurrency

  • Oct 6, 2023What is an Invariant?

  • Sep 13, 2023Comparative Analysis

  • Aug 17, 2023TypeScript is Surprisingly OK for Compilers

  • Aug 13, 2023Role Of Algorithms

  • Aug 9, 2023Types and the Zig Programming Language

  • Aug 6, 2023Fantastic Learning Resources

  • Aug 1, 2023On Modularity of Lexical Analysis

  • Jul 16, 2023Three Different Cuts

  • Jun 18, 2023GitHub Merge Queue

  • Jun 2, 2023The Worst Zig Version Manager

  • May 21, 2023Resilient LL Parsing Tutorial

  • May 6, 2023Zig Language Server And Cancellation

  • May 2, 2023Value Oriented Programming Needs Implicits?

  • Apr 23, 2023Data Oriented Parallel Value Interner

  • Apr 13, 2023Reasonable Bootstrap

  • Apr 9, 2023Can You Trust a Compiler to Optimize Your Code?

  • Apr 2, 2023UB Might Be a Wrong Term for Newer Languages

  • Mar 28, 2023Rust Is a Scalable Language

  • Mar 26, 2023Zig And Rust

  • Mar 8, 2023An Engine For An Editor

  • Feb 21, 2023Why SAT Is Hard

  • Feb 16, 2023Three-State Stability

  • Feb 12, 2023<3 Deno

  • Feb 10, 2023How a Zig IDE Could Work

  • Jan 26, 2023Rust's Ugly Syntax

  • Jan 25, 2023Next Rust Compiler

  • Jan 4, 2023On Random Numbers

  • Dec 31, 2022Ray Tracer Construction Kit

  • Nov 18, 2022If a Tree Falls in a Forest, Does It Overflow the Stack?

  • Nov 5, 2022Accessibility: px or rem?

  • Oct 28, 2022Elements Of a Great Markup Language

  • Oct 24, 2022GitHub Actions Permissions

  • Oct 19, 2022Why Linux Troubleshooting Advice Sucks

  • Oct 6, 2022Hard Mode Rust

  • Oct 3, 2022From Paxos to BFT

  • Jul 10, 2022Almost Rules

  • Jul 4, 2022Unit and Integration Tests

  • Jun 29, 2022Notes on GATs

  • Jun 11, 2022Caches In Rust

  • May 29, 2022Builder Lite

  • May 29, 2022Binary Privacy

  • Apr 25, 2022Why LSP?

  • Mar 26, 2022Self Modifying Code

  • Mar 14, 2022RPATH, or why lld doesn't work on NixOS

  • Nov 27, 2021Notes On Module System

  • Nov 7, 2021Generate All the Things

  • Sep 5, 2021One Hundred Thousand Lines of Rust

  • Sep 4, 2021Fast Rust Builds

  • Aug 22, 2021Large Rust Workspaces

  • Jul 30, 2021; echo Shell Injection

  • Jul 10, 2021It's Not Always ICache

  • Jul 9, 2021Inline In Rust

  • May 31, 2021How to Test

  • May 12, 2021Design Pattern: Kitchen Sink

  • Apr 26, 2021Concurrent Expression Problem

  • Mar 22, 2021Async Benchmarks Index

  • Mar 12, 2021Goroutines Are Not Significantly Smaller Than Threads

  • Feb 27, 2021Delete Cargo Integration Tests

  • Feb 24, 2021Another Generic Dilemma

  • Feb 15, 2021matklad @ NEAR

  • Feb 14, 2021For the Love of Macros

  • Feb 10, 2021A Better Rust Profiler

  • Feb 6, 2021ARCHITECTURE.md

  • Jan 3, 2021Two Kinds of Code Review

  • Dec 28, 2020Call Site Dependency Injection

  • Dec 12, 2020Notes On Lock Poisoning

  • Nov 11, 2020Why an IDE?

  • Nov 1, 2020Notes on Paxos

  • Oct 15, 2020Study of std::io::Error

  • Oct 3, 2020Fast Thread Locals In Rust

  • Sep 20, 2020Why Not Rust?

  • Sep 13, 2020Your Language Sucks, It Doesn't Matter

  • Sep 12, 2020Rust in 2021

  • Aug 15, 2020Code Smell: Concrete Abstraction

  • Aug 12, 2020Who Builds the Builder?

  • Aug 11, 2020Things I Have Learned About Life

  • Jul 15, 2020Two Beautiful Rust Programs

  • Apr 15, 2020From Pratt to Dijkstra

  • Apr 13, 2020Simple but Powerful Pratt Parsing

  • Mar 22, 2020Fast and Simple Rust Interner

  • Feb 14, 2020Why is Rust the Most Loved Programming Language?

  • Jan 4, 2020Mutexes Are Faster Than Spinlocks

  • Jan 2, 2020Spinlocks Considered Harmful

  • Nov 16, 2019A Better Shell

  • Nov 13, 2019rust-analyzer Blog

  • Aug 23, 2019Join Your Threads

  • Jul 25, 2019Unsafe as a Human-Assisted Type System

  • Jul 16, 2019Perils of Constructors

  • Jun 20, 2019Linux Desktop Tips

  • May 19, 2019Rust Course Retrospective

  • May 19, 2019Consider Using Asciidoctor for Your Next Presentation

  • Jul 24, 2018Exceptions vs Structured Concurrency

  • Jun 18, 2018A Trick For Test Maintenance

  • Jun 6, 2018Modern Parser Generator

  • Jun 4, 2018Newtype Index Pattern

  • May 24, 2018Typed Key Pattern

  • May 4, 2018Encapsulating Lifetime of the Field

  • May 3, 2018Effective Pull Requests

  • Mar 3, 2018Stopping a Rust Worker

  • Jan 3, 2018Make your own make

  • Oct 21, 2017Dynamic types in LLDB

  • Mar 25, 2017NixOS Notes

  • Mar 18, 2017Min of Three Part 2

  • Mar 12, 2017Min of Three

Fix typo Subscribe Get in touch matklad