About Me

avatar.png

Hello! I'm Brian Cottingham, also known on the Internet as spiffytech.

I'm a fan of open source stuff. I do hobby programming projects in Python and F#, and have used Linux as my desktop OS since before Ubuntu was a gleam in Shuttleworth's eye. I even spent three years as the president/vice president of the NCSU Linux Users Group, where I still reside as chairman of the Alumni Committee, and Chief Subcaptain of Switzerland.

I graduated from N.C. State University with a degree in Computer Science a few years ago, and currently work at On-Site as a Devops Engineer using Chef to automate server stand-up for our infrast

Travel

In 2013 I took an RV trip around the country, I saw some pretty cool things, and had a great time! You can read more on my travel blog.

Projects

Here are some projects I've worked on in my free time.

  • NPCWorld is a game/art piece that aspires to be a sort of digital ant farm. NPCs will behave somewhere in a cross between The Sims and Civilization, and the game will visually resemble Age of Empires II. Players' interactions will be limited to metaphorically "shaking" the ant farm (the project is supposed to be mostly decorative). It's much closer to "started" than "finished".
  • csvmaster is a command line utility for parsing nontrivial CSV files. awk/cut don't handle quotes or delimiters in the content, but csvmaster does.
  • MobileBlur is a mobile-friendly web-based interface for the NewsBlur RSS reader. It handles the basic reading features very well. Due to bugs in web2py (the framework used) it's not always reliable, and I haven't dealt with that since the NewsBlur mobile app landscape eventually improved and surpassed MobileBlur.
  • ImageFilter is a very simple tool I rigged up to quickly filter an enormous pile of images between "keep" and "delete".
  • I use YNAB for personal budgeting, but wasn't happy with their reconciling feature. ynab-reconcile is a CLI script that reconciles transactions by assuming transactions for a specific amount within a few days of each other are the same transaction, thus reducing the number of transactions you have to manually reconcile. It compares YNAB transactions with Mint transactions (for easy portability between banks).
  • PAvol is a command line tool for adjusting PulseAudio volume.
  • spiffyscore was one of my final college projects. It generates a MIDI music file algorithmically based on some sample musical phrases you give it. (Technically, it generates using a context-free grammar for each instrument, with some attention to coordinating the instruments.)