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

Do not create or delete #game channels.
More work on collectors.
Really fix bug with not being able to change homes
Starting to udpate roles and refactor assignments.
Refactor on claimer, and bail on army roles when there are no creeps without task.
Update closure.
Fix bug with boosting.
From week 10, timestamps for all the things, and profiles.
Fix potential bug with task re-serialization after the task has been replaced.
Fix bug with labs in use.
Fix bug with redefining variable.
Fix bug with spawning.
Always run checkSpawn when the room's run.
Fix bug with flipping resources when we have 0 of them.
Fix max count.
Fix body for remote workers.
Get available energy from support room.
Check energy capacity before trying to spawn.
Fix bug when support room doesn't exist.
Fix support room.
Fixed the wrong thing!
Fix bug with storers.
OK this is getting ridiculous.
Really fix remote storers.
Fix remote storers.
Fix dismantlers.
Fix bug with checking spawns.
Fix remote reservers.
Change spawning rules slightly.
Fix scientists, remove logging.
Fix bug with downgrader.
(2 total commits)
Bug fix to claimers, log update.
Some bug fixes.
Temporary logging.
Don't spawn if we're not supposed to.
Fix a number of bugs with spawning.
Get correct name of creeps.
Don't use engine for now in towers.
Fix checks when boosting. ->
(2 total commits)
If we're above minimum credits, we should be transferring minerals across rooms regardless whether we're ready to buy minerals or not.
room -> rooms
Make sure buyResource is defined before using it.
room.engine -> roomEngine
Refactoring the mine rooms.
(4 total commits)
Week 9 updates, better settings window, better user colors, and timestamps.
FIGlets to Segment.
Complete first round of base room refactoring.
(2 total commits)
More base refactoring.
More refactoring.
More role refactor upgrades.
FIGlet comments, and fixes for resetting home levels after joining a tournament.
Continuing rooms refactor.
Working on base refactor.
Continuing room and role refactor.
Continuing role update.
Starting update of rooms and roles.
Fix healers.
Fix bugs with boosts, update to Proxy.
Update pathing, introduce path encoding.
(2 total commits)
What is wrong with screeps today, I wonder?
Funny, this code worked just fine before. Also, updating market.
Minor update, and add to closure.
Some optimizations for main.
var -> const in files that have been refactored, and some changes in main.
Change eslint options.
Change eslint options.
Add FIGlet comments to main.
Updates from week #8 - Theming the chat window is in! Also, more comments!
Fix sparklines, other minor updates.
Well, that doesn't work.
assign -> canAssign
Check store of storage.
Only consider energy when deciding whether to take from power spawns.
When we're low on energy, don't fill power spawns, take energy from them.
this -> attackRoom
Only succeed army if there are no hostile creeps.
Fix bug with healers.
Modify success to change directive to attack.
Change army success condition to not rely on directive.
Miners need to, you know, actually mine.
Update to commands.
Updates to cache.
Update stable.
Really fix stomping.
Fix bug with stomping.
Update stable bin.
More refactoring, and figlet stuff.
Fix bug with setting priority.
Fix rare bug with pathing on borders.
Refactor ranged creeps.
Various fixes.
Don't error out on army if there are no creeps in it.
Fix melees.
Refactor for melee army units, and some other minor things.
Fix bug with using wrong Steam server for CDN.
Fix bug with reservation checking.
Stop stealing from TooAngel! (And allies.)
Don't do things on terminal cooldown.
Prioritize heal tasks. Media Player