About Me

A Tinkerer

At a young age after I was introduced to the internet I always wondered, “what makes this work?” and ever since then I’ve been on a journey of figuring out what makes all this technology we use daily work. Eventually I started playing video games and was introduced to video game hacks and the same thought came to me, “what makes this work?”. That led to me being introduced to cheat engine, ollydbg, and IDA. These three tools are things that I still use on a fairly frequent basis. I combed through dozens of tutorials on how to make cheat engine “cheat” games when I was 13 (this is a reminder of how old cheat engine actually is, and how long memory editing has been common place).

I learned what an address means is and using the simple interface of cheat engine set my health in games to infinite and froze the value andmodified money in flash games to be 2.147 billion. Luckily when I was growing up, a friend of my dad had a copy of The Art of Assembly Language which let me make sense of the output of cheat engine, ollydbg, and IDA. Seeing a screen of things like “eax”, “mov”, “jne” on your screen is pretty intimidating.

I could go on about my history in game hacking but sufficed to say I have improved a lot since my days of using cheat engine, but the most fun thing about reverse engineering and game hacking is that there is always more things to learn.

A Programmer

I view programming as a tool to solve problems and do Project Euler problems for fun and recently started to do HackerRank problems too.

I enjoy exploring new technologies and see what benefits can be gained from using different frameworks, languages, and tools. This can be seen in the breadth of the things I’ve worked on. During my time at the RED Lab I wrote: Python, JavaScript, Java, C++, Objective-C and PHP code for the prototypes I created and used: NodeJS, Django, Qt, Loopback, MongoDB, MySQL, and the Android SDK. My goal is to always have the right tool to solve problems and that means being aware of your options.

A Problem Solver

In the freelance projects I’ve worked on I am often asked “I want this particular feature, tell me how we should go about doing this, and how long will it take to do it right?”. I had the luxury of interacting with technically minded people for my contract work often working with other developers and creating a plan. Finding a balance between the need of pushing out a product, having a code base that won’t need to be heavily rewritten later and writing tests to ensure things are done correctly is a difficult but fulfilling task.

This post was taken from my old blog and was written May 2015