From the beginning of my UTA100 journey I set myself the following goals: Base: Finish; Target: 20hrs; Stretch: 18hrs. After an extended training season, in often treacherous conditions, the race is finally here. I’ve put in all the effort to get this far, and I am now hours away from finding out if I have done enough.
Ok, so it turns out that yes I am more stupid than I gave myself credit for (see part 1). Suckered into an event that I know is impossible unless I commit 100% to my training. This time it is different. I now have family commitments, a wife, two young kids and less flexibility in my work. And my training load will be significantly more than I’ve ever done before.
Yesterday I completed something that I have long thought I would never be able to achieve, and not only did I finish it, but I smashed all my expectations. The story is hard to tell, without going back to the beginning. As it turns out this 100km (62mi) trail run didn’t just take me 13 hrs and 55mins to get to the finish line, it was the previous 12 years that got me to this point.
I was recently asked by @mattgoldman if I’d like to put together a post for https://twitter.com/hashtag/MAUIUIJuly. After struggling for some inspiration recently for posts I figured this is the perfect excuse opportunity to jump back into it.
For those of you living under a rock and aren’t quite sure what .NET MAUI is and why you want to use it. Lets start with what is .NET MAUI.
What is .NET MAUI Simply speaking MAUI stands for Multi-platform App UI.
As a junior developer, one of the key principles that were drummed into me was that hardcoding values is a BAD thing (amongst many other principles). But then more often than not, the pressures of deadlines, project managers and product owners don’t afford us the luxury of building an engineered solution the first time around. So we revert to simply hardcoding just to keep everyone happy and deliver a feature. What no one ever mentions is that there are two ways to hardcode values: the RIGHT way and the WRONG way.
A colleague and I recently finished a short 3-week project with a client, the result of which is one very happy client, and an MVP finished before the deadline. Below are the lessons that I learnt during that project.
tl;dr Let Visual Studio generate your overrides for Equals() and GetHashCode() so you don’t need to remember the best practices.
Don’t roll your own GetHashCode() algorithm or even rely on StackOverflow, use the .net framework to work it out for you..
HashCode.Combine(Long, Lat, Altitude); Background When trying to check the equality of reference objects in c# we simply cannot apply the ‘==’ operator, as this will only compare memory locations and not data.