Music. Coding. Gaming. Life.


Programming has been a hobby of mine since I was a child. I am entirely self-taught, and have managed to carve out a career in the field that spans over fifteen years.

Initially, I worked with BASIC on the TI 99/4A, Atari 130XE, and the Commodore 64 and 128. This transitioned easily to Mac OS 7's QBasic. Then I learned Microsoft Visual Basic 4 through 6 and starting making small programs and games. My first two programming jobs involved me learning Microsoft Access, with all kinds of back-end VBScript.

In 1998, I got heavily interested in web technology, and took a dive into HTML and JavaScript. Soon, I'd pick up Visual Basic.NET, C#, and ASP.NET. I was then able to transition my HTML knowledge to the modern HTML5 browser. My JavaScript experience also readied me for learning Node.js. Along the way I've picked up a bunch of PHP and C/C++ as well somehow.

In many ways, I consider the core concept of coding to come quite naturally to me. You simply break a task down into smaller and smaller tasks. What really fascinates me about coding, however, is how you can put all these simple tasks together to do something phenomenal.

I am involved in many projects outside of my professional career that involve programming in some way. This page is dedicated to showcasing those projects.

Current Projects

Commits and Releases

Fix bug with style element showing CSS in previews. Also, remove site.min.css from source control.
Week 18, starting work on special notices.
Week 17, error on unable to edit channel.
Fix bug with creeps.
Bail if no room. Also, package updates.
I'm an idiot. Fix upgrade boosts.
Don't starve rooms.
Allow miners to be spawned from the region if there are none in the room.
Upgrade polymer to 1.0.5.
Week 16 progress, sorting/hiding right side chatters list, and URL links.
Fix bug with picking up resources.
Don't save room if the room type was removed.
Fix storer counts.
Prevent deal amounts from changing due to rounding

This fixes a bug that is causing orders that had a total deal cost where the digit in the thousandth place is between 1 and 4 from fulfilling the full amount. Drycoded/untested.
Provide warning if path goes through an avoidRoom.
Ensure the resource exists before picking it up.
More fixes to console.
Attempt to fix twice daily disconnects.
Fix bugs with terminal energy.
Updated packages and code resulting from package change.
Remote collectors should only collect things if they are in the room, and deposit everything they have first.
Fix workers not using boosts.
Always run on even ticks, not odd ones.
Fix upgraders home source.
Workers are obnoxious.
Fix bug with spawning workers for other rooms.
Only flee from attackers.
Check supportRoom, not room, for data.
Fix bug with spawning.
Remove changing max when spawning for a different room.
More spawning fixes.
Fix spawning from support rooms.
Fix bugs with not spawning for remote rooms.
Fix check for workers using minerals.
Correct scientist count.
Fix stomping.
Fix bug with spawning upgraders for other rooms.
Fix upgrading.
More upgrader fixing.
Fix bug with upgraders.
Fix bug with no spawns.
Fix bug with worker.
Fix bug with storage.
Fix bugs in rooms without storage.
Remove mass attack from rallying.
Stop boosting workers when the lowest wall is over 200,000,000.
Week 15, user badges.
Chat bug fixes from week 14.
Some performance improvements.
Added twitter updates. Version 1.0.0.
Now works with the database to remember the last match ID that was posted.
Update to mssql 4.0.4. Still needs some fixing.
Require a minimum of 10 amount.
Refactor into class.
Create texts for tweets.
Fix bug.
Style fix.
Be smarter about how power spawns get refilled.
Tweaking remote storer count.
Still make things we are trying to buy if it's not time to buy things.
Only buy when there's more than 100 minerals needed.
Making a modification to how minerals are bought. Prefer higher minerals over lower ones.
Do not allow boosted creeps to auto-repair roads, it's a waste of energy.
Implement waypointing.
Season 4
From week 13, chat improvements.
Fix bugs with array slicing.
Be more aggressive with selling when we're not buying things.
Update layout of terminal transactions.
(2 total commits)
Fix bug with tough parts.
Fix armies that have creeps with defined toughness.
Allow tough parts to be defined.
(2 total commits)
Fix not retreating for all roles. Finally.
Well that sucked.
More logging.
Logging dismantler.
Turn off singing for now, need debugging.
Only take 100 of each log.
Panic sooner.
Stop using Array().fill().
Only try to find escorts during the staging phase.
I really mean dismantlers.
Fix bug with Dismantlers not wanting to leave.
Allow for any boost rooms elsewhere.
Try boosting with any room in the region.
Escortees always heal.
Super army fixes.
Updates to console, looks like it's working, and WAY better than Angular ever did.
OK, we're really fixed this time.
Why are my healers dumb?
Fix healers.
Better handling of escort.
Don't get snuggly with escorts if we're at full health.
Scientists get energy from storage first.
Allow healer creeps to build if they are escorting through portals.
creeps -> creep
Don't escort if you need to take portals.
Fix portal rallying. Media Player