Portrait of Deniz Sezen

Deniz Sezen

Software Engineer

About me


I am a battle hardened software engineer with a proven track record of delivering against

tight deadlines and stringent requirements. I have a vast amount of software development

experience in both high level and low level languages, ranging from Python and Java all

the way down to C++ and x86 assembler. I live to tackle difficult challenges, bringing

my seven years of combined experience in application development, release engineering and

cloud infrastructure automation to bear. I am not afraid of getting my hands dirty and am

relentless in pursing elegant and maintainable solutions.

If you're interested in learning more about me, you can find a copy of my résumé here.

Below, you can find blurbs about interesting projects I've worked on in my spare time.

My skills

Programming Languages

  • C/C++
  • Java
  • Python
  • Bash
  • x86 Assembler

Operating Systems

  • Windows
  • Redhat / CentOS
  • MacOS

Version Control Systems

  • Git
  • Perforce
  • SVN
  • CVS
  • BitBucket

Continous Integration Tools

  • Jenkins / Jenkins DSL / Jenkins Pipeline
  • Artifactory
  • Ansible / Ansible Tower
  • Docker
  • Packer
  • Chef

Cloud Providers

  • Google Cloud
  • vCenter
  • Rightscale / Flexera

Other Tools

  • Coverity
  • HP Fortify
  • Checkmarx
  • Black Duck

Projects

Black Mesa

First person shooter built on the Source Engine

I joined the Black Mesa team right as they acquired a license from Valve to go commercial.

I worked on numerous subsystems including graphics, artificial intelligence, and gameplay.

In addition, I was responsible for building out the release pipeline to get the game packaged

and uploaded to the Steam distribution platform. I also maintained version control systems and

liaised with VALVe to coordinate and integrate code updates provided to us.

DynDetours

Extensible function hijacking library written in C++

This was a fun little project I worked on because I wanted to be able to modify behavior in

a game called Counter-Strike: Source. The game was based on the Source Engine and was closed

source, which meant I had to reverse engineer the interfaces I wanted to modify. Traditionally,

function detouring requires the programmer to write c++ function prototypes for each target

function. This effectively forces the programmer into writing lots of boilerplate code and

constantly recompiling their application. I wanted to be able to do this from Python, without

writing a single line of target-specific C++. DynDetours uses strings to define the metadata

for the target function you want to detour. It will then automatically generate the correct

x86 assembler code required to call your callbacks in a language agnostic manner. I wrote Python

bindings for this library and used it in my Source.Python and Source.Python extensions projects.

Unity Injector

A Win64 based injector for games based on the Unity Engine

This project was the result of another reverse engineering challenge I took on for fun. I was

heavily into a Unity game called Inside by Playdead Studios. In my drive to modify the behavior of

the game, I wrote this application. The Unity Injector allows you to target any Unity-based process

running on your system. It will inject a payload DLL which will wrap around the existing mono-based C#

interfaces that Unity uses internally. From there, it will open up a prompt window that you can issue

commands from. The tool allows you to dump the contents of any C# assembly loaded into the process.

In addition, the tool allows you to load in custom modules or overwrite existing ones.

Source.Python

A boost::python wrapper around the Source Engine API

I started this project back in 2013 when Counter-Strike: Source modding was in vogue. It aimed to

provide an extensive set of wrappers around the many public interfaces the Source Engine exposes.

It's cross-platform and works against most Source Engine based games in distribution today. The plugin

also integrates functionality from DynDetours and provides a very robust set of Python support libraries

that scripters can leverage to make their own custom game modes. I left the project late 2013 because

Black Mesa went commercial. It's currently in the hands of an extremely talented group of people known

as the Source Python Development Team!