WHOLE DISK ENCRYPTION WITH ONE COMMAND - LINUX

Plain Mode cryptsetup --type=plain open /dev/sdX myCrypt It’s that simple! What we’ve done is create a device at /dev/mapper/myCrypt that we can now add a partition. In plain mode there is no key on the device so in order to open the device, we use the same command. Let’s have a look at a more advanced plain mode example.

PARTICLE EMITTER WITH C++, SDL2, AND OPENGL

This is a naive approach to creating a particle emitter with C++, SDL2, and OpenGL. To create an efficient particle emitter all the vertices would be held in a single buffer and you would only call glDrawArrays() once every frame. In order to elaborate on drawing separate objects, I’ve opted to draw each particle separately. So let us begin.

COMPILE AND LINK OPENGL SHADER LANGUAGE - GLSL

This is a header-only mini-library to compile simple OpenGL shaders and link them into shader programs. You can also find a working example of its use HERE.

LINUX APACHE MYSQL PHP IN AN LXC CONTAINER

After fumbling around with Docker, and getting nowhere trying to use Apache in a container, I’ve decided to use a Linux Container (LXC) to setup a portable development environment. Why did I decide upon LXC over Docker? I couldn’t get the Apache daemon to continue executing within Docker. I’m also more used to building environments on a command line. At first, I decided to try Docker due to its built in portability; with LXC you have to backup and migrate your containers manually. But with its single config file per container and excellent compressibility, I was able to avoid many headaches.

ANGULARJS BAND NAME GENERATOR

This is a band name generator designed to allow you to enter your own words into a pool of words to be selected at random for each name. It’s main component is AngularJS which allows two-way data binding to each view from the model; the word list on the left and the main presentation box in the center to the javascript model object.

C/C++ COMPILER SETUP AND SINGLE LINE BUILD AND RUN COMMAND

The most common C/C++ compilers are the GCC and G++ compilers contained in the MinGW suite. In order to run and test our C/C++ code we need a compiler to link and create our executable files. MinGW includes the GCC and G++ compilers and can be downloaded here. Install MinGW in any folder you'd like such as

SIMPLE PIANO WEBAPP

I've created a simple piano program that you can play in your browser! It features 4 octaves and can play up to 4 simultaneous notes in one octave. You may use the mouse to click on a key or use your keyboard to play the notes. Click here to start playing some piano!

PERFECT PITCH GAME

Here is a game I created to test and develop your perfect pitch skill. You choose the notes you would like to test then push play and try to guess the note played. Click here to start playing!

RANDOM 32 BAR CHORD GENERATOR

I've created a practice tool that generates a 32 bar chart with random chords. It utilizes the Major and Melodic Minor scales as well as the Diminished and Wholetone scales to create chord voicings. You can use this to practice your arpeggios, scales, and comping. If you are getting bored of playing the same songs then just create a random chart and see if you can follow along. This tool utilizes the circle of 4ths so there are no A#, D#, G#, C#, or F# chords. Click here to open the Random Chord Generator