This webpage lists some of the personal projects I've worked on recently. This is me:
![Me](http://www.movss.com/~rich/images/me.png)
----
# YaraGui (August 2016)
http://sigint9.github.io/yaragui/
A GUI for the YARA pattern matching scanner. Built using Qt and Boost in C++.
----
# WebChess (June 2015)
http://www.movss.com/~rich/chess/
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](http://www.movss.com/~rich/images/chess.png)
----
# ShaderTune (May 2015)
https://github.com/sigint9/shadertune
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.
![ShaderTune](http://www.movss.com/~rich/images/shadertune_small.png)
----
# ShaderCap (May 2015)
http://www.movss.com/~rich/shadercap/
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](http://www.movss.com/~rich/images/shadercap.png)
----
# GLSL Java Parser (April 2015)
https://github.com/sigint9/glslparser/blob/master/glsl.jj
A parser grammar for the GLSL language using the [JavaCC][javacc] parser generator, implemented according to the [GLSL specification][glslspec].
![OpenGL Logo](http://www.movss.com/~rich/images/opengl.jpg)
----
# Symbolic Equation Solver (May 2014)
http://www.movss.com/~rich/jsolve/
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](http://www.movss.com/~rich/images/jsolve.png)
----
# Big Integer Library (December 2013)
https://github.com/sigint9/bignum
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](http://www.movss.com/~rich/images/bignum.jpg)
----
# Pixel Shaders and Computer Graphics
https://www.shadertoy.com/user/dila
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]).
![Cypher](http://www.movss.com/~rich/images/shader.png)
[me]:http://www.movss.com/~rich/me.png
[gwt]:http://www.gwtproject.org/
[glslang]:https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
[vpx]:http://www.webmproject.org/
[glslspec]:https://www.opengl.org/registry/doc/GLSLangSpec.4.40.pdf
[javacc]:https://javacc.java.net/
[jsolve]:http://www.movss.com/~rich/jsolve.pdf
[polysynth]:https://github.com/sigint9/polysynth