Java Logging: Herding Text-Based Cats

Java Logging: Herding Text-Based Cats

Java has a rough history with logging. Over the years, several new standards and "de-facto" standards have been created, yet most older standards remain in use. Yes, all of these come into play once a Java app gets big and deals with enough external dependencies. Yes, they conflict with each other. Yes, this is terrible.

Though, there's a way to make it all work.

Dependency Injection: Multiple Ways to Minimize Energy in a Molecule

Dependency Injection: Multiple Ways to Minimize Energy in a Molecule

Sometimes science isn't exact. There are multiple ways to arrive at an answer depending on the situation and goals. For instance, we could calculate the free energy of a molecule with either ab initio quantum dynamics or molecular mechanics. Within molecular mechanics there are multiple popular methods, such as the MMFF force field. Inside an application that contains multiple methods for accomplishing a task, we need a way to select among options in a consistent way. Enter: dependency injection.