• 0 Posts
  • 242 Comments
Joined 3 years ago
cake
Cake day: June 20th, 2023

help-circle
  • My back hurts typing this, but… back when I was young there was a whole community called the “scene” to explore just that question. The demoscene is still alive, but it’s perhaps a little more mainstream and “clean” than it used to be? Anyway, people are still cranking out awesome demos that explores the question: what can we do with programming? There are tons of YouTube videos of demos, old and new, but here is a video that talks about the scene and the history behind it.






  • Two ways I’ve handled this. If you have some orchestrator, like kubernetes, you can use the job feature to retry. In that case you just let the script exit with error status.

    If we’re staying with just cron and shell scripts, look at using flock(1) with timeout in a bash script (example). You can create a lock to prevent multiple copies running and it cleans up automatically. You can combine this with time-stamped files to enforce a minimum amount of time since last run, or whatever you like.

    I prefer having the retry handled outside the job itself, but I’ve used both approaches. I’ve grown to prefer separating the code for “doing the thing” from the code for “orchestrating the thing”, but it depends on what environment it runs in, how critical it is, and how who else may be supporting it.

    Finally, set up something to monitor it and alert you if it hasn’t run successfully for some time.


  • Fail2ban is just another tool in your toolbox. Defense in depth, as others mentioned.

    Fail2ban is primarily a tool to prevent brute force attacks, especially useful for services that don’t do their own throttling. For example I usually put ssh in fail2ban, but if Authelia’s built-in protection is good enough, then use that.

    Outside ssh, anything that could be used to brute force credentials should be in fail2ban if they’re exposed: web sites with simple auth, mail, etc.


  • folekaule@lemmy.worldtoLinux@lemmy.world•Linux saved me today
    link
    fedilink
    English
    arrow-up
    29
    ·
    1 month ago

    Glad to hear it saved the day and that you’re trying Linux full time. Love a good success story!

    For you or anyone else who want to keep an emergency kit on a USB drive on hand, I recommend checking into Ventoy. With it, you can keep multiple ISOs on a single bootable USB drive and choose which one you want at boot time. Keep an emergency Linux desktop, rescue disks, etc on it and you’ll be good to go. You can easily add more or update existing images just by writing files to the drive. No reformatting required.




  • I installed CacyOS on my MSI laptop with Nvidia m2060 + igpu and Intel CPU a couple of months ago. I can play genres through Steam just fine. It performs better than it did on Windows 11.

    I’ll be honest, I was amazed I had no issues getting it running. CachyOS has sone great tools to set things up and their wiki is excellent. I just followed the steps in there to set up GPU switching. I disabled secure boot, since that can get in the way of drivers loading, but they have instructions for that as well.

    Wi-Fi worked out of the box. I even have a luks encrypted root.

    The main issue I had was MSI specific hardware, like battery charging control, normally managed by the Dragon Center. I found an open source replacement for that.

    I can’t speak to the battery performance since I always use it plugged in. It’s a few years old so it’s probably not great anyway.

    Your mileage may vary. It’s probably going to be more off a struggle with hardware specific to the model of laptop rather than Nvidia.




  • I once, many years ago, worked with a programmer who had a strict rule of not introducing any functions unless the block of code was used at least twice.

    Every code base they were the main developer on had source files thousands of lines long with if-statements nested to the 9 levels of hell.

    We worked mostly in Perl and Deplhi (Pascal). Reading old code was… interesting. It’s wild when your Perl code is more readable than your Pascal.

    I’m happy to say I don’t work with them anymore.

    So yeah, break things into functions and name your functions and variables sensibly. Your future self will thank you.



  • My guess is that it changed from open source to a proprietary license. From Wikipedia:

    Initially, Paint.NET was released under a modified version of the MIT License, with the exclusion of the installer, text, and graphics.[9] However, citing issues with the open source code being plagiarized by others that had rebranded the software as their own and bundled user content without their permission, the availability of the source code was restricted, in December 2007 Brewster announced his intent to restrict access to components of the program (including its installer, resources, and user interface).[10] In November 2009, the software was made proprietary, restricting the sale or creation of derivative works of the software.[10][11]