Ankush Menat

  • Dec 08, 2025 Evolving Frappe's ORM for security and flexibility ⇗
  • Jul 24, 2025 ★ Reflections on a decade of "working"
  • Jun 20, 2025 Beating Redis with a dictionary and Redis ⇗
  • May 18, 2025 You don't need to contribute to FOSS
  • May 09, 2025 Giving back to our (frappe) dependencies ⇗
  • Apr 03, 2025 ★ Designing systems for performance (conference talk) ⇗
  • Mar 06, 2025 Balancing the costs of count(*) and UX ⇗
  • Jan 09, 2025 Microbenchmarks considered useful ⇗
  • Dec 29, 2024 ★ Missing the forest for the trees with flamegraphs
  • Dec 25, 2024 Fake Debugging II: The Race Condition Strikes Back
  • Nov 22, 2024 Is your web service really I/O bound?
  • Nov 20, 2024 Reliably benchmarking small changes
  • Nov 11, 2024 ★ The Soul of an Old Machine: revisiting the von Neumann architecture
  • Jun 16, 2024 On distractions
  • May 29, 2024 Solving concurrency bugs using schedules and imagination
  • May 25, 2024 If you wish to truly understand Frappe's scheduler, you must first invent the universe ⇗
  • Apr 02, 2024 MySQL Internals for Frappe Developers (slide deck) ⇗
  • Aug 04, 2023 Reducing memory footprint of Frappe framework ⇗
  • Aug 02, 2023 Frappe framework deep dive on BuildWithHussain (video) ⇗
  • Oct 20, 2022 How Frappe v14 is blAziNgLy fast (conference talk) ⇗
  • Sep 14, 2021 On our glorious past
  • Aug 28, 2021 Parsing 140 gigabytes of chess games without compute clusters
  • May 02, 2021 How to excel at engineering
  • Apr 04, 2021 Stop writing regexes to lint your code
  • Nov 09, 2020 Taking notes and managing tasks with Vim
  • Nov 25, 2018 On mastery, cycling and mental health
  • Jan 31, 2018 ★ How a mediocre internship shaped my life.


Home · About · Email · Resume · Feed · Source