Here is a list of all the articles I have published for my site:
After high school I did a certficate and later the Degree in ICT at what was known at the time Christchurch Polytechnic Institute of Technolgy (CPIT) a very well regarded polytechnic. As part of the degree we all did some sort of capstone project. For me, I was in the software development pathway so I wrote code.
During my honors, I took a couple of classes involving Human Computer Interaction (HCI). HCI in a sense is the study of how somebody acts around technology and what results come of it. What had been troubling me in the tooling area up to this point, was the fact that to add new source locations to dub repo involved editing source code. It didn't seem right to me, so I went about trying to fix this (in UI design).
Controlling how resources are allocated, used and deallocated is a tough job. There are of course schemes in place such as Garbage Collection, Reference counting and of course handling it all manually. Each of these incur their own costs. Some is small and often, others are rare but expensive. There is never a right answer to all use cases, but there is a set of good options for a particular one. From this I have come up with a design which I believe to take the best of both worlds.
A library we all use today, but to do right everywhere is almost impossible to do. Windowing, the act of displaying a window on a display. Pretty much everything we use today use it.
Software projects tend to fail, no matter what you do. But at the very least you can account for the human-condition where the greatest of failures occur. Simply by recognising that humans fail and more importantly that it isn't always out-right failure but instead are only at the start point in reaching their goals. Iterative&Incremental methodology or as I like to call it "mental-model" is very effective and mitigating this issue.