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

help-circle
  • Yeah I’m curious too because I have played Cyberpunk without any issue on both the steam deck and bazzite for a long time, cyberpunk even has a graphics preset for the deck so I’m not sure what’s happening either.

    EDIT: Even using both AMD and NVIDIA graphics cards (before the latest nvidia driver version debacle though)


  • Lots of good alternatives advice already here but I have a couple comets and they work pretty well! They don’t require cloud access except for updates if you want them, I think it has Tailscale built in as well. Their newest one has an HDMI pass through as well which is handy in some situations. I have the PoE version of the other one and it works the same way, the power control kits work too! I also have a jet KVM and it’s fine, I like the comet better I think! They have also open sourced their cloud thing so you can centrally manage them all, it’s pretty neat!


  • Okay lots of good info here but just to make sure it was clear that you are kinda solving two different but related problems. Connectivity with WireGuard or other VPN and split-horizon or multi-horizon DNS (Wikipedia) which also called a view sometimes (like BIND) and can also be done with two different DNS servers. You can sorta do it with AdGuard but it is tedious to maintain. If you are using a wildcard rewrite it works alright but that isn’t necessarily the same as a CNAME or subzone delegation.

    The next pice I’m not sure I saw mentioned is that WireGuard is not like other VPNs in that if two nodes are on the same network they will generally communicate directly peer to peer even over WireGuard addresses so you don’t really need to worry about traffic hairpin like you described unless you configure it to do so (which is more like traditional VPN would act). Tailscale is similar in concept but it uses different terms and technologies.

    Anyway not sure if that helped or made it more confusing but there are may ways to solve it so good luck! FWIW, my home network is currently set up with a public zone on a commercial provider. It has a wildcard CNAME to something like proxy.domain and that is an A record containing the WireGuard addresses. Then my local DNS overrides the one A record for the proxy internally which I only get when WG is off. I would rate this solution adequately functional but medium level of janky, 8/10 would use again :D



  • Hah I am glad it was helpful! Glad to share, I always felt like half the point of learning is to share what you learned. That is one of my favorite “hidden gems” for lack of a better term that can be a real time saver.

    Bonus just for more fun: you can use cd - to switch back to the directory you were last in after changing directories, it toggles the top two paths in the stack. It is similar to how pushd/popd work if you have you used those. I use that one a ton, there are fancier tools now but that one works everywhere.

    Oh also, anyone on a Mac needs to know about pbcopy, Linux has xclip and I don’t remember what the Wayland analog is.



  • In contrast, and I say this as someone who has used various types of Unix and Linux for a long time, I think this is an excellent use for AI, just be sure to use it to teach you things not just to solve your problems for you.

    What I mean by this is I have found (mostly Claude) to be great at explaining concepts, especially if you use it to make analogies to something you know. It is absolutely not right every single time but I have had great luck with questions like “explain to me how to X in Y tool, I know how to have the same outcome by doing A in B tool” or “explain to me how docker works using a rocket as a metaphor” or things like that. Also I use it a lot for new subjects where I don’t know what to search for quite yet and I can just give it a long rambling explanation and example and ask it for 3 suggestions to research further or things to check. It is kind of useful as an expensive search engine but if you use it like a research engineer to get you started it can be really helpful in my experience.

    As others have said though, I have been doing it forever both personally and professionally and I am definitely still learning. Linux knowledge is more of a skill to develop over time not something that is easy to master because it continually changes. Learning how to find or figure out the answers is the most valuable skill though, it’s impossible to remember everything. That and often there is no single right or correct answer for every situation but there are a lot of options and opinions and often more of the latter than the former. That said though usually the best answer is the one that I forget about because it functions forever and doesn’t blow up in my face hah.

    Anyway, hope at least some of that is helpful, best of luck!

    :wq


  • I think you already decided what I would have recommended (just write to a log file in your python script) but I wanted to hopefully help with the rest of the question hah.

    So the first thing to remember is that a pipe (|) in Linux is a unidirectional data channel that passes stdout from the left command the right command’s stdin and this is its only function. Also notable is that exit status of a pipeline is the exit status of the last command in the pipeline (unless the pipefail option is enabled but this isn’t the behavior you wanted either), this is what is available in $? as well immediately after the pipe exits in a script, problem with that is that tee can exit successfully while the previous command failed because it did its job redirecting output.

    To get the behavior you are after you would probably need to write a script that does the signal handling or it might work if you use exec to wrap your python+tee command in your dockerfile because then the bash process will get replaced by python or tee, I’m not sure which or how tee will interact with exec without testing though.

    Anyway, hope that helps, here are the docs on pipe which are worth a read. In fact when double checking something just now, I learned I can do |& today instead of 2>&1 | which is neat hah!

    Edit: I forgot to mention, signal handing in docker is a whole other animal so depending on how you are specifically running it the behavior and signals might not be what is expected or the same as running the commands outside of docker.

    Great article about it: https://medium.com/@gchudnov/trapping-signals-in-docker-containers-7a57fdda7d86

    Repost if you can’t read it on medium: https://www.cloudbees.com/blog/trapping-signals-in-docker-containers