Eduardo
Dorantes

I’ve always wanted to know how things work.

Not just how to use them.

Fifteen years ago I wanted to make a Pokémon game.

I didn’t know how to do any of it. I barely used a computer. Then I found Pokémon Essentials, which runs on RGSS — which is Ruby — and that is where my story starts.

Nothing was documented, so I read other people’s code until I understood it, and then wrote my own editor. Ruby is also how I met C.

Reverse engineering is part of how I think.

I wrote down how I do it: Reverse-engineering an Android app — en español.

Reverse-Engineering the INE Credential QR Codes

Seventy thousand dollars and six months.

That was the vendor’s quote to decode the QR on Mexico’s voter credential. Inside were seven layers of cryptography and an ARM64 binary. I emulated the CPU with Unicorn Engine and went down one layer at a time. It shipped in a week.

Teknei · independent security research · México
Read the paper →

Then I ported it to a Nintendo 3DS.

And to C, Python, 85 KB of WebAssembly, Android, iOS, a Go API, and to Eskiu — the language I wrote myself.

VPS Lab · escaneo del Monumento

Understanding existing technology stopped being enough.

Every studio shipping AR on React Native rents the ability to know where it is standing. At ReactVision I’m building the alternative from scratch.

The newest piece is VPS Advanced: you walk a place once and it comes back as a map and a mesh. After that a device can relocalise against that scan and pin content exactly where you left it — matching on the phone, or against a GPU server when the map is too large to download. Because the mesh comes with it, virtual things are occluded by real walls and collide with them.

Monumento · 4,593 map points · 959k triangles · 221 keyframes · 4.1 cm median error
ReactVision · React Native · C++ · JSI · Swift · Kotlin · ~130k downloads a year · github.com/ReactVision

How do you stop a printed photo from defeating a national identity system?

Peer-reviewed · UAEH & IPN · ~99% accuracy in production · ISO/IEC 30107
Dorantes Sánchez, E., with F. Santander Baños and J.H. Sossa Azuela

I don’t believe technology should be complicated simply because the problems behind it are complex.

I never liked C++. I like Rust even less.

What I wanted was C, modernised — the language Ruby introduced me to, brought forward instead of replaced. Eskiu is written like a script and ships like C, and it goes all the way down: an ARM64 kernel written in Eskiu that boots on bare metal with nothing underneath.

eskiu v0.14.0 · UI toolkit v0.2.0 · eskiu-lang.org

Behind every world you explore there are engineering decisions.

Rendering engines, scripting systems, data formats, state machines. I wanted to understand those systems, and then to build my own. Tallgrass is the engine that came out of it — tools other people can use to make their own worlds.

Tallgrass · cross-platform game creation engine · v0 alpha · tallgrass.games

VitroWalker · rutas

It reads saves from the same Essentials I started on.

VitroWalker takes a Pokémon out of your save file and walks it through the real world with you — routes, steps, watts. It is written with Eskiu and powered by Tallgrass: my language, my engine, and the fan project that taught me to program, fifteen years apart.

VitroWalker 1.1.0 · made with Expo and Eskiu · compatible with Pokémon Essentials 20.1 · vitrowalker →
Art direction by KidFates · music by StevenMix

My curiosity has never been limited to computers.

Coaching is observation, experimentation, consistency and an appreciation of how a complex system responds to change. It made me a better engineer.

Knowledge only matters once someone else can use it.

I coach strength, and I wrote the platform it runs on — EntrenaHQ — because nothing recorded what I needed to see: sets, loads, accumulated fatigue, what got repeated and what didn’t.

I also teach artificial intelligence and data structures at CEUMH, which is the audit on everything else.

entrenahq.com →  ·  the coaching programme →  ·  courses & research →
CICED diploma · IHPA certified · degree in personal training, in progress

Eduardo Dorantes

I’m still learning. Still experimenting. Still finding things I don’t understand.

That’s probably my favourite part. If you want to talk about any of it, write to me.

eduardo.dorantes.07@icloud.comgithub.com/doranteseduardoeskiu-lang.orgtallgrass.gamesentrenahq.comwriting · reverse engineering