Leo Tindall

  Software Engineer, Writer, and Free Software Advocate

I’m Leo Tindall. I work with computer hardware and software, building tools and tech that makes it easer for people to reclaim their lives from the Apples and Googles of the world.

I firmly believe that computers should belong to users, not their makers, and that as the wizards of the information age, it is our duty to demystify technology and make it as easy as possible for people to understand and fully control the data gathered for and about them.


I write systems code in Rust, assembly, and Go, and a lot of scripts and utility software in Python and Lua.

I work on websites and web applications using CSS, JavaScript, and TypeScript, but I have fundamental misgivings about the web platform as it stands., and many more.

You can check out my projects to see what I’ve worked on in the past. The big ones are the Open Energy Dashboard, FediDict, and iui.


I’ve written tutorials on type systems and what can be done with them (for instance, session types.)

I also have a lot of general writing on programming and useful libraries for various languages under the programming category.

If you’re interested in x86 hacking, my reverse engineering tutorial is a great place to start. For a more application-level security discussion, check out my post on embedding malware in PDF files.

Culture & Practices

The culture, business, and sociology of technology fascinate me, and I’ve written about topics ranging from hacker superstitions and how spending way too much time customizing my desktop is productive, actually to repairable hardware and free software and why it matters, for individuals and for society as a whole.


I occasionally build actual, physical stuff, mostly small RC aircraft and hacking kit.

I also really like retro computing hardware, but generally don’t have the time or money to indulge this interest.

Around the ‘Net

I’m available at a few places around the ‘net. You can find me:

These links are rel=me; you can validate them by seeing that their destinations point back. Consider using rel=me yourself with IndieLogin.


This website is also available on IPFS, a peer-to-peer content-addressed immutable datastore that spans the globe. I host a public IPFS gateway at ipfs.leotindall.com; you can also view this blog through that gateway rather than the public resolver.