This webpage lists some of the personal projects I've worked on recently. This is me: ![Me]( ---- # YaraGui (August 2016) A GUI for the YARA pattern matching scanner. Built using Qt and Boost in C++. <img src="" width="480" alt="YARA GUI (Pattern matching tool)"> ---- # WebChess (June 2015) Client-side Java chess engine. Play against the computer AI in your browser. The engine was compiled to JavaScript from Java using the [GWT framework][gwt]. ![WebChess]( ---- # ShaderTune (May 2015) A tool for analyzing the performance of GLSL shaders. The program was written in C++ and uses the [Khronos reference compiler][glslang] to build a syntax tree from the input source code. The number of operations on each line are counted and hotspots are shown in dark red. <a href="">![ShaderTune](</a> ---- # ShaderCap (May 2015) A tool to capture GLSL shaders to video. It was written in C++ and uses the Qt library for the GUI. It uses the [VPX library][vpx] for video encoding. ![ShaderCap]( ---- # GLSL Java Parser (April 2015) A parser grammar for the GLSL language using the [JavaCC][javacc] parser generator, implemented according to the [GLSL specification][glslspec]. ![OpenGL Logo]( ---- # Symbolic Equation Solver (May 2014) Client-side symbolic equation solver written in Java and compiled to JavaScript using the [GWT framework][gwt]. The input equation is parsed into a tree, then tree manipulations are performed to rearrange and solve the equation. I documented the solving algorithm and made slides for a presentation which can be found [here][jsolve]. ![JSolve]( ---- # Big Integer Library (December 2013) A C++ library for performing arbitrary sized, signed, integer arithmetic. Also implemented are RSA encryption test vectors to prove the correctness and efficiency of the code. ![Division]( ---- # Pixel Shaders and Computer Graphics I enjoy writing pixel shaders and experimenting with fractals and procedural geometry. In the past I was interested in software rasterization, and implemented a FPS-style 3D environment (see [C++ source-code][polysynth]). <a href="">![Cypher](</a> [me]: [gwt]: [glslang]: [vpx]: [glslspec]: [javacc]: [jsolve]: [polysynth]: