What is the best way to inject a logger?

I’m working on several projects right now that I’d like to be able to generate logs from. The problem is that logging isn’t required for the code to work, so how do I configure it? I see three possibilities: Required in Constructor

Pros Cleanest implementation Cons Requires user to pass in a logger even…

PSR-7 Objects Could Be Immutable

I’ve been thinking a lot about immutable objects lately. Yegor Bugayenko claims that Objects Should Be Immutable and PSR-7: HTTP message interfaces are designed to be immutable. Messages are values where the identity is the aggregate of all parts of the message; a change to any aspect of the message is essentially a new message….

How Can We Colonize Mars?

I periodically read about people wanting to colonize Mars. Elon Musk seems interested in doing so. However, I’m always confused on how we can actually do that, but not in the technical sense. According to the 1967 Outer Space Treaty, we’re forbidden from sending a mission, robot or human, close to a water source in…

Be the Change

Donald Trump will be the next president of the United States. There will be a lot of negativity in the coming days. A lot of finger pointing, name calling, blaming and possibly violence. Please don’t participate in the negativity. When people succeed they tend to party but when they fail they tend to ponder. –Tony…

What is the best git workflow for small teams?

In my development, I use Git all the time. It was a little tricky to figure out at first but, I feel like I have a good understanding of how to use it. When I’ve worked with other developers I see them struggling with a few concepts that I use regularly and thought it might…