41554 blogs · [ { "id": "01a0872b-11c3-70dd-ade7-5636edf5dc39", "title": "Advice for college students", "url": "https://frappe.io/blog/engineering/advice-for-college-students", "published_at": "2026-05-03T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636eed04fbe", "title": "MySQL Internals for Frappe Developers (conference talk)", "url": "https://youtube.com/watch?v=AID8jh0HFuI", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636ef94232a", "title": "Hitting 30", "url": "https://ankush.dev/p/hitting-thirty", "published_at": "2026-02-21T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f0318241", "title": "Character Development", "url": "https://ankush.dev/p/character-development", "published_at": "2026-01-24T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f0d263be", "title": "Tips for hiring Frappe engineers", "url": "https://frappe.io/blog/engineering/tips-for-hiring-frappe-engineers", "published_at": "2026-01-01T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f15d9c75", "title": "Evolving Frappe's ORM for security and flexibility", "url": "https://frappe.io/blog/engineering/evolving-frappes-orm-for-security-and-flexibility", "published_at": "2025-12-08T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f25d81b3", "title": "Reflections on a decade of \"working\"", "url": "https://ankush.dev/p/reflections-ten-year-career", "published_at": "2025-07-24T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f33e0072", "title": "Beating Redis with a dictionary and Redis", "url": "https://frappe.io/blog/engineering/beating-redis-with-a-dictionary-and-redis", "published_at": "2025-06-20T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f3e9fa78", "title": "You don't need to contribute to FOSS", "url": "https://ankush.dev/p/dont-need-foss-contributions", "published_at": "2025-05-18T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f4484dd2", "title": "Giving back to our (frappe) dependencies", "url": "https://frappe.io/blog/engineering/giving-back-to-our-dependencies", "published_at": "2025-05-09T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f4c5dcd9", "title": "Designing systems for performance (conference talk)", "url": "https://www.youtube.com/watch?v=keYIQabcrSg", "published_at": "2025-04-03T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f534447c", "title": "Balancing the costs of count(*) and UX", "url": "https://frappe.io/blog/engineering/balancing-the-costs-of-count-and-ux", "published_at": "2025-03-06T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f540699e", "title": "Microbenchmarks considered useful", "url": "https://frappe.io/blog/engineering/microbenchmarks-considered-useful", "published_at": "2025-01-09T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f62cd84f", "title": "Missing the forest for the trees with flamegraphs", "url": "https://ankush.dev/p/flamegraph-missing-forest-for-trees", "published_at": "2024-12-29T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f6a2b86a", "title": "Fake Debugging II: The Race Condition Strikes Back", "url": "https://ankush.dev/p/race-condition-strikes-back", "published_at": "2024-12-25T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f7021f56", "title": "Is your web service really I/O bound?", "url": "https://ankush.dev/p/cpu-bound-or-io-bound", "published_at": "2024-11-22T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f755f9de", "title": "Reliably benchmarking small changes", "url": "https://ankush.dev/p/reliable-benchmarking", "published_at": "2024-11-20T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f7998e97", "title": "The Soul of an Old Machine: revisiting the von Neumann architecture", "url": "https://ankush.dev/p/neumann_architecture", "published_at": "2024-11-11T00:00:00+00:00" }, { "id": "01a0872b-11c3-70dd-ade7-5636f7d4db71", "title": "On distractions", "url": "https://ankush.dev/p/distractions", "published_at": "2024-06-16T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2645c87b2ce", "title": "Solving concurrency bugs using schedules and imagination", "url": "https://ankush.dev/p/tip-concurrency-schedule", "published_at": "2024-05-29T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2645cfa4e05", "title": "If you wish to truly understand Frappe's scheduler, you must first invent the universe", "url": "https://frappe.io/blog/engineering/if-you-wish-to-truly-understand-frappes-scheduler-you-must-first-invent-the-universe", "published_at": "2024-05-25T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2645d7e3874", "title": "MySQL Internals for Frappe Developers (slide deck)", "url": "https://ankush.dev/assets/mysql_for_frappe_devs.pdf", "published_at": "2024-04-02T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2645e7689aa", "title": "Reducing memory footprint of Frappe framework", "url": "https://frappe.io/blog/engineering/reducing-memory-footprint-of-frappe-framework", "published_at": "2023-08-04T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2645f2612ad", "title": "Frappe framework deep dive on BuildWithHussain (video)", "url": "https://www.youtube.com/watch?v=M2aJiFT53Dc", "published_at": "2023-08-02T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2645f5b60ff", "title": "How Frappe v14 is blAziNgLy fast (conference talk)", "url": "https://www.youtube.com/watch?v=KTWwvHnjF5w", "published_at": "2022-10-20T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2645fb0ea0e", "title": "On our glorious past", "url": "https://ankush.dev/p/glorious-past", "published_at": "2021-09-14T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b264600fd325", "title": "Parsing 140 gigabytes of chess games without compute clusters", "url": "https://ankush.dev/p/shell-tools-speed", "published_at": "2021-08-28T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2646088519f", "title": "How to excel at engineering", "url": "https://ankush.dev/p/engineering-tooling", "published_at": "2021-05-02T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b26461280b6b", "title": "Stop writing regexes to lint your code", "url": "https://ankush.dev/p/semgrep", "published_at": "2021-04-04T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b26461ddb55e", "title": "Taking notes and managing tasks with Vim", "url": "https://ankush.dev/p/vim-notetaking-workflow", "published_at": "2020-11-09T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2646263832a", "title": "On mastery, cycling and mental health", "url": "https://ankush.dev/p/mastery-cycling-mental-health", "published_at": "2018-11-25T00:00:00+00:00" }, { "id": "01a0872b-11c4-72d1-ba11-b2646343414f", "title": "How a mediocre internship shaped my life.", "url": "https://ankush.dev/p/mediocre-internship", "published_at": "2018-01-31T00:00:00+00:00" } ] posts Claim your blog
Back to Blog | Ankush Menat
Blog · corpus.blog/blogs/ankush.dev/posts

Blog | Ankush Menat

ankush.dev

2026

2025

2024

2023

2022

2021

2020

2018