Recent Articles
All truth
“All truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident.” – Arthur Schopenhauer, German philosopher (1788 – 1860)
If
Quotes: Things that inspire and be remembered “If you can dream – and not make dreams your master; If you can think – and not make thoughts your aim; If you can meet with Triumph and Disaster And treat those two impostors just the same;” – Kipling
I can’t believe I missed this!
Just over 20 years ago Jack W. Reeves wrote an article in the C++ Journal entitled “What is Software Design?” and I missed it. Not only that but no one thought to point out that I was missing a very important article. An article that challenged and changed/clarified my mental model of software design and [...]
DRYing out code
Removing duplicate code is a great way to improve the internal quality of your application code. Duplications mean that you have more code than you should and are often the source of more subtle bugs of the “I’ve already fixed that ..” variety. While working on a scriptable command line tool for Java (see Automated [...]
Integrating GPUs in Application Development – From Concept to Deployment
This post is a little overdue In June I presented at QCon NYC on using GPUs. It was a great chance to catch up on all the changes to C and C++ that I have missed out on in recent years. You can catch up on the presentation over on InfoQ The source code used in [...]
Autmated refactoring for library updates
Vision: Automated refactoring for upgrades After watching Clang MapReduce — Automatic C++ Refactoring at Google Scale I was struck with the idea that this could help with the upgrade problem. Almost every application uses libraries. Those libraries need to be updated from time but each time they are updated all the code using those libraries also needs [...]
Metrics based Refactoring for cleaner code
Refactoring is a key practice to improved code hygiene. Making refactoring part of your next project is one thing but if you have just joined a team or project with a significant amount of debt how do you work on making things better? Over the last few months I have been assessing a number of [...]