• 0 Posts
  • 17 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle
  • I am also supremely space-constrained, but I also had no need to take my development device away from my desk. So I got a workstation and a KVM to switch between workstations, thereby needing only one keyboard, mouse, and set of monitors for multiple computers.

    I went further than that, because I also needed to keep the desktop largely clear and the floor space used down to an absolute minimum. So I got a 60s “tanker desk”, and put a smaller office table on top of it. the computers all sit on top of the office table, up near the ceiling (and away from a lot of the dust!) and the monitors and KVM dangle down from beneath it. This leaves only the two pedestal legs of that office table and my keyboard and mouse as the only things “on” the top surface of my desk.

    And ignoring the chair, I can have four workstations and six monitors within a 30×60 inch footprint (the tanker desk).


  • If you are looking for Bar, it is highly likely that you are already looking specifically for a particular functionality - say, the action - for Bar. As such, it is irrelevant which method you use, both will get you to the function you need.

    Conversely, while it is likely you will want to look up all items that implement a particular functionality, it is much less likely you are going to ever need a complete listing of all functionality that an item employs; you will be targeting only one functionality for that item and will have that one functionality as the primary and concrete focus. Ergo, functionality comes first, followed by what item has that functionality.







  • Fail2ban bans after 1 attempt for a year.

    Fail2ban yes; one year, however, is IMO a bit excessive.

    Most ISP IP assignments do tend to linger - even with DHCP the same IP will be re-assigned to the same gateway router for quite a number of sequential times - but most IPs do eventually change within a few months. I personally use 3 months as a happy medium for any blacklist I run. Most dynamic IPs don’t last this long, almost all attackers will rotate through IPs pretty quickly anyhow, and if you run a public service (website, etc.), blocking for an entire year may inadvertently catch legitimate visitors.

    Plus, you also have to consider the load such a large blocklist will have on your system, if most entries no longer represent legitimate threat actors, you’ll only bog down your system by keeping them in there.

    Fail2ban can be configured to allow initial issues to cycle back out quicker, while blocking known repeat offenders for a much longer time period. This is useful in keeping block lists shorter and less resource-intensive to parse.




  • A strangely effective option for young whippersnappers who want to maximize employability and income stream in “boring” tech. You’re not gonna be standing up many greenfield projects using that language - and likely speaking, you might go an entire career without ever touching a codebase younger than you are - but if your passions run towards Janitorial/Plumbing work with regards to code, it might be right up your alley.


  • DotNet is closest to Java, but hang on to your hat: the state of C# is at least half a decade ahead of Java, if not a full decade. It’s sophistication will make Java use feel like banging rocks together. DotNet Core can now run on all three primary platforms, and with some careful work, you can write a single program that can compile down to each platform and carry along its own required binaries, no pre-install of any framework needed.

    My second recommendation would be Rust. Stupidly steep learning curve, but an absolutely game-changing one where safety and security is concerned. It’s my next objective, personally speaking.

    Any other language I could recommend starts getting into speciality purposes, which makes general use more difficult or even wholly inappropriate.

    For example, if you are dropping into DotNet for business applications, I would also recommend diving into F# for that functional goodness for building complex business rules and data handling. But building an entire app in F# can be jamming a round peg into a square hole under many circumstances, it’s appropriateness envelope does not cover as many cases as C# does. You want to use C# for boilerplate/frameworks, F# for the core bits where it is going to shine.