I’m the administrator of kbin.life, a general purpose/tech orientated kbin instance.

  • 0 Posts
  • 19 Comments
Joined 2 years ago
cake
Cake day: June 29th, 2023

help-circle



  • Can Linux run programs that rely on frameworks like .NET or other Windows-specific libraries?

    So this one I thought I’d answer because I’ve done development in both NET framework and NET core and how it works is different for each (although things will usually work one way or another).

    For .NET framework applications, if the program is compiled for windows (the .exe) you can usually run it with mono (you generally don’t need wine, but there’s some caveats that mean sometimes you should use wine). This will include programs with GUIs. If the NET framework app calls other windows programs it is best to run it via wine, you will need to install the net framework within wine, but there’s a winetricks command for that. There are a few things that are generally niche things that do not work in linux net framework’s mono though. By niche the one I can think of, is serial port events. Very annoyingly they all exist, so the program will run but the events will never trigger an action in the programs. Very annoying, but luckily very rare/niche stuff.

    For .NET core, you can build directly to linux targets, and if the project you are working on does target NET core, then you can run the binary natively (note: you usually cannot build applications using forms to linux native binaries, for these you should run the windows exe with wine). You can also run the .exe files for this with wine and I’ve rarely had a problem with it.

    Note that if you develop .NET applications, you won’t be able to build anything that uses the standard forms GUI under linux. There are other UI frameworks out there you can use that are multi platform. For this reason, for the projects that do use windows forms, I have a VM with windows on that I boot up for this reason.

    In short, if you’re just running windows binaries, you will be generally fine with mono for framework and wine for core. For development “it’s complicated”.










  • All hypothetical of course. Not convinced things will go that far without some more clear indicators.

    The root servers are already spread over the globe. Enough of them are operated by non US orgs too to handle things initially, I suspect that the localised anycast servers located outside the US for those USA based operators would probably go on serving.

    It’d be trivial to replace them anyway, and frankly we traffic would be much lower anyway since a lot of the Internet is run by us based organisations.

    For domain registration on tlds not run by the us, they should continue to operate fine.





  • The problem with rust, I always find is that when you’re from the previous coding generation like myself. Where I grew up on 8 bit machines with basic and assembly language that you could actually use moving into OO languages… I find that with rust, I’m always trying to shove a round block in a square hole.

    When I look at other projects done originally in rust, I think they’re using a different design paradigm.

    Not to say, what I make doesn’t work and isn’t still fast and mostly efficient (mostly…). But one example is, because I’m used to working with references and shoving them in different storage. Everything ends up surrounded by Rc<xxx> or Rc<RefCell<xxx>> and accessed with blah.as_ptr().borrow().x etc.

    Nothing wrong with that, but the code (to me at least) feels messy in comparison to say C# which is where I do most of my day job work these days. But since I see often that things are done very different in rust projects I see online, I feel like to really get on with the language I need a design paradigm shift somewhere.

    I do still persist with rust because I think it’s way more portable than other languages. By that I mean it will make executable files for linux and windows with the same code that really only needs the standard libraries installed on the machine. So when I think of writing a project I want to work on multi platforms, I’m generally looking at rust first these days.

    I just realised this is programmerhumor. Sorry, not a very funny comment. Unless you’re a rust developer and laughing at my plight of trying to make rust work for me.


  • The thing is, every Boeing plane that has any problem is going to make it to the news right now. So it’s very hard to see what is relevant and what is just “one of those things”. So, this will make them look worse than they really are.

    Having said that, they have problems. My opinion is that cost-cutting has created all their recent actual problems (MCAS, missing bolts, loose bolts etc) and I’d argue that unless the actual location(s) responsible for these problems is identified, the safest thing to do would be to recall ALL aircraft recently (last 3 years AT LEAST) serviced, repaired or had their configuration changed at a Boeing owned or subcontracted location should be reviewed for substandard work.

    My reasoning here is that if we have loose/missing bolts on the 737 Max 8/9 and -900ER. It won’t stop there, it is going to almost certainly be an institutionalised problem of quality control slippage that could affect any aircraft maintenance, repair, or adjustment operation.

    But, I’m not an aviation expert, so my opinion is worth very little.