148 karma · joined November 1, 2015
People will and are arguing that "it is kernel code, it should be complicated" but I really think this is backwards. Because it is low level and debugging is really cognitively intense and difficult at this level the code should be even clearer and easier to understand.
Also, "less skilled devs" are just people that are still learning. We've all been there.
https://en.wikipedia.org/wiki/XOR_swap_algorithm#Reasons_for...
1. Just because things aren't done "the way you would do them" doesn't mean they're "bad" or "wrong".
2. If you're not on a solo project, I've found writing correct but less "clever" code to help shorten ramp-up time for new devs and be more beneficial to future maintainability of the code-base and system.
TL;DR; Swapping values by XOR'ing may look elite and clever but hurts you in the long run.
I wanted to avoid building a solution to do the whole communication as I was pretty happy with the website functionality. This tool is mostly to enable you to use the website on windows and to automate a lot of the annoying Windows stuff while still retaining the option to use the website or the Let's Encrypt client in a pinch :)
I had thought about integrating the whole thing into the app but I wanted to keep it nice and simple (it is only a few hours of work actually).
Also it kind of felt wrong to deprive the gethttpsforfree.com of their traffic as I think their tool is really nice and deserves attention :)
http://waitbutwhy.com/2014/05/life-weeks.html
Additional reference data from:
http://people.math.sfu.ca/~idmercer/celebdeathsbyage.html
https://en.wikipedia.org/wiki/List_of_countries_by_life_expe...
As an example, I was working on a project a while back that had StyleCop rules set up so stringently that nothing could live in the same file, no enums, structs, extension methods, nada. The amount of files you had to create when adding new functionality (even a minor one) was mind boggling...
Oh dear lord the MVC madness I've seen... thousand yard stare
But they indeed depend on the team's total commitment on keeping them organized and up-to-date.
The region paradigm is very often misused and is one of those things that starts off nice and then degrades as time goes on (meaning new functions get added in the wrong region, refactorings end up all over the place, etc). I prefer them though over partial classes (shudder) and when properly used they can be a huge timesaver when dealing with those annoying UBER-Forms that tend to happen when dealing with legacy WinForms code :)