Continuing last month’s theme of searching Git history — here we look at how to find the source of changes, even after other people have worked on (or reformatted) the area in question.
The question: which commit actually introduced a given string into the file? Continue reading →
Working on many separate enhancements.. How to find which branch my changes to a particular file are on? And if a file was deleted, how can I find that?
Last week I had to debug some unstable tests, which were only launched externally from Ant (launched from Maven). The tests were largely not directly runnable from the IDE, and did not run equivalently.
Obviously this is outdated practice and not good TDD, but sometimes we need to work with such assets anyway 🙂
Production issues are among the most demanding challenges a software team can face — especially when they occur in environments outside your direct control.
To navigate these situations effectively, this methodology draws inspiration from the OODA loop (Observe, Orient, Decide, Act), a strategic decision-making framework originally developed for military operations. The goal is to establish control, gather facts, and make deliberate progress toward resolution — even in the face of complex or obscure problems.
Covering indexes are a crucial performance technique for RDBMS optimization, and one of the most effective tools in the tuning toolbox. When large joined queries suffer from poor performance, here are some tips to tackle the situation. Continue reading →
One of the most profound insights I have learnt about OO is that class design — the shaping of classes & types — is best informed by what processing needs to do,rather than the ‘kind’ of entities it goes between.
What we are talking about here is behavior, rather than trying to categorize entities at rest. Program code only acts by being executed; classes & interfaces (types) are a mechanism to despatch that execution to specific methods.
This shows that OO is really about active behavior, rather than any other arbitrary notions of classification.
But shouldn’t inheritance just follow Entity Properties?
At this point, we’ll address a common interjection — what about bean-style entities, and their properties? Surely inheritance should just follow these! Continue reading →
Insights into Java coding, OO design & architecture