• 0 Posts
  • 76 Comments
Joined 1 year ago
cake
Cake day: July 30th, 2023

help-circle

  • Yup. My background is computer science transitioned to IT Infra.

    My sister sent me a screenshot of a Spotify one-liner error, white text on black background, captioned “they wrote a lazy error”. I immediately recognized that the actual problem was the load balancer in the front end trying and failing to connect to the backend/middleware in the first error, then in the second it recognized a failed health check and reporting that no back ends were available. Root cause is probably networking issue or actual server crash.

    I also have a bonus that in high school I had watched a ton of videos on VFX/SFX and knew a rough way around After Effects and compositing (before I jumped into CS I had considered this as a career path), so now when I watch TV and movies I can also see some of the “layers” they use to compile the on screen effect.



  • This is the wireless equivalent of a single Ethernet cable. if you follow each of the dish pairs in a roughly straight line, you will hit another transceiver. This pole would be middle three nodes of this:

    (Air Fiber) <-------> (Air Fiber) (switch) (Air Fiber) <--------> (Air Fiber)

    Camera could also be plugged into the switch.

    And yes, if a car impacts the pole, you lose that point to point link. Hope you got a failover plan or another set of air fibers that take a different path.



  • Others have some good information here - all I’d like to add to the root is that Windows and Mac have a built-in DNS cache and it’s pretty straightforward to add a DNS cache to systemd distros (if it’s not already installed or in use) using systemd-resolved or dnsmasq if you really dislike systemd. Some distros enable this from install time.

    Systems that utilize a DNS cache will keep copies of DNS query results for a period of time, making the application-level name lookup speed essentially 0ms for a cached result. Cold results obviously incur the latency of the DNS server itself.










  • If it’s anything like when I used a Mac regularly 7y ago, Homebrew doesn’t install to /bin, it installs to /usr/local/bin, which only works for scripts that use env in their shell “marker” (if you don’t call it directly with the shell). You’re just putting a higher bash in the path, not truly updating the one that comes with the system.


  • TLDR: probably a lot of people continue using the thing that they know if it just works as long as it works well enough not to be a bother.

    Many many years ago when I learned, I think the only ones I found were Apache and IIS. I had a Mac at the time which came pre installed with Apache2, so I learned Apache2 and got okay at it. While by release dates Nginx and HAProxy most definitely existed, I don’t think I came across either in my research. I don’t have any notes from the time because I didn’t take any because I was in high school.

    When I started Linux things, I kept using Apache for a while because I knew it. Found Nginx, learned it in a snap because the config is more natural language and hierarchical than Apache’s XMLish monstrosity. Then for the next decade I kept using Nginx whenever I needed a webserver fast because I knew it would work with minimal tinkering.

    Now, as of a few years ago, I knew that haproxy, caddy, and traefik all existed. I even tried out Caddy on my homelab reverse proxy server (which has about a dozen applications routed through it), and the first few sites were easy - just let the auto-LetsEncrypt do its job - but once I got to the sites that needed manual TLS (I have both an internal CA and utilize Cloudflare’ origin HTTPS cert), and other special config, Caddy started becoming as cumbersome as my Nginx conf.d directory. At the time, I also didn’t have a way to get software updates easily on my then-CentOS 7 server, so Caddy was okay-enough, but it was back to Nginx with me because it was comparatively easier to manage.

    HAProxy is something I’ve added to my repertoire more recently. It took me quite a while and lots of trial and error to figure out the config syntax which is quite different from anything I’d used before (except maybe kinda like Squid, which I had learned not a year prior…), but once it clicked, it clicked. Now I have an internal high availability (+keepalived) load balancer than can handle so many backend servers and do wildcard TLS termination and validate backend TLS certs. I even got LDAP and LDAPS load balancing to AD working on that for services like Gitea that don’t behave well when there’s more than one LDAPS backend server.

    So, at some point I’ll get around to converting that everything reverse proxy to HAProxy. But I’ll probably need to deploy another VM or two because the existing one also has a static web server and I’ve been meaning to break up that server’s roles anyways (long ago, it was my everything server before I used VMs).