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

help-circle





  • Software is a tool. I develop stuff that i know is of interest to companies working with everything from nuclear energy to hydrogen electrolysis and CO2 storage. I honestly believe I can make a positive contribution to the world by releasing that software under a permissive licence such that companies can freely integrate it into their proprietary production code.

    I’m also very aware that the exact same software is of interest to the petroleum industry and weapons manufacturers, and that I enable them by releasing it under a permissive licence.

    The way I see it, withholding a tool that can help do a lot of good because it can also be used for bad things just doesn’t make much sense. If everybody thinks that way, how can we have positive progress? I don’t think I can think of any more or less fundamental technology that can’t be used for both. The same chemical process that has saved millions from starvation by introducing synthetic fertiliser has taken millions of lives by creating more and better explosives. If you ask those that were bombed, they would probably say they wish it was never invented, while if you ask those that were saved from the brink of starvation they likely praise the heavens for the technology. Today, that same chemical process is a promising candidate for developing zero-emission shipping.

    I guess my point is this: For any sufficiently fundamental technology, it is impossible to foresee the uses it may have in the future. Withholding it because it may cause bad stuff is just holding technological development back, lively preventing just as much good as bad. I choose to focus on the positive impact my work can have.


  • 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.




  • Did you read the text on that graphic?

    … land conversion for grazing and feed …

    I’m not talking about meat production in general (which I think should be minimised), I’m specifically talking about meat production from land that is not viable for other uses.

    This was exactly my point: I’m legitimately interested in how that graphic looks if you consider meat produced on land that cannot be used for other types of agriculture, and which is local so that transportation is a negligible cost, and feed production is close to non-existent, because the livestock primarily lives off the land.


  • It seems like you’ve misunderstood what I’m trying to say. I’m saying that

    A) There are legitimate reasons for a country to want to have some degree of self-sufficiency.

    B) The environmental impact of producing meat is hugely different depending on how the livestock gets its food, and the environmental impact of transporting goods cannot be neglected.

    C) There are countries with terrain suitable for livestock that cannot be used for farming.

    Of course: Almost no countries are, or need to be, 100% self-sufficient, because we have trade, but there is a huge difference between 10% and 50% self-sufficiency. If we are to cut out meat entirely, many places would be incapable of maintaining any notable degree of self-sufficiency.

    With you third paragraph, it seems like you actually agree with me. I don’t know how you got from me saying “there are legitimate reasons to produce meat”, to me saying this is a black and white issue. I’m explicitly trying to say that it’s not black and white, both because of self-sufficiency arguments, and because of the environmental cost of transportation. Thus, we need a nuanced approach. This means that we should minimise (or eliminate) the use of farmland for livestock production, without condemning livestock production as a whole, because there are legitimate reasons to have livestock, as argued above.