Lalit Maganti @lalitm.com · 16/09/2026Opus 5 just did the dumbest thing I've seen from it so far. For buildprof, my build tracer, I was switching from a JSON-based macOS API (eslogger) to a fast binary one (kdebug). My output is protobuf. Opus wrote: binary -> JSON -> protobuf This is why I still read the code. 050
Lalit Maganti @lalitm.com · 14/09/2026Find syntaqlite at github.com/LalitMaganti.... All these performance improvements are part of 0.10.0, which came out yesterday.github.comGitHub - LalitMaganti/syntaqlite: A fast parser, formatter, static analyzer, and language server for SQLite SQL.A fast parser, formatter, static analyzer, and language server for SQLite SQL. - LalitMaganti/syntaqlite 000
Lalit Maganti @lalitm.com · 14/09/2026syntaqlite, the very fast SQLite formatter just got another 19% faster. Someone reported a functional bug but fixing it made me realise if I restructured the AST slightly, a pile of simplifications fell out for free. 100
Lalit Maganti @lalitm.com · 13/09/2026I think we should definitely support that! Will look into it when I get some spare time! 010
Lalit Maganti @lalitm.com · 13/09/2026I think aggregate statistics on how many threads were running etc would be reasonable to support! I'm not sure I want to get into the business of plotting *how* the threads were running over time though, or I'll just reinvent Perfetto! Please do file a bug with more details on what you'd like! 100
Lalit Maganti @lalitm.com · 13/09/2026FWIW, I am working on something as part of my work in Perfetto which might be a much better fit for the problem you describe. There might be soemthing in the coming months I share about that :) 010
Lalit Maganti @lalitm.com · 13/09/2026It could help *if* tests were by spawning processes rather than inside the same process (e.g. using threads). buildprof does not have any visibility to what's happening *inside* a process except for specific compilers which expose more info. 200
Lalit Maganti @lalitm.com · 12/09/2026It uses ptrace under the hood, the UI is a customized Perfetto UI, and it’s Linux only for now. It’s open source and I plan to keep working on it. If you have a build that annoys you, give it a try. I’d love to hear what you find. github.com/LalitMaganti...github.comGitHub - LalitMaganti/buildprof: Records every process and file access in a build and shows it as an interactive timelineRecords every process and file access in a build and shows it as an interactive timeline - LalitMaganti/buildprof 020
Lalit Maganti @lalitm.com · 12/09/2026When I replayed Bun’s Zig build, one linker invocation ran alone for two-thirds of it. What the heck was it doing for all that time? The short answer is Full LTO, and not just in Bun’s own code. The long answer is a whole rabbit hole, so I wrote it up: lalitm.com/post/buildpr...lalitm.comI made a build profiler to understand Bun’s compile timesI built buildprof (Github), an open-source tracing tool that shows where the time goes when you compile software on Linux. Here’s a realtime video of it profiling a clean build of ripgrep: Watch the … 150
Lalit Maganti @lalitm.com · 12/09/2026I built it because of claim that Bun’s new Rust build compiled 5× faster than its old Zig one; that just didn’t sit right with me. Zig projects usually build much faster than Rust ones. I wanted to see where the time was actually going. 120
Lalit Maganti @lalitm.com · 12/09/2026I made a tool that shows where the time goes when you compile software. It’s called buildprof. Run it in front of any build command and it puts every process the build spawns on a timeline. It doesn’t care whether the build is Cargo, Ninja, Make, Zig or a pile of shell scripts. 2264
Lalit Maganti @lalitm.com · 11/09/2026Got very interested in the performance of parsing of large Perfetto traces as I do once every few months. Managed to shave ~30% of the parse time of traces containing lots of typed arguments, common in traces from Chrome and AI workloads. 011
Lalit Maganti @lalitm.com · 25/08/2026Correlating profiles across different machines usually involves a lot of painful window-switching. Here’s a quick demo of doing it in Perfetto instead: two separate profiles, aligned on one timeline in a few clicks. 030
Lalit Maganti @lalitm.com · 25/08/2026The trace merging feature in Perfetto v58 has a lot of cool applications: view independent traces from different VMs/devices, client-server interactions, and most topically, multi-rank and multi-machine PyTorch profiles. Cooking up a blog post about all of this, coming soon. 010
Lalit Maganti @lalitm.com · 25/08/2026Perfetto v58 is out! We shipped a bunch of things: persistent CLI analysis sessions for agents, zstd compression, better memory tools and more. Biggest feature though is trace merging: multiple traces on one timeline, including across VMs and devices. github.com/google/perfe...github.comRelease Perfetto v58.2 · google/perfettoWe’re excited to share Perfetto v58.2! This release makes it possible to merge traces from different machines onto one timeline, introduces Memscope and Memory Overview for end-to-end memory invest... 000
Lalit Maganti @lalitm.com · 24/08/2026Got a really fantastic comment on HN which I think perfectly captures the essence of my thinking. 110
Lalit Maganti @lalitm.com · 23/08/2026The staff engineering post I wrote a couple of weeks ago is currently #1 on Hacker News, which is a nice surprise. If you missed it: lalitm.com/post/find-pr... 140
Lalit Maganti @lalitm.com · 19/08/20265/5 Caveat: the samples of Opus 5 is small; mainly because I don't particularly like using it (mainly been using Sol but I ran out of usage for the week!) 000
Lalit Maganti @lalitm.com · 19/08/20264/5 Weirdly this only seems to affect code comments, not writing in general. I see just as many em-dashes as ever in chat replies. 100
Lalit Maganti @lalitm.com · 19/08/20263/5 What makes me so sure it's the model? I have a specific session where I *switched* from Fable to Opus 5 *mid conversation*. When Fable was running, 11-emdashes in comments. With Opus 5, 36 double hypens. I didn't touch anything else... 100
Lalit Maganti @lalitm.com · 19/08/20262/5 My methodology: agentsview indexes all my conversations into an SQLite database so I can just run some queries to count comment lines with -- vs em-dashes. 100
Lalit Maganti @lalitm.com · 19/08/20261/5 I've been on Opus 5 for a week and noticed the code comments stopped using em-dashes. It's all double hypens (--) now. Decided to do some analysis to confirm I wasn't fooling myself... 100
Lalit Maganti @lalitm.com · 17/08/2026PyTorch profiles are going to look much better in the upcoming release of Perfetto. Their events lack enough hierarchy, so Perfetto has to guess the layout. We now pack the tallest slice stacks first, making the same trace far more compact. Full explainer at lalitm.com/post/pytorch... 000
Lalit Maganti @lalitm.com · 17/08/2026I'm quite shocked there doesn't seem to yet be a high quality "remote control" solution for Pi. I'm *not* looking for something wrapping Pi; just an extension to monitor the state of agents from my phone. Everything I've tried left me quite disappointed... 000
Lalit Maganti @lalitm.com · 17/08/2026A day-to-day game-changer of LLMs is the ability to design really exhaustive benchmarks. This is the sort of thing I would have just been too impatient to do before. For example, I've spent around 30 minutes iterating and I've ended up with this... 000
Lalit Maganti @lalitm.com · 15/08/2026Before doing so, a TL asks: “Does this person deal with problems the same way I would, or better?” You demonstrate that judgement in small increments, within your existing scope. Formal responsibility is a trailing indicator. More at lalitm.com/responsibili... 010
Lalit Maganti @lalitm.com · 15/08/2026Junior engineers often ask me: “How can I demonstrate ownership when my manager hasn’t given me anything to own?” The question treats responsibility as something that must be given first. But when a TL gives you responsibility, they also accept the consequences of your decisions.lalitm.comResponsibility Is Taken Before It Is GivenTo get promoted as a software engineer in Big Tech, you generally need to show “ownership” of a product or area. This means being responsible for it and deciding what should happen over time. I often ... 200
Lalit Maganti @lalitm.com · 09/08/2026Thanks for reading, really glad you're enjoying it! Yes I think this long term "thinking cost" has not changed with AI; I don't think your experience would have been *that* much different even today with agents! 010
Lalit Maganti @lalitm.com · 09/08/2026Out of curiosity how many are full forks of a project rather than extensions, small scripts/utilities etc? I definitely think the latter is going to happen a lot more often as I call out at the end of the post! 100
Lalit Maganti @lalitm.com · 09/08/2026After nine years maintaining Perfetto, I’ve found most users want a reliable tool so they can focus on the problem they opened it to solve. I expect personalization to grow around maintained cores and extension points. More at: lalitm.com/post/changin... 030
Lalit Maganti @lalitm.com · 09/08/2026The idea that we’ll all fork and personalize our devtools with coding agents is having a moment. I don’t think long-lived personal forks will become the norm. Every fork turns a tool you use into a product you own.lalitm.comChanging Devtools Is Cheap. Owning Them Isn’t.AI makes devtools cheap to customize, but personalized forks still demand ongoing attention and ownership. 4130
Lalit Maganti @lalitm.com · 03/08/2026Haven't tried either of those yet, it's mainly the rock-bottom prices of DS4 which attracted me! 010
Lalit Maganti @lalitm.com · 03/08/2026* Deepseek v4 Flash 0731 reminds me a *lot* of Opus 4.6 and is a *really* pleasant (and fast!) model to use * Deepseek is also *incredibly* cheap; I genuinely think I could use it at full tilt at API prices and it would be competitive with Claude/Codex subscriptions 030
Lalit Maganti @lalitm.com · 03/08/2026Warm takes: * Opus 5 wordieness and jargon is *incredibly* frustrating to work with * Fable is too slow without being much better at many of the tasks I do day to day * I've found it difficult to tell apart the Opus models since 4.6 * Sol 5.6 is much more pleasant to work with *but*... 210
Lalit Maganti @lalitm.com · 02/08/2026It's definitely the most promising candidate out there but it's not there yet! Hoping it keeps marching towards parity! 100
Lalit Maganti @lalitm.com · 02/08/2026Yes discovery is huge. As I said in the post, I found so many interesting projects i would have never thought of through the GitHub discovery page (back when it was the homepage!) and even more through looking at inbound links on issues (something i forgot to mention in the post!) 000
Lalit Maganti @lalitm.com · 02/08/2026Yup tangled is the option I'm most interested in, they're definitely going in the right direction but still got some way to go. Excited to see where they end up! 010
Lalit Maganti @lalitm.com · 02/08/2026There are plenty of places to host a Git repository, but remarkably few places to host an open-source community GitHub’s moat is its shared identities, conventions and paths to discovery. Any replacement must rebuild that social layer, not merely offer better hosting. lalitm.com/post/github-...lalitm.comGitHub has alternatives, but no replacementCodeberg, a Git code hosting platform, recently took a decision to prohibit projects that mostly consist of generative-AI-written code which has prompted concern and extensive discussion elsewhere. Th... 5193
Lalit Maganti @lalitm.com · 28/07/2026Post in question is lalitm.com/post/perfett...lalitm.comSecurity analysis is finally reaching software's long tailAI tools found 17 security bugs in Perfetto's trace processor in 10 weeks: a sign that software's long tail is finally getting the security scrutiny it never could before. 000
Lalit Maganti @lalitm.com · 28/07/2026I wrote last month: > (...) open-source projects cannot afford to have a dedicated team doing security scanning for them (...). we’re going to see a lot more innovation in this space, including from the big AI labs. And now, OpenAI announces Codex Security: github.com/openai/codex...github.comGitHub - openai/codex-security: SDKs and CLI for Codex SecuritySDKs and CLI for Codex Security. Contribute to openai/codex-security development by creating an account on GitHub. 110
Lalit Maganti @lalitm.com · 28/07/2026Fair enough makes sense. I think I might also be heavily biased by working on client side software where you don't have to deal with the whole microservices problem. The most complicated tests we have are still a handful of processes on one machine. 011
Lalit Maganti @lalitm.com · 28/07/2026> The standard in CI today is tests run in the cloud after a commit has been merged Is this really people's experience? Beyond hobby operations, I cannot think of a time where I found a project without at least decent presubmit test coverage. Now I'm wondering if I've been living in a bubble...blog.exe.devReplace Your CI With a Merge Queue - exe.dev blogAgent development means after-the-fact CI no longer works. 120
Lalit Maganti @lalitm.com · 27/07/2026I use it every day and it's changed what I can build. But if I can't trust it to make design calls on its own, I still own the code. Full thoughts at lalitm.com/post/ai-subs... 001
Lalit Maganti @lalitm.com · 27/07/2026antirez says expert programmers using AI should think of themselves as Linus, with agents as the subsystem maintainers. The part that doesn't work for me is trust. Linus's maintainers spent years proving their judgment. I've given LLMs that chance plenty of times and I keep regretting it.lalitm.comAI agents are not subsystem maintainersAntirez, the creator of Redis, recently argued that expert programmers using AI should think of themselves as being Linus Torvalds. The key part of his analogy is this: Automatic programming, instead,... 220
Lalit Maganti @lalitm.com · 26/07/2026I let problems accumulate rather than acting immediately. Some fade; others recur across teams or connect with issues that seemed unrelated. Over time, I see what’s really slowing people down and what might be worth building. Blog post here: lalitm.com/post/find-pr... 000