• 0 Posts
  • 79 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.


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











  • Yeah, the famous fascists that are actively working hard to join the EU, which we’ve seen so clearly the past decade just loves having fascist states in its ranks. You know, the fascist government that had an actual election as late as 2019 where southern and eastern regions largely voted for the person that won.

    Notice how there was actually a change of power in that election - a known hallmark of fascist states.


  • Yup, who would have though that Russia invading their neighbour suddenly caused the entirety of western Europe to start the largest investments in military and weapons manufacturing since the cold war?

    Looking at the results of this war so far (major expansion of NATO in the North, massively increased military spending in all of NATO, massively increased size of the Ukrainian military), you would almost think Putins goal was something completely different than preventing NATO expansion and “de-militarizing” Ukraine.

    It’s almost like the best way of preventing your neighbours from building huge militaries and joining alliances is by cooperating with them and helping them feel safe, rather than threatening, coercing and bombing them.



  • It’s sad, but countries like Russia show us very clearly why nations that want peace need to prepare for war.

    I would love to not need to spend a cent on our military, or weapons manufacturing, but the hard reality is very clearly that if we aren’t capable of mass producing weapons, we’ll likely be invaded and killed.

    That’s a major part of the issue Europe is facing now: We’ve scaled down weapons production since the 90’s, and now that we suddenly need millions of artillery shells it takes time to rebuild production capacity.

    Hopefully Russia gets the picture soon, that we’ll keep scaling up until every Russian invader is gone, and we can go back to not spending money on war…


  • Wow, I Wonder why everyone that’s left in the regime that deports and persecutes dissenters says they are in support of that regime?

    Ukraine never invaded anybody. Giving them weapons so they can throw out the people invading them, taking their land and molesting their people is a good thing. Russia has clearly shown that the only way to get rid of the plague that is Russian soldiers on foreign soil is to kill them. That’s why we have this war that Russia has chosen to engage in, and which Russia can choose to withdraw from at any time. That’s why Russians are dying by the hundreds of thousands.