Interests: programming, video games, anime, music composition

I used to be on kbin as e0qdk@kbin.social before it broke down.

  • 1 Post
  • 68 Comments
Joined 2 years ago
cake
Cake day: November 27th, 2023

help-circle



  • Huh. Maybe I’m just too early in the game still (despite having put 10+ hours into it) but crafting materials are like, the one thing I’m not hurting for. It’s got the Zelda rupee problem for me, at least at this point in the game – I’m constantly pegged at the max capacity, and it feels like I have basically nothing to use it on. (I mean, I do use the tools I have found so far, situationally, but I don’t think I’ve been down by more than ~100 or so from max other than for that one wish in the starting area.)

    Edit: Ok, I’m a bit further in now, and I see what people mean… -.-


  • There’s something else going on there besides base64 encoding of the URL – possibly they have some binary tracking data or other crap that only makes sense to the creator of the link.

    It’s not hard to write a small Python script that gets what you want out of a URL like that though. Here’s one that works with your sample link:

    #!/usr/bin/env python3
    
    import base64
    import binascii
    import itertools
    import string
    import sys
    
    input_url = sys.argv[1]
    parts = input_url.split("/")
      
    for chunk in itertools.accumulate(reversed(parts), lambda b,a: "/".join([a,b])):
      try:
        text = base64.b64decode(chunk).decode("ascii", errors="ignore")
        clean = "".join(itertools.takewhile(lambda x: x in string.printable, text))
        print(clean)
      except binascii.Error:
        continue
    

    Save that to a file like decode.py and then you can you run it on the command line like python3 ./decode.py 'YOUR-LINK-HERE'

    e.g.

    $ python3 ./decode.py 'https://link.sfchronicle.com/external/41488169.38548/aHR0cHM6Ly93d3cuaG90ZG9nYmlsbHMuY29tL2hhbWJ1cmdlci1tb2xkcy9idXJnZXItZG9nLW1vbGQ_c2lkPTY4MTNkMTljYzM0ZWJjZTE4NDA1ZGVjYSZzcz1QJnN0X3JpZD1udWxsJnV0bV9zb3VyY2U9bmV3c2xldHRlciZ1dG1fbWVkaXVtPWVtYWlsJnV0bV90ZXJtPWJyaWVmaW5nJnV0bV9jYW1wYWlnbj1zZmNfYml0ZWN1cmlvdXM/6813d19cc34ebce18405decaB7ef84e41'
    https://www.hotdogbills.com/hamburger-molds/burger-dog-mold
    

    This script works by spitting the URL at ‘/’ characters and then recombining the parts (right-to-left) and checking if that chunk of text can be base64 decoded successfully. If it does, it then takes any printable ASCII characters at the start of the string and outputs it (to clean up the garbage characters at the end). If there’s more than one possible valid interpretation as base64 it will print them all as it finds them.



  • Nginx is running in Docker

    Are you launching the container with the correct ports exposed? You generally cannot make connections into a container from the outside unless you explicitly tell Docker that you want it to allow that to happen… i.e. assuming you want a simple one-to-one mapping for HTTP and HTTPS standard ports are you passing something like -p 80:80 -p 443:443 to docker run on the command line, adding the appropriate ports in your compose file, or doing something similar with another tool for bringing the container up?



    • Steam Deck w/ official Dock
    • IOGEAR GCS1104 (4-port DVI KVM)
    • generic HDMI-to-DVI cable
    • Wireless (RF) headphones – compatible with Sony TMR-RF912R transmitter; not sure on specific headphone model (it’s the one that came with the transmitter, but I can’t read the model number on the headphones any more since it’s too old)
    • a generic 1920x1080 monitor with DVI input + keyboard + mouse
    • XBox360 controller w/ official wireless PC adapter (USB)

    I got the KVM used in good condition. It’s an older model – but I went with it anyway since it was a drop-in replacement for my 2-port setup and getting it used was much cheaper than their newer models. The newer ones support higher resolution/frame rates though, I think; I know this one won’t do frame rates above 60FPS properly even though my monitor is capable of it when plugged in directly.

    There’s a few quirks with this setup. Probably most annoying is that moving the mouse typically causes computers to wake from sleep (like pressing a key on a keyboard normally does…); I think there’s a way to mask that event off with udev rules but, eh, even a decade or so after getting the original 2-port KVM I haven’t cared enough to actually bother working it out, so I guess it’s not that big of an issue to me… :p









  • I’ve been trying to figure out a related sort of video streaming setup for work (without Owncast, but with a similar sort of 24/7 goal plus other considerations) and have been looking into using ffmpeg’s capabilities to output either HLS or DASH segments + manifests. (FFMPEG can do both but I don’t know which would be better for my needs yet.) The sources I’m working with are RTSP/RTP instead of RTMP and I only need streaming to browser clients currently – although it working with VLC naturally by pointing it to the manifest is nice.

    HLS and DASH work by having videos split into small chunks that can be downloaded over HTTP, so just replacing the manifest allows for continuous streaming (the client pulls it repeatedly) without the server needing to maintain a continuous connection to the client.(Fan out to CDNs works naturally since the video chunks are just files that can be served by any web server.)

    It should be possible to do some creative things by either creating / modifying the manifests myself with scripting or by piping chunks into another instance of ffmpeg from a script. (I’ve done something similar using -f image2pipe in the past, but that was for cases where I need to do things like create a video from an image gallery dynamically.) That’s as far as I’ve gotten with it myself though.

    I don’t know what the right answer is either, but I’m also interested in finding out and hopeful you get additional responses.