Showing posts from September, 2022

The Solution to most problems in the world

 You can't have your cake and eat it too ! Today is Sept 30th. Last year Canada marked this as the National Day for Truth and Reconciliation  or orange shirt day ,. This post is inspired by a speaker I heard this morning on the radio. They were talking about the difference between a 'rules follower', and a 'relationship follower'. Basically, that rather then being worried of whether or not you are 'breaking the rules' offending people, it is better instead to focus instead on how can you improve your relationship with others (eg: Indigenous people). It's much more complicated then just the 'do's and don'ts'. It is not anything the same as 'table manners'. As a society, we pretty much suck. This is not to say we do not improve over time, but simply meant to point out that fundamentally we all are responsible for a) Rushing to the 'quick fix' over the long term 'hard work' b) Complaining that it is up to others (eg:

Software Engineering, Agile, Code Reuse, & Refactoring

 An ounce of prevention is worth a pound of cure... Fundamentally, people want to their best quality work that produces useful outputs to society, t he fundamental canon's for  Engineers allows for no less But in real life, we all face a common problem - do we sacrifice on our best quality work, and cut corners to save time and cost on the project ? - Are you okay with a bridge that needs replaced every 2-3 years instead of what that lasts 40 years? - How about a dish washer that has a 1-5 chance of catching fire ? For some reason, I have observed, in the software industry, 'cutting corners' seems to be more acceptable, and the philosophy seems to be "push the code out to production as fast as possible - and we will worry about fixing the bugs later" - just get some 'minimal' thing  that "works". Let's look at an specific example - Suppose you have been asked to develop a piece of software that tracks the assets in your office. Specifically