Mark Langen's Home Page

About me

I'm Mark Langen, a professional programmer living in Edmonton, Alberta who goes by the handle "stravant" online. I have experience focused in the following areas:

  • Java / Android App Development — I have developed multiple Android applications professionally, as well as some others as hobby projects. I have also worked on large enterprise scale Java codebases outside of the Android ecosystem including Swing and JavaFX desktop applications.
  • Low Level C/C++ Programming — I have done a lot of low-level work with C++, including writing multiple libraries for reading and manipulating binary file formats, writing parsers and compilers, and writing code for embedded systems. I know C++ throroughly enough to do everything from writing stable enterprise code to using crazy template metaprogramming tricks.
  • Lua Scripting and Lua C API Development — I have a very in-depth knowledge of the Lua scripting language, including developing C/C++ API bindings for it as well as details of the language's history and implementation.

Other interests:

  • Programming Language Geek — I've written some code in, or at least done some reading on pretty much every reasonably popular programming language under the sun. I can pick up any programming language pretty quickly whether it be an everyday OO/proceedural language, an array based language, or even something more exotic like a logic based language.
  • Getting my Hands Dirty in a Hex Dump — I have a good understaning of low level programming in assembly code and reverse engineering compiled code / binary file formats, as well as low level operating system concepts, having done some bare-metal programming.

Projects

I maintain this projects page detailing various interesting projects that I have worked on in the past, showing small web-based applications and demos I have made, and giving information on current projects that I am working on.

Contact

You can find my full contact information as well as copies of a current resume on this contact page.