It took me 15+ years in the business to realize this. If someone gave you a time machine to go into the past and give me your exact comment AND punch me in the face, it still wouldn't have dawned on me because I was in pursuit of some weird perfection that doesn't exist.
Thanks for spreading sanity and insight -- I hope someone else digests your message sooner than I did.
I hope so. I used to crush whiteboards but I really dislike these modern quiz platforms. I suppose I just need practice, but I'm like this old guy now with less time to practice on modern quiz platforms.
Bring back pure whiteboard and I will be almost as good at this stuff as I was when I was 22. Little slower on the recall, but still good.
I worked at home for 9 years and then I had kids. (They are great kids but they make working at home hard.) That was enough for me to not want to work at home anymore. I then got a new job, and then covid-19 hit and I am working at home again. Argh!
We can structure our choice of house around kids, e.g. an attached office with separate entrance. An office complex with facilities and maintenance costs on the order of $600/mo per desk, which is about what a city commute costs.
I'm speaking strictly technical here, but there have been features that have been removed. Trigraphs (I think), and the register keyword. Moreover, there are objects that are very clearly marked deprecated, like auto_ptr. (Oh, and there is even talk of removing 'volatile' as a keyword.)
The register keyword issue crops up because legacy code included and linked to modern C++ will occasionally have the word "register" affixed to a loop variable. Generally speaking, once you change standards, there is room to drop the old stuff. It's just gradual. Static analyzers do a lot to modernize code now too, so the situation is not as painful as it used to be.
The `volatile` deprecation is more about providing new library features to do the things people (incorrectly) use `volatile` for today. `volatile` will still have legitimate use-cases.
Calendars and to-do lists matter, but the unpleasant aspect of these things is that I become a human scheduler, similar to an operating system scheduler. The scheduling function consumes so much time on its own, and it's psychologically uncomfortable.
Dare I say it: I don't like context switches and would prefer first come first serve, until completion. The real world, however, is unforgiving on which scheduler I can choose.
Your design above with the private type being returned could possibly be useful. Perhaps outsiders to the class will be prevented from instantiating the nested-type without using the class itself to generate the nested type. This could be contextually useful and certain (interface) functionality could be grouped in a manner that is more convenient to use than by calling methods on the original class.
I like that C++ allows us to express this situation, even if it's a bit of an unusual design pattern.
You can prevent instantiation of the nested type already by using private ctors and friending the wrapper class from this type, while keeping the class itself public. That is a much cleaner expression of intent. I believe that if a class is usable via its interface, it is public any way (in that you will need to go and change all uses of this object should you decide to change the nested type's API, whether it is declared private or not).
And also note that binding to the object at all has been possible only after C++11, while this "feature" works with earlier standards. That rules out the possibility of this being designed into the language with the express goal of achieving what you say (it doesn't matter, but just pointing out).
Visibiliy has always been sabout naming thing. You were always able to bind private types to template arguments (otherwise you would never been able to create an std::vector<PrivateType> or pass MyPrivateContainer to an std algorithm. What's new in C++11 is the ability to also bind locals, but that no more powerful than what you could do before (via a CPS transform).
I bought a 3900X also. I, too, would like a 3950X, but the 3900X is so fantastic it's hard to be too upset. I also have 4 Threadripper systems and I just could not get work done without them. My build times for compiling software would be atrocious without them.
I’m still on an i5 4670k and 16 gigs of ram. I built this system in 2013. I secured a day one 3950x and it arrived this weekend - the rest of the components are getting here throughout next week - and the speed up of compiles and ability to run multiple VMs at once for testing distributed apps is what I’m most excited about! It’s basically a workstation and a gaming rig in one. Gaming is fun but man I can’t wait for some faster feedback loops when I’m developing.
I was able to get rid of multiple computers and convert from physical to virtual and save on power bills. Once your build is complete you will be incredibly happy. AMD is killing it with these processors. I've never been happier with a tech product line. It just blows me away how much I'm able to accomplish on a shoestring budget now.
There will be a BIOS option entitled "Fan Smoothing" or similar. On my ASUS board, it gives a range of times over which to average CPU temp rather than use the instantaneous value for fan control. I have mine set to 7 seconds I think, and it completely stopped the fan revving up/down issue.
There's also the 4xxx series on the same socket due sometime next year. The talk for zen3 is 15% ipc uplift and 10% higher clocks.
Sure the 3900x will carry you until then.
I'm in the same boat (but vegan). I supplement B12 and iron out of caution, but I am not sure they are even necessary. Just copy what the Indians do; they get by without meat and their diets and classic recipes seem to have evolved recipes that compensate for lack of meat.
The traditional Indian (largely vegetarian) diets rely heavily on seasonal vegetables, grains (wheat, rice, millets), and legumes. Indian cuisines are such a varied lot that you're likely to find one you enjoy.
In respect to your concern for B12, an Indian Medical Council study from a few years ago found very few cases of clinical B12 deficiency in the country. This, despite the average Indian diet being deficient for B12 by European & American standards. It was one of the reasons for reducing the suggested daily intake for Indians to 1 mg, as recommended by the WHO, substantially lower than in Europe or the US.
Thanks for spreading sanity and insight -- I hope someone else digests your message sooner than I did.