All Posts & Books

Algorithms, 4th Edition

An essential text on the analysis, development, and implementation of fundemental data structures and algorithms.

Enterprise Application Architecture

Patterns to assist with the creation of enterprise software. Enterprise software can be small to large applications, but the use of good patterns can assist with development, maintenance, longevity, and cost-efficiency.

Agile Software Development

The principles, patterns, and practices chosen to assist with the delivery of software projects are essential to the long term success of the project. Design patterns, development principles, and clean code practices directly impact the quality and speed of delivery of software.

The Subtle Art of Not Giving a F*ck

Your legacy is determined by what you choose to care about and and not care about. Pain is a necessary part of life and you often get to choose what your pain or pile of crap is. Always strive to doubt your conclusions and challenge your values so that you may continually grow.

Deep Work

Deep work, the ability to work in a flow state and produce both a quality and quantity of work, is under attack in the current age of distraction that we're in but it has never been more valuable given the extreme technical nature of the knowledge work that most are undertaking. In addition, it provides a greater meaning to work and life because of the richness and focusedness of the experiences. Lastly, it leads to a more rounded life because of the focus on what is most valuable and the discipline to shun the innessential.

JavaScript: The Good Parts

JavaScript has good parts and bad parts. By focusing on the good parts, you can avoid serious architectural issues and write more maintainable code.

Extreme Ownership

Owning your situation, in life and work, allows you to determine your future rather than let circumstances determine it. Leadership is simple but not easy given the numerous dichotomies in leadership. Effectively communicating not only the what but also the why is important so that even the lowest level understands the greater picture to a degree. Through constant dedication, discipline, and continous improvement, individuals and teams can attain the ultimate freedom: intrinsic self-discipline.

Crucial Conversations

How you handle conversations has a huge impact on your relationships. Ensuring safety in conversations is essential to allow for the real issues to be discussed. If there's a safe environment you can talk about anything.

How to Check PHP Version Compatibility

Phan Static Analyzer When trying to determine what needs to be updated in a project to make it PHP 7.* compatible, it is nice to use a commandline program to assist. I straight away tried to use phan static analyzer since I had used it on other projects to check the quality of code but it was impossibly slow, when using it for a codebase plus vendor libs, even when target_php_version was the only analyzer turned on when running phan .

Clean Architecture

Uncle Bob outlines what he has learned over the years when it comes to architecture on a systems and project level. The goal of architecture is to reduce the long-term cost of a project by delaying decisions and maintaining as much flexibility as possible. A special team does not accomplish this goal but architects who are the best programmers. Through the pragmatic application of principles and architectural methods, one can make a project easier and more cost effective.