• 0 Posts
  • 48 Comments
Joined 1 year ago
cake
Cake day: August 8th, 2023

help-circle


  • Oh, I definitely get that the major appeal of excel is a close to non-existent barrier to entry. I mean, an elementary school kid can learn the basics(1) of using excel within a day. And yes, there are definitely programs out there that have excel as their only interface :/ I was really referring to the case where you have the option to do something “from scratch”, i.e. not relying on previously developed programs in the excel sheet.

    (1) I’m aware that you can do complex stuff in excel, the point is that the barrier to entry is ridiculously low, which is a compliment.



  • You are neglecting the cost-benefit of temporarily jumping to the wrong conclusion while waiting for more conclusive evidence though. Not doing anything because evidence that this is bad is too thin, and being wrong, can have severe long-term consequences. Restricting tiktok and later finding out that it has no detrimental effects has essentially zero negative consequences. We have a word for this principle in my native language - that if you are in doubt about whether something can have severe negative consequences, you are cautious about it until you can conclude with relative certainty that it is safe, rather than the other way around, which would be what you are suggesting: Treating something as safe until you have conclusive evidence that it is not, at which point a lot of damage may already be done.



  • I am very fond of the idea of “stateless” code, which may seem strange coming from a person that likes OOP. When I say “stateless”, I am really referring to the fact that no class method should ever have any side-effect. Either it is an explicit set method, or it shouldn’t affect the output from other methods of the object. Objects should be used as convenient ways of storing/manipulating data in predictable/readable ways.

    I’ve seen way too much code where a class has methods which will only work"as expected" if certain other methods have been called first.


  • Sounds reasonable to me: With what I’ve written I don’t think I’ve ever been in a situation like the one you describe, with an algorithm split over several classes. I feel like a major point of OOP is that I can package the data and the methods that operate on it, in a single encapsulated package.

    Whenever I’ve written in C, I’ve just ended up passing a bunch of structs and function pointers around, basically ending up doing “C with classes” all over again…



  • This makes sense to me, thanks! I primarily use Python, C++ and some Fortran, so my typical programs / libraries aren’t really “pure” OOP in that sense.

    What I write is mostly various mathematical models, so as a rule of thumb, I’ll write a class to represent some model, which holds the model parameters and methods to operate on them. If I write generic functions (root solver, integration algorithm, etc.) those won’t be classes, because why would they be?

    It sounds to me like the issue here arises more from an “everything is a nail” type of problem than anything else.






  • We tried the “trade your skills for something you need”. In every surviving society it eventually lead to the development of a currency (not hard to see why), which requires/leads to regulation, which requires enforcement, aaaand you’re back at a modern society. I’m all for more regulation to reduce economic and social differences in society, but the people that are talking about abolishing governments and currencies need to pick up a history book and follow their ideas to their natural conclusion.

    “Controlling speech” is a hallmark of authoritarian governments, be they far-left or far-right, there are plenty of historical examples of both.


  • You’re definitely correct that getting sychrotron time is hard :(

    On the first part though: Yes and no. XRD will tell you about things like strain and unit cell size distribution, so in that sense, you can’t resolve a single doping site. On the other hand, if you have a reaction going on, or some dopant diffusing into your sample, synchrotron XRD is powerful/fast enough that you can “film” how the crystal structure changes in real time. That “film” will be a kind of average of many sites, but can still be focused to a relatively small region (don’t remember exactly how small off the top of my head, but I believe we’re talking nm-scale).




  • Looking at a half circle and guessing that the “missing part” is a full circle is as much of a blind guess as you can get. You have exactly zero evidence that there is another half circle present. The missing part could be anything, from nothing to any shape that incorporates a half circle. And you would be guessing without any evidence whatsoever as to which of those things it is. That’s blind guessing.

    Extrapolating into regions without prior data with a non-predictive model is blind guessing. If it wasn’t, the model would be predictive, which generative AI is not, is not intended to be, and has not been claimed to be.