• 8 Posts
  • 97 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle



  • Maybe I am not thinking of the access control capability of VLANs correctly (I am thinking in terms of port based iptables: port X has only incoming+established and no outgoing for example).

    I think of it like this: grouping several physical switch ports together into a private network, effectively like each group of ports is it’s own isolated switch. I assume there are routers which allows you to assign vlans to different Wi-Fi access points as well, so it doesn’t need to be literally physical.

    Obviously the benefits of vlans over something actually physical is that you can have as many as you like, and there are ways to trunk the data if one client needs access to multiple vlans at once.

    In your setup, you may or may not benefit, organizationally. Obviously other commenters have pointed out some of the security benefits. If you were using vlans I think you’d have at a minimum a private and public vlan, separating out the items that don’t need Internet access from the Internet at all. Your server would probably need access to both vlans in that scenario. But certainly as you say, you can probably accomplish a lot of this without vlans, if you can aggressively setup your firewall rules. The benefit of vlans is you would only really need to setup firewall rules on whatever vlan(s) have Internet access.










  • To add on to this answer (which is correct):

    Your “of” can also just be a regular file if that’s easier to work with vs needing to create a new partition for the copy.

    I’ll also say you might want to use the block size parameter “bs=” on “dd” to speed things up, especially if you are using fast storage. Using “dd” with “bs=1G” will speed things up tremendously if you have at least >1GB of RAM.



  • I ran into this exact situation at work - though for me it was more the case that getting approvals for new software / installing new dependencies in our system is a massive pain.

    So I went with Python since it’s already installed on basically any Linux system. It was fine - I mean Python is a good language and can certainly handle string processing and data manipulation with relative ease.

    I still think the Python docs are pretty bad, and I wasn’t thrilled with the options for calling a subprocess in Python - they all felt kinda clunky, though I was barred from using the newest versions since I had to run an older version of Python.

    But I ultimately got something that worked and it was certainly better executed / shorter than the bash equivalent it was replacing.


  • I had a bunch of friends up and was gifted Cosmic Encounter.

    I had seen it played on YouTube, but this was the first time I got to play it myself. We had a great time! The game can feel a little bit overwhelming at first with all it’s stages and card-decks, but once you get past it it’s a really good time.

    If you’ve never played it, the super short version is that you are trying to get colonies on other players planets by drawing cards against each other. But what makes it fun is that every player also gets to draw an (initially secret) civilization/character card, which typically has abilities that completely turn the game on its head. We had lots of hilarious moments stemming from the character reveals. I would definitely recommend checking it out!

    I also got to play Radlands with my S/O. Not at all the kind of game either of us have really played before, but we had a blast. It’s a card-dueling game, and all the cards feel very powerful with some cool synergies. It’s pretty simple to teach, especially if you use table-top sim or spring for the edition that comes with play-mats.



  • To expand on this a bit, git pull under the hood is basically a shortcut for git fetch (get the remote repository’s state) and git merge origin/main main (merge to remote changes to your local branch, which for you is always main).

    When you have no local changes, this process just “makes a line” in your commit history (see git log --graph --decorate), but when you have local changes and the remote has changed too, it has to put those together into a merge commit - think a diamond shape with the common ancestor at the bottom, the remote changes on one side, your changes on the other side, and the merge of the two at the top.

    Like the above comment says, normally this process is clarified at the command line - VSCode must be handling it automatically if there are no code conflicts.


  • Look, I’d love for that to be true, but it just isn’t. Biden will win by being a boring centrist, because that’s who he is and that’s who will win a general election (generally speaking).

    With the GOP going completely off the rails the easiest path to victory is to simply go middle of the road and pick up all those independents/centrists and conservatives with brains. Progressives will vote Biden regardless because Trump (or any Trump wannabe) is too terrifying of a reality.

    This country has never shown it has some giant progressive silent majority - Bernie would know, he bet and lost on that materializing in his own presidential runs.

    I don’t see Democrats running hard on progressive policies until either the GOP starts running moderates again (forcing Democrats to pickup votes elsewhere) or young people prove they can be a force at the ballot box.

    All this is not to shit on what Biden has achieved, because he has done things for progressives, but I don’t see him suddenly switching to anything resembling a “strong progressive agenda” because it will just give his GOP opponent ammo to claim “see he’s radical too”. Biden will be the most boring, normal politician he can, while highlighting how bad things will get if his extreme opponent gets into office, and that’s probably the smartest thing to do.


  • You offered a lot of suggestions, and I’m sure people will disagree over the specifics, but I think your overall point is excellent and not talked about enough. I wonder if anyone has ever even attempted a survey on the ages of maintainers/contributors? I bet it’s skewing older fast.

    Nothing wrong with that of course, especially given the project’s age, complexity, and being written in C - but you’re right, at some point you have to attract new talent - people can’t maintain forever.

    I’m a 29 year old developer - I didn’t even know you could do git patches via email until recently. And while it’s super cool, it also sounds kinda terrible, especially at the volume they must be receiving? Their own docs are saying the mailing lists receive some 500 emails per day and I can’t imagine the merge process is fun.

    So many doc pages are dedicated to how to submit a patch - which is great that it’s documented, and I’m sure it will always be somewhat complicated for a large project - but it also feels like things that are all automatically handled by newer tools / bots which can automatically enforce style checks, etc.

    I guess they could argue that the complicated process acts as a filter to people submitting PRs who don’t know what they are doing, but I’d argue it also shuts out talented engineers who don’t have 40 hours to learn how to submit a patch to a project on top of also learning the kernel and also fixing the bug in question.

    From what little I read of their git process, does anyone know if there’s anything preventing the maintainer of a subsystem from setting up a more modern method for receiving patches? As long as the upstream artifact to the kernel has the expected format?