Skip to main content

Posts

A Music Production Journey

  When I started making  a video game a few years ago I became interested in music theory and production. I completed my video game and the music required for it but I continue to be interested in music production. I thought it was time to examine my journey and share what I've learned so far.  What I discovered Despite listening to a wide range of music including electronic music I was completely ignorant of the landscape of music production. Here are some things I discovered. Synthesizers are so cool! I thought I knew what they were but really I had no idea. I wish I had learned about them 20 years ago. Learning the basic concepts and terminology of synthesis is a useful thing to know for music production. Understanding frequencies, filters, FM, LFO's, and envelopes carries over into many areas and opens creative doors. Now is the best time to create music . Never in history have there been so many tools so widely available so affordably. There are a ton of people maki...

My Latest Build

At home I have a mini-ITX box that I use for shared network storage and backups. The power supply started to die on it so I had to replace the case and power supply. I found someone locally that was selling an decent ITX case for cheap and it took ATX power supplies. This turned out to be a good cheap solution so I rebuilt my box. This case has 1 big fan in the front. The CPU is integrated on the motherboard and has no fan. This is a pretty  small motherboard  but it supports DDR3 memory. The front connectors are always the trickiest to get right. The power supply was relatively cheap new . My only wish was that it was modular so I wouldn't have to include all the power cables. All together it wasn't too cramped with decent air flow. It booted up no problem and runs quiet. Overall I'm pretty happy with the build and it should be easy to maintain in the future.

The Rise of Catbusters

I started on a game a while back that I hoped would only take a few months to complete. TL;DR it took me two years of part-time work but opened many new avenues of exploration and adventure. I was once a little embarrassed when a kid asked me if I had created a game yet when they found out I was a programmer. It seemed like such a disappointment to them when I said I hadn't yet, like, why else would you become a programmer? I realized that it was time to actually make a game. So I decided to make a multiplayer mobile VR wave shooter. The multiplayer and mobile VR requirements were important to me. I wanted to make something I could play with my kids or friends. So I developed it to be somewhat kid-themed. I wanted the baddies to be animals or robots too. No blood.  Originally it was going to be robot bunny attacks. I made some concept designs. The players would have vegetable-based weapons like radish blasters and cabbage bombs. Ultimately, this design did not come to fruition. I...

Markdown Notes with Unotes

I've just published a Visual Studio Code extension for note taking. It turns VS Code into a sweet note editor. It's called Unotes . (think  numéro uno ) I created this because I needed it. I take notes on whatever I do. School, work, books, online courses, computer work, home projects... you name it. Keeping notes in digital format is great because you can sync them between computers and access them anywhere over the web. I'd used and loved OneNote in Windows for many years, all through grad school and beyond. Then last year I switched jobs and started working exclusively in Linux. That meant I had to use the web application to maintain my OneNote notes. This frustrated me because it was ugly and slow. I explored other options with the following requirements: Free Cross-platform Open text-based format Image and basic styling support Theme-able (dark) Sync-able between devices Searchable WYSIWYG editor Visual Studio Code + Markdown seemed lik...

Raspberry Pi Zero Printer Server

For Christmas I got a Raspberry Pi Zero-W  single-board computer. They cost around $10 and are amazingly tiny and use very little power. My goal was to attach this to the usb printer (HP LaserJet 1020) in my home to share it on the network without having to have a desktop computer attached to it and running all the time. This would be much cheaper than buying a new wireless enabled HP printer ($200). Also this would give me a good excuse to play with one of these little single-board computers... There were a few hurdles to get everything working but I did succeed after some googling and tinkering. It's been working like a champ so far and now I can print from all our home computers and Android phones. I mostly followed  this tutorial . Here are the steps to set this up... Download the Lite version of  Raspbian . This is a minimal Linux distro based on Debian.  Use Etcher (or something similar) to copy the Raspbian image to a micro SD disk (you don't need t...

Low Poly Dino

I did some more low-poly modelling in Blender. This time I was inspired by my son's baby blanket. I usually use a box modelling technique. Here is a rendering...

NPM for Qt (Finally!)

Survival of a Language To have a thriving ecosystem, what does a programming language need? Short Answer: A Good Package Manager A package manager is a set of tools that help automate the installation, configuration, removal, and updating of libraries and programs. Package managers are key to an effective build system because they take the pain out of loading and organizing the correct versions of dependencies to create a consistent build. They can also be a gateway for module exploration. This discovery method can save developers loads of time they would have spent re-inventing the wheel. What Makes a Good One? A good program manager should have the following attributes: Cross-platform Free Easy Fast Deterministic Browse-able Promotes quick evaluation Examples C# Nuget JavaScript / Node NPM / Yarn Python PIP Anaconda PyPl Go go get Ruby RubyGems Rust Cargo Crates.IO Java Maven Gradle PHP PEAR PE...

Modifier Power

Blender is an awesome tool for motion graphics . After watching some workflow videos by Midge Sinnaeve (a.k.a the Mantissa) I was totally blown away by some of the things that are possible using Blender's modifier stack. You can really create complex and interesting animations with a pretty simple setup. I decided to take a creative challenge by making an image using only a sphere. So here is my 2-hour project. Here is the modifier stack I used in Blender. The ability to animate a texture and affect the modifiers was made possible by using a VertexWeightEdit modifier as shown below. Modifier Stack Texture key-framed values The animated curves were part of another project where I experimented with creating curves from particle animations. Also something I learned from Midge.

Dealing with DPI in Qt

Qt is an awesome framework for building responsive desktop applications. Before releasing an application though, you will need to deal with issues involving DPI. Depending on your target OS there are a few options and issues to consider. Qt gives some helpful information  here . On Windows you need to understand that there are 3 levels of dpi-awareness your application can have. By default a Qt application declares itself dpi-aware , either per-screen-awareness for Windows 8.1+, or system-wide-awareness for older Windows versions. This means that you will need to do some work to make your application adjust appropriately. The Easy Way If you are targeting Windows only , then there is an easy solution to make a dpi-unaware application look good on all displays. Simply tell windows that your application is dpi-unaware and Windows will scale the application window so it looks normal on high-dpi displays that have fonts scaled. Just add a qt.conf file to your applicatio...

Low Poly Model

Low poly models are pretty popular these days. I decided to make a deer for a quick 2-night project.

Toy Train In Blender

I completed a short side project of a toy train model. It's pretty simple and was fun practice. I'm not 100% happy with the PBR shaders but my main focus was on the model, which turned out pretty clean and simple.

Blender VR

Creating VR 360 videos in Blender is actually quite easy. I followed a few simple instructions and created a simple low-poly scene. Here is the my test video on YouTube: As you can see, the resolution needs to be much higher for it to be enjoyable. Next time I'll ramp it up to 7168x3584 or higher as is recommended. This is the tutorial I followed for the Blender settings:

Spiral Sculpture

Experimenting with Blender cycles renderer, screw modifier and some compositing

New Blog

I decided to create a new tech and design oriented blog. I plan to post technical blurbs on programming, graphics and design. I will also highlight current and past programming projects and Blender work.