Skip to content

Introducing Project Onix

July 13, 2016

Phew! It’s been a while.

I’m resurrecting this blog to document an exciting new project I’m undertaking: the complete rewrite of my usage stats scripts (gasp!).

When I took on the role of statistician for Smogon, I was a grad student who’d only ever written academic code (where if it runs, no one really cares what it looks like or how it’s written). I used the project to teach myself Python, and I knew not one iota of the principles of good software development. Five years later, I have grown so much as a programmer, a software developer and a data scientist, and frankly, I’m unhappy with the status of the codebase. Yes, the scripts work (for the most part), and keeping everything running has so far not been too onerous, but when I look at my code, I just feel embarrassed. I can do better. And I feel that I owe it to myself to do better.

But it’s really more than that: more and more I’m finding myself hampered by my design decisions: the scripts are slow, any slight hiccup means I have to rerun everything from the beginning, and, most significantly, they’re not easily extensible: people ask me all the time whether I can perform a certain analysis, and my answer is almost invariably “no.” And I really dislike that. I really wish I could do more to foster analytical thinking with regards to Smogon and Pokémon in general, and that’s not really possible with the current set-up.


Enter Onix:


Burrows at high speed in search of food. The tunnels it leaves are used as homes by Diglett.

Onix has a magnet in its brain. It acts as a compass so that this Pokémon does not lose direction while it is tunneling. As it grows older, its body becomes increasingly rounder and smoother.

I’ve decided to call this rewrite “Project Onix,” after one of my favorite Pokemon, who also happens to be a favorite Pokemon of Roark, miner and gym leader from Diamond-Pearl-Platinum. Over the next few posts, I’ll talk about the design for Onix and more about my plans moving forward. So stay tuned!


From → Uncategorized

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: