About:

Waleed Khan is a software engineer in Seattle focused on developer tooling, with interests in compilers and hobbies like gaming and music.

Website:

Specializations:

Interests:

Compilers and programming languages Developer tooling

Outgoing Links:

Subscribe to RSS:
The blog post discusses the author's experience presenting a talk on using Datalog for static analysis in software development, particularly in the context of improving CI job configurations. The author shares insights on the limi...
The talk by Waleed Khan discusses the implementation of a parallelizable 'generalized binary search' for debugging code using git bisect. He shares his experiences with writing buggy code and how AI has improved his debugging effi...
Sophie Alpert's blog post discusses the challenges of incremental view maintenance in database systems, highlighting that despite advancements, the industry has made little progress since 2010. She emphasizes the need for higher-l...
The blog post discusses the author's experience with Soufflé Datalog for simplifying complex analyses in programming, particularly in comparing CI jobs' dependencies. It highlights the advantages of rapid prototyping with Soufflé,...
The text is a collection of anecdotes from the author's experiences learning various languages, including Urdu, Polish, Latin, and American Sign Language. The anecdotes cover language-related misunderstandings, cultural difference...
The text is a transcript of a talk given by Waleed Khan at the Seattle Build Enthusiasts Fall 2024 meetup. He discusses the benefits of using Watchman, a file-watching service, as a high-level primitive in custom build systems. Kh...
The text is a reprint of research originally published on Google Docs, which surveyed five participants from various 'big tech' companies to understand their interpretation of source control terminology such as 'change', 'commit',...
The text is an instructive primer on TTYs and PTYs, escape codes, terminal emulation, and testing patterns for terminal user interface (TUI) applications. It discusses integration vs end-to-end testing, snapshot testing, and 'expe...
The author shares an experience of making a small code change and the importance of submitting code for review and waiting for builds and tests to finish.
The text discusses the concept of writing brittle code in software engineering, particularly in the context of Haskell and web app development. The author argues that writing brittle code has been the best approach to ensure maint...
The text discusses encoding ML-style modules in Rust, intended for OCaml/SML programmers learning Rust and new-wave functional programmers. It explains the problem of caching a function and how to cache an individual function, cac...
The text discusses the use of Git with a 'patch stack' workflow, and how to quickly run formatters on a stack of commits without causing merge conflicts.
The hash e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 is used by Git to indicate an empty blob (an empty file). The format for object contents is <type> <size> <contents> (where denotes the null byte). In this case, the type is blob...
The text provides compensation history of the author, who has worked in big tech and finance in the US. It is intended for current software engineers seeking information for their own job search or negotiation, and those curious a...
The text discusses the author's experience with Rust and the efforts to improve incremental test build times for the project git-branchless. The author was able to reduce incremental test time from ~6.9sec to ~1.7sec by splitting ...