682 karma · joined August 18, 2021
As for dealing with merge conflicts, it's called
- keep up to date with the branch your tracking
- merge frequently
- get on a call when you do have merge conflicts
- avoid having multiple people working in the same files simultaneously if possible
The problem with merge conflicts is you have two people changing the same lines of code at the same time. So I would imagine if you wanted to improve the situation you would need an AI powered version control system that understood the intent of the previous developers. But that's not going to fix bad habits.But also, to your suggested solution, having a button need to be interacted with in VR and a physical button is error prone and annoying. I know I use a button like that daily. I would rather just reach over and stab most of these buttons.
To be fair/serious if you add the "near past" with "near future" you might get enough time for things to change.
Was there something fundamentally impossible about blood analysis with a drop of blood?
Yeah, but only when it adds to the readability. I avoid mentioning Hungarian notation because I don't like it either. I think many criticisms still apply, so I suggest the use case before, where you have the same data passing through multiple types. There may be other good use cases, but I am not sure what those are. This is why my general rule, is "most important words first", I think that technically covers this use case.
Let's see if I can write something, that others understand with no context.
//For this example let's ignore the nuances of names.
function (nameUserinput) {
if(isValidName(nameUserinput)) {
return processName(nameUserinput))
} else {
return { first: '', middle: '', last: '' }
}
}
function isValidName () {
return (containsAtLeastOneSpace(nameUserinput) &&
containsLessThanThreeSpaces(nameUserinput) &&
hasThreeOrMoreCharacters(nameUserinput) &&
noSpacesOnEnd(nameUserinput))
}
function processName (nameUserinput) {
const nameObj = { middle: '' };
const nameUserinputArray = nameUserinput.split(' ');
if(nameUserinputArray.length = 2) {
[nameObj.first,
nameObj.last] = nameUserinputArray;
} else if(nameUserinputArray.length = 3) {
[nameObj.first,
nameObj.middle,
nameObj.last] = nameUserinputArray;
}
}
nameObj and nameUserinput and nameUserinputArray are all the same data in different forms. I think it's helpful to start them with the same prefixes, but change the suffix with the type to communicate that.You could imagine taking this a step further, with nameStatemachine. You might chart a person's course through life, do they go to law school, medical school, get married etc.
I've been meaning to write a blog post on this. But this does follow my most important words first rule. You'll see a lot of similarities there, just not on this exact topic.
Does Apple warn you when you're setting up that pin that it is the most powerful way to access your account?
I would bet if I walked outside and asked 100 people if they thought the pin was for convenience or if it was the last resort to accessing their account, literally all 100 would think it's for convenience, and a birthday would be sufficient.
There's no reason losing something 100% of people keep on them 100% of the time should equal losing their online digital identity.
Many of the sibling comments were coming from the maintaining freedom perspective, which I personally appreciate as well. I wanted to chime in that this information is also helpful from a corporate/competitive perspective.
We are so serious about this that I almost got a contract canceled because it looked like they were running on AWS, and we got them to switch to Azure.
Why do you say that this is a common belief that used to be true, but is now no longer true?