Draw a square around Einstein's face. Call the side length of the square a and the area of the square A. We have A=a^2. Einstein takes up some portion p < 1 of that area, so Einstein has area E = pA. Now we scale the whole thing by factor f. So the new square has side lengths fa, and thus area A' = (fa)^2 = f^2×a^2 = f^2×A. Since the relative portion the face takes up doesn't change with scaling, the face now has size pA' = p×f^2×A = f^2 × pA = f^2 E.
Does that help or was that not the part you were missing?
What are these called / do you have a source for that? I never heard of that and a quick Google didn't turn up anything except for changes planned for 2028.
Which old times are you referring to / what are "sensible" names?
I thought about it and I don't know what a better name would be. Off the top of my Head, I know Perforce, BitWarden, Subversion, fossil and git. And then the abbreviations CVS, RCS and SVN.
> One repo uses `master` but a subtree uses `main`. If you make a mistake and checkout `main` you end up clobbering your whole working tree with the subtree.
If you replace checkout with switch/restore, that foot gun goes away.
A very effective solution for that is a well-configured shell. IF you summarize the state of the repo in the prompt, it is always visible while typing a command.
That's the reason why it was replaced by two separate, more sensible commands:
git switch for switching branches etc, which is safe, and the inherently dangerous git restore for reverting changes in your working directory.
Funny, I did just exactly that at work yesterday. If your branches have linear histories, here's what to do:
1. Make sure all branches touch separate files. I would strongly recommend git-filter-repo over git-filter-branch. It's way simpler to use and orders of magnitudes faster.
2. Generate the list of commits in the correct order:
Because you talk about the other cases when you make general statements like:
> it's that FireFox just isn't as fast as Edge.
> I can't change my code,
I wasn't suggesting you change anything about your code. Remember, the context of this conversation is this Statement by GP:
> I hate that I know exactly why. It's because they were only ever tested on Chrome during development.
The reality is that Firefox has a tiny market share at this point, so it is questionable how much time should be invested into optimizing pages to make them fast on Firefox. But that is a problem with Firefox's market position, not technology.
My point was that when code is slow in Chrome, you change it and never notice whether Firefox would have been faster in those cases. You only test code that is sufficiently fast in Chrome in Firefox. Thus, you don't usually see the cases where Firefox is faster than Chrome.
> It's not that I haven't tested, it's that FireFox just isn't as fast as Edge.
Only in this one specific case. You don't know the other cases. What you do is write code and check if it's fast enough in Chrome. If it's not you change your code. You never check if it's fast in Firefox instead and then go on with your day, saying "well chrome's just slow".
I feel like some of the nuance got lost in at least two places:
"trying to do the wrong thing with ChatGPT" vs "using ChatGPT in the wrong way"
"have been "approved" by this AI" vs "have been reviewed and approved by this AI."
> Besides Rust everything else is a toy without stability and backwards compatibility and/or lack of libraries. Rust is fine, it’s just that the problems it tries to solve aren’t something that experienced C++ devs often struggle with.
The single main reason for Rust's success is that this statement was proven wrong again, again and again. C/C++ devs kept repeating it, severe bugs keep getting discovered.
How would you use this with a C/C++ codebase, where you build your dependencies yourself and don't get them from a package manager? All vulnerability databases seem to refer to package repos. Is there anything that works with only library name + version?
Does that help or was that not the part you were missing?