Rewriting software and how to avoid it

Rewrites. Ugh what a gross word in software development. Believe me, I know all about them. I’ve been writing software for over nine years, and I’ve spent most of it rewriting things because I’m a perfectionist. This post is about how you can avoid the problems I’ve had, and when a rewrite might actually be the right thing to do.

Read More

ECS ramblings


This post is mainly written for people familiar with Amethyst and I won’t be spending a lot of time going over the history of the project and how we got to where we are today.

A small summary and some reminders is in order though.

For those who aren’t familiar I have opinions on how an ECS should be implemented for Amethyst.

We have three names flying around for our ECS project so I’ll provide a quick summary of them here.

  • specs The OG amethyst ECS, this has been kicking around for a long time. It’s got a few problems that have manifested for Amethyst in unfortunate ways which inspired two spin off/reboot projects.
  • nitric @torkleyy’s spin on an ECS, developed here on gitlab.
  • igneous My proposal for a fork of specs that can be used to solve problems with it. Doesn’t actually exist beyond a few drafts and proposals.
Read More