It's not quite that simple -- there are other criteria. E.g., MSTR is not included in the index. And technically the committee overseeing it has some discretion.
That said, I agree that TSLA easily meets the criteria for inclusion -- even if you assume a normal automaker P/E of ~5 instead of TSLA's meme-stock ~330.
The broader US market is only about 25% bigger than the S&P500, FWIW. (Or put another way, S&P500 is about 80% of all US equity.) They also trade in almost lockstep:
This is specifically one of those points in stock history where it isn't true; the heavyweights of the S&P 500 are dragging it down while the smaller companies are less affected.
I brought a graph in my earlier comment! Even over the past year, they're highly correlated. (And the S&P500 is ahead over the period -- not the other 25%.)
Tesla also doesn't have the margins or growth rates of software companies. Top automakers in the world all have a p/e of around 5-10. Microsoft is 26. Tesla is 320.
Copy (1) and edit (2) both bump mtime, usually. It's not obvious that in the workflow you describe ninja is problematic, rather than the workflow itself (which is atypical).
Copy and edit do, but move (aka rename) generally does not, and that is the part that is problematic.
I don't think the described sequence of operations is all that unusual. Not the most common case for sure, but hardly unlikely in the grand scheme of things.
ninja fails to detect that file changed from last build - all it's mtime, ctime, inode and size can change, yet it's not detected as long as mtime is not newer than target.
Again, this is just a weird workflow, and you're assuming copy/edit don't bump mtime. That usually isn't the case. If you're doing this weird thing, you can just run `touch` when you move files over existing files like this to explicitly bump mtime.
I run into this issue when building against different environments, each with a
1. A library depends on a system package. To test against the different versions of the system package, the library is compiled within a container.
2. To minimize the incremental rebuild time, the `build` directory is mounted into the build container. Even when using a different version of the system package, this allows re-use of system-independent portions of the build.
3. When switching to a build container with a different version of the system package, the mtime of the system package is that of its compilation, not that of the build container's initialization. Therefore, the library is erroneously considered up-to-date.
Because the mtime is the only field checked to see if the library is up to date, I need to choose between having larger disk footprint (separate `build` directory for each build container), slower builds (touch the system package on entering the container, forcing a rebuild), or less safe incremental builds (shared `build` directory, manually touch files when necessary).
Incorrect, I only assume move/rename of backup to original location doesn't change it's mtime (which it doesn't with default flags or from IDE or file manager). And I don't think this is a weird or obscure workflow, I do it all the time - have two versions of a file or make a backup before some experimental changes, and restore it later.
I used to do that some 20 years ago when I was learning programming, but now it does seem like a weird workflow when git exists and handles this case well.
> Under a new decree approved by President Lee Jae-myung during a Cabinet meeting on March 11, mid-to-large-sized public parking lots with 80 or more spaces must install solar power generation
South Korea is going to get a lot of 79-space parking lots.
Any government not interested in playing those kinds of games would then swiftly change the “with 80 or more spaces” wording to “could fit 80 or more spaces.”
That said, I agree that TSLA easily meets the criteria for inclusion -- even if you assume a normal automaker P/E of ~5 instead of TSLA's meme-stock ~330.
reply