Skip Navigation

Posts
0
Comments
251
Joined
2 yr. ago

  • It deserves to be destroyed.

    I know we all hate our jobs but there has to be a story behind this...

  • Why is open source dogmatic? Because every line of code should have a purpose. Features are inherently optional and often cloud the project from the initial objective.

    Few people are paid to maintain this category of software so they want to keep things manageable. Omitting features is the easiest way to limit edge cases and keep up with your dependencies.

  • I'm the same way. Honestly I just like the built in terminal emulator for those few times I forget to open tmux first. Not a fan of the lua integration. Makes the initial startup slower for my config.

  • For those who don't want to click the link for context:

    OA Tree-Sitter language.

    A small langauge that can be used to generate tree-sitter grammar without JS.

  • I find it commendable that you wrote code so horrible other libraries started throwing more errors wondering what the hell you were doing.

  •  
        
    > Do you like what you've built?
    Inspirational or condescending? [i/C] █
    
      
  • Sorry, it was, just not for exploring all of those instances at once. Should have called out the tiling function. Screen also built in a serial terminal emulator and started playing with a few other things.

  • Executing a command, capturing all terminal formatting and escape codes so I can do some light manipulation on leading whitespace before dumping it back to the terminal.

  • Tmux was purpose built for terminal multiplexing. You can assign session names for organizing and manipulating multiple instances. Send keys to and read output from detached sessions. It's easy to script.

  • I'd recommend tmux for that particular use. Screen has a lot of extras that are interesting but don't really follow the GNU mentality of "do one thing and do it well."

  • +1 to caddy. There are some services that set safe headers following the recommendations outlined by Mozilla but others don't control headers as strictly. Caddy is the only web server that I found that supports loose default header values. These values will be selected unless the upstream application specifies their own values.

    You can do something similar in nginx but it requires playing with maps and has a little more indirection than I'd like.

    Just wish caddy was capable of starting as root and stepping down permissions like Nginx. I have certs being managed by other tools and have to make sure they are installed and chowned for caddy's use when they are cycled.

  • I assumed from the start that they were purposefully holding back promo codes, or scraping them from users and holding the affected sites ransom (in a sense). "We'll stop serving this cupon if you become a member." Scummy, but ultimately still slightly beneficial to the end user, a Robbin Hood crime. (Ignoring the people who work with genuinely good companies to get discount codes for things like student projects. Unrecognized casualties.)

    It's the affiliate link stealing that's become the source of outcry. That was more stealthy and essentially flipped the script. Now everyone publicly in support of it is being burned.

    If you were never involved in it, it really is just funny to see how quickly a corporate Robin Hood figure can flip sides. It's not like we haven't seen numerous examples before, some of them literally taking the namesake.

  • Rice is not a good idea. It barely wicks the water away and normally just adds other odd things that'll interact with the water and cause additional corrosion.

  • This isn't the new generation of devs. This is just new devs. Some people refuse to grow out of this stage.

  • Yeah, that thing is honestly impressive. If I didn't already have a full network manager wg setup I'd just use that.

  • Reformatting that compose for people:

     yaml
        
    version: "2.1"                                                services:
      wireguard:
        image: linuxserver/wireguard
        container_name: wireguard
        cap_add:
          - NET_ADMIN
          - SYS_MODULE
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Asia/Singapore
          - SERVERURL=auto #optional
          - SERVERPORT=51820 #optional
          - PEERS=1 #optional
          - PEERDNS=auto #optional
          - INTERNAL_SUBNET=10.13.13.0 #optional
        volumes:
          - ./config:/config
          - /lib/modules:/lib/modules
        ports:
          - 51820:51820/udp
        sysctls:
          - net.ipv4.ip_forward=1
          - net.ipv4.conf.all.src_valid_mark=1
        restart: unless-stopped
    
      

    Sounds like you didn't read the extended manual: https://github.com/linuxserver/docker-wireguard

    There are a lot of other configs for that container that must be provided before startup. It's just a generic runner. If you want it to run as a server you need to follow this section: https://github.com/linuxserver/docker-wireguard?tab=readme-ov-file#server-mode

    Are you at getting the handshake in the app? If so, you're probably just missing the dispatch commands for traffic masquerading.