Sometimes you run into a truly inspirational piece of software that it’s a wonder even exists. I found 0x0.st recently and it very much falls into this bucket. It’s essentially a simple, no-account, temporary file hosting site where you can just upload a file using a simple HTTP POST and the site will host it for you for between 30 days and 1 year depending on the size of the file. Uploading a file is as simple as: curl -F 'file=@yourfile.ext' https://0x0.st and you’ll get back a URL th...| Lalit Maganti
The Perfetto UI is a fascinating project to work on because it often faces performance problems which you wouldn’t see in more “normal” webapps. I learn about all sorts of weird web features by reviewing PRs for the UI. Two such features I just learned about: will-change (PR): a hint, to be used sparingly, to tell the browser that a certain property of a DOM element will change in the near future. isolation (PR): I feel MDN didn’t do a great job of explaining so I asked Claude which g...| Lalit Maganti
I, and the rest of the Perfetto team, spent a lot of time earlier this year rewriting the Perfetto documentation to be more useful for the average developer. As part of this we struggled a lot to figure out “what is the best way to structure our documentation”. Today, when reading Examples are the best documentation, I came across The Documentation System, an approach to structuring developer documentation. Reading through it, I couldn’t help but marvel at how clear and concisely it lai...| Lalit Maganti
I’ve been using Claude Code extensively for personal projects, and similar AI coding tools at work. Recently I came across this excellent blog post that resonated with a lot of my experience. One part stuck with me though: Noah emphasizes that tools fail with LLMs when they’re “overly complex,” with the Unix philosophy being particularly well-suited for tool calling. But then I thought about git. Git breaks the Unix philosophy completely. It’s sprawling, stateful, and complex. And y...| Lalit Maganti
One of my biggest weaknesses as a software engineer is procrastination when facing a new project. When the scope is unclear, I have a tendency to wait until I feel I’ve “felt out” the problem to start doing anything. I know I’ll feel better and work much faster when I get “stuck in” but I still struggle with that first step, overcoming the “activation energy” required to engage with the details.| Lalit Maganti
TLDR: Explain how the V4L2 M2M API works through the use-case of implementing hardware video encoding on the Raspberry Pi. This knowledge is generally useful as V4L2 is the de-facto generic API for hardware decoding and encoding on Linux. Background My journey started at this video on the excellent Craft Computing YouTube channel which showed how to setup TinyPilot, a Python app for KVM over IP which runs on a Raspberry Pi. Behind the scenes, TinyPilot uses ustreamer to read frames from a HDM...| Lalit Maganti
I’m a software engineer working at Google on Perfetto, a suite of open source tracing tools helping developers understand the behaviour and performance of complex systems. This includes both Android and Chrome where Perfetto is the default tracing system. Perfetto is also used by many other products in Google and by other companies in the industry. My main work is with the trace processor, a C++ library that imports traces in a wide variety of formats and exposes an SQL interface for queryi...| Lalit Maganti
A personal blog| Lalit Maganti
I recently stumbled across this post on lobste.rs about a project called traceboot which allows visualizing the Linux boot process using lightweight ftrace events and Perfetto. The author had some commentary about their experience trying to order tracks in Perfetto: Ordering tracks with perfetto has been ridiculously complicated. It has taken the majority of the time of this project! Upstream’s answers are basically that the main user is Android (Perfetto is a Google project) so others come...| Lalit Maganti