Check out my latest posts to find out more about my life, my music, my software, or even my dog!

Web Design & Development Portfolio

The following images are examples of websites that I've designed and developed for clients over the past couple years. The images are screen captures of the websites themselves (Placeholder text likely). Graphical content was generally designed by myself as well (With the exception of the AquaJet Express logo in the first landing page). Experience working with WordPress and Joomla CMS packages, as well as building sites from scratch with HTML5/CSS, Javascript, etc.

Comfortable working with FTP software and various hosting companies. Basic PHP knowledge.

C++ and SDL2 - Lightweight Image Processing Library - Now on GitHub

Quick update! I've been spending the past month or so developing a portable library for manipulating SDL2 surfaces prior to texture conversion. I've just uploaded it to GitHub so that you can download it and hopefully try it out (and maybe even add to it if you have some good ideas!)

I'm also very open to criticism on my techniques in C++ (Self taught over the past decade; I'm bound to have picked up some bad habits here and there, but I am always trying to improve).

It currently depends on SDL2 and SDL2_image (for loading additional file types), however text will be coming soon as well through SDL2_ttf. Still very much a work in progress, I'd eventually like to possibly use it as a very lightweight alternative to OpenCV or even Matlab (ambitious, I know).


It supports the vast majority of functions found in the 'transform.h' file, including some really cool histogram graphing functionality. It also supports kernel operations for blurring, embossing, etc. and adjustment algorithms for modifying brightness, contrast, highlights, shadows, gamma, etc. Another cool feature is the 'Trace' function to outline a pseudo-binary surface (I say pseudo here because the values generated are either 0 or 255, rather than 0 or 1). For higher accuracy, it is recommended that you first Blur the surface before passing the Trace function. It could open up possibilities for some really interesting object tracking and analysis functions, photogrammetry, etc.

I'm also very new to GitHub, so I apologize if I messed anything up on there (in which case, definitely let me know so I don't make the same mistakes in the future!). This is basically the first time that I've posted any of my personal code online. Be sure to submit any feature requests and ideas, I want this thing to be extremely useful for anybody using it.

I'll post some screenshots in a bit for you guys.

Tutorial: Using Reverb and Panning to Create Spaces

Reverb can be a great tool for adding depth to a particular piece of music. It can also ruin a piece with too much of it. Today, I'm going to teach you guys a pretty cool trick for using reverb to create a simple virtual 'environment' effect based off of panning and thoughtful planning.

Here are some audio samples of what the finished product will sound like:



Starting Out:

To begin, let's just say that I'm going to compose a particular piece using the following instruments: Drums, bass, piano, violin, and flute. To create this effect, it's extremely helpful to create a layout sketch of where each instrument physically is in this virtual room, so for the purposes of this tutorial, here is my sketch:


Try to be careful, you want to position things based off of how much they actually play as to utilize the fullest sound possible. This takes a bit of practice.

Now that we have our sketch, let's take a minute to think (basically) about how sound travels. When sound leaves an instrument, speaker, or whatever the case may be, it reflects off of everything that crosses its path, right? Remember that; It helps to understand why this effect works the way it does.

Setting Up Our Instruments and Sends:

Okay, so we have our sketch and our general observation of sound. Let's start setting up these instrument tracks. For each instrument, set up a separate reverb send track similar to what I have going on in the image below. Also, create a master/ room reverb send that all instruments are also sent to (Just one for the entire composition). It's important to note that I generally have all reverb settings the same for each send, as to make everything cohesive; They are in the same 'room' after all, right? For the purposes of this tutorial, I'm just actually using the 'Small Hall' preset on my 'Classic Reverb' VST.

*Tracks beginning with an underscore (_) are the reverb sends to their respective instrument.


Now, each instrument should have a total of two reverb sends that they are sent to: Their own, and the master or room reverb. The next step is to start panning everything (the instruments as well as our sends) based off of your sketch, which is pretty self-explanatory. Here's where the effect really begins to shape up. Pan each of the reverb sends (excluding the room reverb, which should stay center) directly opposite to each parent instrument; For example, if the flute is 45% left, the flute's reverb send would be 45%, right? Continue to do so for each instrument.

Why did we do this? Well, we did this because of the whole reflection thing we talked about, duh! Here's what mine looks like so far:


Volume Adjustment:

Finally, the last step we have is to simply adjust the volumes of the reverb sends. The neat thing about this effect is that all you really have to do to change how much reverb you have on each instrument is to just change the volume of the send for that particular instrument. I can't teach you through a blog article what the correct volumes are. All I can say for sure is that I've noticed that I generally have the room reverb significantly lower than the instrument sends, which themselves are lower in volume than the actual instruments sending to them. Just be smart with it, if something is farther back in the room, it's probably going to have more reverb than something that is super close to the listener.

If you guys want to take this effect even further, there are a few other things you can do.

  • Things that are farther back in the room tend to have more low end because bass travels much farther than high frequencies. On the flip side, things that are closer to the listener will have less reverb and more high end. EQ those instruments to fit!
  • Create stereo reverb sends by adjusting the predelay on multiple reverb sends. This works best for solo, centered instruments. Just send it to two reverb sends instead of one, panned in both, opposite directions. On one of the sends, increase the predelay a bit (30ms-ish) to create a similar effect as the brain uses to process location with very fine changes in sound.
  • Just be creative with it!



Stop Selling Yourself Short, and Start Giving a Shit

Lately I've been seeing a big surge of composers, artists, writers, designers, etc. offering free or low paid work, and all I have to ask is, why? Why undervalue yourself that way?

Let me begin by saying that I understand the notion that "Oh, I can get projects easier," or, "I don't have a portfolio yet to score some bigger projects." The problem is, is that all you are actually doing is eliminating any kind of future for yourself and others like you. Now, I don't mean you on an individual level, but when thousands of people are doing things this way, developers and producers on a mass level begin to think "Why pay this guy when I can just as easily find somebody to do it for free." You are degrading the importance of your skill, not only in the entertainment industry, but to your audience and yourself. The simple truth is, if you are trying to find projects to work on, you are obviously comfortable enough with your level of skill to accept paid work. Why spend weeks, months even, working on something that won't mean shit to anybody because you're just dishing it out for free. When was the last time you truly cared about something that you received for free? The things that you create are important, and you need to stand up for that.

If any of this sounds like you, let me give you some advice; a portfolio doesn't have to just contain projects that you were involved with. The most important thing in a portfolio is that you demonstrate that you can kick ass at whatever you do, not show that you can compose some shoddy soundtrack for some guy's lame project that you didn't care about whatsoever, which, in turn, made the overall quality suffer anyway. If you don't have much work to show off just yet, be confident and take some time to create your very best pieces for yourself. I guarantee that the work you create solely for you and your portfolio will be worlds better than anything you create for some cheap developer.