Editor's Choice

Thanks for visiting! If you value what I do, here are some ways you can support my work.
It is not given to us to be perfect, nor to do perfect work. But this program, surely it's close? Let's talk about the value of tiny improvements.

Recent Articles

(Jan 31, 2023)
It is not given to us to be perfect, nor to do perfect work. But this program, surely it's close? Let's talk about the value of tiny improvements.
(Jan 30, 2023)
Now that the Collision Strategies area all broken out, let's have a look and see what we think about them. Am I reversing yesterday's work? Yes, some of it. That's OK. (Ninth decade? Really?)
(Jan 29, 2023)
After an idea that doesn't pan out, we complete the installation of CollisionStrategy objects. We begin assessing what we like — and what's troubling.
(Jan 28, 2023)
We'll try another one of our CollisionStrategy things. I was hoping for some reuse but am not clear yet how to get it, nor whether its really worth it. I think we'll complete all four Strategies and then look around.
(Jan 28, 2023)
Delegation using Kotlin's `by` seems not to be quite the thing, though I believe I could make it work. I think that late yesterday I invented the Strategy pattern. Let's find out.
(Jan 27, 2023)
As promised, we'll discuss `by` delegation, but I now think that it isn't going to be as useful as I had hoped. I could be wrong, and — oddly enough — hope that I am.
(Jan 25, 2023)
Let's simplify some tests. I think we can get `knownObjects` out of Game.
(Jan 25, 2023)
Let's see how we like the look of the new GameCycler, and review how it went. There are things to do. Could we get more objects to be immutable? That would be interesting.
(Jan 24, 2023)
Let's move some more code over into GameCycler. We complete the Strangler!
(Jan 24, 2023)
Let's look at cohesion, duplication, and other considerations. Maybe we can get a bit more gilding on this lily.
(Jan 23, 2023)
I've gone back and forth on how much type information to preserve. Let's try to compare the two.
(Jan 22, 2023)
With the simpler SpaceObjecgCollection in place, it's time for Transaction. Do we just check out the old version? No, we do not. But why not? Also: You are waffling, sir!
(Jan 21, 2023)
I think we're ready to try the new simpler collision scheme, which is really the old collision scheme from before we started this centralized version. We'll discuss further whether this is a step backward or forward.
(Jan 20, 2023)
I really thought I was finished improving the centralized version, but these small changes will, I think, make things much simpler overall.
(Jan 20, 2023)
There's a lot to like about the centralized version, but this morning I realized that it's far from ideal. Let's explore why and what to do.
(Jan 19, 2023)
Let's explore some possibilities for improvement. Maybe we can even reduce some duplication. That would be nice. Added in Post: Almost a complete waste of time! Dammit! My hopes are dashed!
(Jan 18, 2023)
Last night, I made a change that I now believe to be a mistake. In fact, I did it twice. Further: We begin to draw a conclusion.
(Jan 17, 2023)
With changes to Transaction, I think I can get rid of most of the type checking in the system. I could be right ...
(Jan 17, 2023)
I think that code in Missile is a bit too clever. I may have a better idea. Let's find out. Also: remarks on Jira.
(Jan 16, 2023)
Let's rename all the `interactWithThisAndThat` to `interact`. I think that will reduce unnecessary noise. We'll see.