I made the icy-nord and icy-nord-darker themes.

change suggestions

issues

update notifications

@promitheas:matrix.org

  • 11 Posts
  • 49 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle









  • Thanks it actually was quite helpful to understand why I need to use such a capacitor for my chips! (Until towards the end he started getting really deep into it and my eyes glazed over)

    Am I correct in assuming that my project and the chips I use do not really require me to put 3 or 4 different value capacitors in parallel instead of just one? Also, he mentions that its a good idea to use this technique on all chips, so would there be a downside to me placing a (or more) capacitor on the Vcc pin of all 3 of my chips (RTC, LCD display, Bluetooth) even though their datasheets might not specifically mention requiring them? Basically, if I have the capacitors, is there a reason to not put a decoupling capacitor on the Vcc pin of any chip in your circuit?





  • Yes, I’ll probably just be doing this on breadboards, but there is a chance I might eventually move it to a PCB (assuming I learn that part of KiCAD soon enough and have enough time to order PCBs before I need to submit). In either case, the power source of the entire system will probably be some holder/rack (not sure what they are actually called) for several AA or AAA batteries. Basically it will need to be something that a theoretical consumer would be able to replace easily - the batteries that is.

    Do the problems outlined in your and other’s comments about these types of capacitors in this application also present from regular batteries, or are they usually not high voltage enough to cause problems?







  • The other comments do a good job explaining why you would go with X or Y distro based on your requirements. What I want to do is give you a general recommendation/piece of advice based on a feeling I get from reading your post that, that you are not excluding the possibility of tinkering with your system at some point in the future to get it less bloated and more streamlined to your use case (please absolutely correct me if I’m wrong about my interpretation).

    As such, I think if your current computer has the ability to reasonably run Mint you should go with that. The reason is that it simply works most of the time without much hassle. As someone new to Linux, that’s a big part of the transition. A lot of stuff is new, so there’s no need to force extra complexity on top. You have the ability to dabble in said complexity even with Mint, but its not required, and while I am dying to recommend Arch to you having read that your PC is a bit on the less powerful side (the meme is real guys), I don’t think its a productive use of your time nor a healthy level of stress to deal with at this point of your “Linux progression”. That’s why I recommend Mint; make the transition, have the ability to slowly and eventually play with your system to an increasing degree as you get more comfortable with everything, but don’t handicap yourself from the get-go. Eventually, if you do decide to go with a distro which gives you more control in exchange for higher experience/knowledge/tinkering then you should have a solid foundation of skills to build on.

    tl;dr: I recommend Mint so you get used to Linux, looking up solutions online, using the tools (commands) available to you to diagnose problems you may encounter, and if you decide its good enough for your use case - stick with it. If you want more control, think of it as a learning experience which will allow you to at some point delve into the more hands-on, complex distributions.





  • Oh, Im sorry. If I’m honest I completely forgot. Here it is:

    You will need ffmpeg installed, and I did write it for Linux, so I’m not sure if there are differences for windows. Worst case you need to slightly modify it to work on windows.

    #!/usr/bin/env python3
    
    import requests
    import os
    import subprocess
    from urllib.parse import urljoin
    import sys
    
    def download_video_chunks(base_url, output_file):
        """
        Downloads video chunks from the given base URL and merges them into a single file.
    
        :param base_url: The URL to the playlist or base directory containing the video chunks.
        :param output_file: The name of the output video file (e.g., "output.mp4").
        """
        try:
            # Get the playlist file (e.g., .m3u8 or .ts index file)
            print(f"Fetching playlist or video chunk URLs from: {base_url}", flush=True)
            response = requests.get(base_url, timeout=10)
            response.raise_for_status()
            
            # Parse the playlist to get the chunk URLs
            lines = response.text.splitlines()
            chunk_urls = [urljoin(base_url, line) for line in lines if line and not line.startswith("#")]
    
            if not chunk_urls:
                print("No video chunks found in the provided URL.", flush=True)
                return
    
            # Create a directory for storing chunks
            os.makedirs("video_chunks", exist_ok=True)
    
            # Download each chunk
            chunk_files = []
            for idx, chunk_url in enumerate(chunk_urls):
                chunk_file = os.path.join("video_chunks", f"chunk_{idx:04d}.ts")
                print(f"Downloading {chunk_url}...", flush=True)
    
                with requests.get(chunk_url, stream=True) as chunk_response:
                    chunk_response.raise_for_status()
                    with open(chunk_file, "wb") as f:
                        for chunk in chunk_response.iter_content(chunk_size=1024):
                            f.write(chunk)
    
                chunk_files.append(chunk_file)
    
            # Merge the chunks into a single file using ffmpeg
            print("Merging chunks...", flush=True)
            with open("file_list.txt", "w") as f:
                for chunk_file in chunk_files:
                    f.write(f"file '{chunk_file}'\n")
    
            subprocess.run(["ffmpeg", "-f", "concat", "-safe", "0", "-i", "file_list.txt", "-c", "copy", output_file], check=True)
    
            print(f"Video saved as {output_file}", flush=True)
    
        except requests.exceptions.RequestException as e:
            print(f"An error occurred while downloading: {e}", flush=True)
        except subprocess.CalledProcessError as e:
            print(f"An error occurred while merging: {e}", flush=True)
        finally:
            # Clean up temporary files
            if os.path.exists("file_list.txt"):
                os.remove("file_list.txt")
            for chunk_file in chunk_files:
                os.remove(chunk_file)
            # if os.path.exists("video_chunks"):
                # os.rmdir("video_chunks")
    
    if __name__ == "__main__":
        base_url = input("Enter the URL of the video playlist or base directory: ")
        output_file = input("Enter the output video file name (e.g., output.mp4): ")
        print(f"Starting download process for playlist: {base_url}", flush=True)
        download_video_chunks(base_url, output_file)
    

    If you guys can recommend a fair and open pastebin alternative for me I will upload it there as well and edit this with the link