• 2 Posts
  • 56 Comments
Joined 1 month ago
cake
Cake day: January 1st, 2026

help-circle
  • that’s a brutal hack. so they hacked the hosting update server, made it monitor incoming IPs, and then selectively uploaded a compromised backdoor update based on IP only to certain computers so it would go undetected longer?

    it’s awful, but technically impressive that someone could remotely hack the server like that and set up such a complex system to target IPs… unless it was a state actor that compelled the server company to provide local access, in which case it’s less impressive.





  • The last woman I messed around with before realizing I was gay was essentially perfect. She was nice, healthy, great smile, genuine, fun… My lack of sexual attraction feelings for her were what convinced me I was gay. It was like “Well, if this isn’t doing it for me, there’s no bisexuality in my future.” Your wife probably really liked you and thought were perfect, and probably someone other woman will think you’re perfect too in the future. Your wife was just gay, and probably wished she liked you because you’re so perfect, probably felt like maybe she could make it work because you’re so great.


  • If she’s actually a Christian and believes in Christianity 100 percent, she would believe her dead husband is now in heaven. Why would she be sad about that if she really believes? She also has kids. Is she supposed to be sad and mope around all the time? Would it be better for her kids if she constantly was crying and not talking to anyone and staying in her room all day? Should she have thrown herself on a pyre after?

    It’s fine to be critical of this woman for disagreeing with her political views, but it’s outrageous and gross for criticizing how she responds to her husband’s death. Some people like to put on a happy face in public and we have no idea what she is going through in private.



  • They constantly measure DomRect using javascript, which is a unique hardware-based metric that can be used to track individual users.

    Imagine the cost of running duck.ai. What exactly is the revenue that it brings in?

    Of course, if it were some honeypot, using DomRects to track users (and DomRect is not protected by Tor Browser or Mullvad Browser etc), well then it doesn’t really matter if it’s not bringing in much revenue since it’s value is in being a honeypot.

    Yes, DomRect can be used legitimately in coding without tracking users… but why does ddg need to use this when they know that it CAN be used to track users and users have no way to audit the servers?

    It’s really interesting they measure DomRect and not Canvas when privacy-aware users often block canvas fingerprinting but don’t block DomRect.

    It’s sus



  • I can’t fathom that Signal is not a honeypot.

    Back when I tried to register, not only did they want a phone number (which usually links to IRL KYC stuff) but they also wanted me to complete a google captcha that took different metrics (canvas, etc) of my device.

    Why is that needed? They say it’s to reduce spam, I just don’t believe it it.

    Not only that, I can’t register using a linux system. I simply MUST register with a mobile device (that I will likely have on me) that can potentially track me through the cellular modem in the device and also likely has listening devices inside the device and a camera attached that is very hard to cover (because it’s embedded into the glass and and covering it with anything messes with the swipe up function).

    No organization would create something that is so incredibly hostile to people who don’t want mobile phones and don’t want numbers unless they were a honeypot. I even think that Signal was created in a large part to try to siphon popularity away from XMPP before it could reach mass adoption.




  • That’s exactly what I am trying to do, I’m just not that sure how to do it. I have the hardware needed, I just need to set up a docker with PyTorch and then find a way to set up Gradio inside that and then add TrOCR from hugging face, and then I’m good. I just am not totally sure how to do that and it seems hard, and when I ask AI for advice, it often is like “just run the following” and it’s wrong, and I’m not skilled enough to know why.







  • Terminal error after running GPT code:

    
    
    python3 trocr_pdf.py small.pdf output.txt
    Traceback (most recent call last):
      File "/home/user/.local/lib/python3.10/site-packages/transformers/utils/hub.py", line 479, in cached_files
        hf_hub_download(
      File "/home/user/.local/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
        return fn(*args, **kwargs)
      File "/home/user/.local/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1007, in hf_hub_download
        return _hf_hub_download_to_cache_dir(
      File "/home/user/.local/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1124, in _hf_hub_download_to_cache_dir
        os.makedirs(os.path.dirname(blob_path), exist_ok=True)
      File "/usr/lib/python3.10/os.py", line 215, in makedirs
        makedirs(head, exist_ok=exist_ok)
      File "/usr/lib/python3.10/os.py", line 225, in makedirs
        mkdir(name, mode)
    PermissionError: [Errno 13] Permission denied: '/home/user/.cache/huggingface/hub/models--microsoft--trocr-base-handwritten'
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/home/user/Documents/trocr_pdf.py", line 39, in <module>
        main(pdf_path, out_path)
      File "/home/user/Documents/trocr_pdf.py", line 11, in main
        processor = TrOCRProcessor.from_pretrained(model_name)
      File "/home/user/.local/lib/python3.10/site-packages/transformers/processing_utils.py", line 1394, in from_pretrained
        args = cls._get_arguments_from_pretrained(pretrained_model_name_or_path, **kwargs)
      File "/home/user/.local/lib/python3.10/site-packages/transformers/processing_utils.py", line 1453, in _get_arguments_from_pretrained
        args.append(attribute_class.from_pretrained(pretrained_model_name_or_path, **kwargs))
      File "/home/user/.local/lib/python3.10/site-packages/transformers/models/auto/image_processing_auto.py", line 489, in from_pretrained
        raise initial_exception
      File "/home/user/.local/lib/python3.10/site-packages/transformers/models/auto/image_processing_auto.py", line 476, in from_pretrained
        config_dict, _ = ImageProcessingMixin.get_image_processor_dict(
      File "/home/user/.local/lib/python3.10/site-packages/transformers/image_processing_base.py", line 333, in get_image_processor_dict
        resolved_image_processor_files = [
      File "/home/user/.local/lib/python3.10/site-packages/transformers/image_processing_base.py", line 337, in <listcomp>
        resolved_file := cached_file(
      File "/home/user/.local/lib/python3.10/site-packages/transformers/utils/hub.py", line 322, in cached_file
        file = cached_files(path_or_repo_id=path_or_repo_id, filenames=[filename], **kwargs)
      File "/home/user/.local/lib/python3.10/site-packages/transformers/utils/hub.py", line 524, in cached_files
        raise OSError(
    OSError: PermissionError at /home/user/.cache/huggingface/hub/models--microsoft--trocr-base-handwritten when downloading microsoft/trocr-base-handwritten. Check cache directory permissions. Common causes: 1) another user is downloading the same model (please wait); 2) a previous download was canceled and the lock file needs manual removal.
    

    LLMs are so bad at code sometimes. This happens all the time time with LLMs and code for me, the code is unusable and it saves no time because it’s a rabbit hole leading to nowhere.

    I also don’t know if this is the right approach to the problem. Any sort of GUI interface would be easier. This is also hundreds of pages of handwritten stuff I want to change to text.


  • that’s not for TrOCR, it’s just for OCR, which may not work for handwriting

    I did try some of the GPT steps:

    pip install --upgrade transformers pillow pdf2image
    
    

    getting some errors:

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━ 3/4 [transformers]  WARNING: The scripts transformers and transformers-cli are installed in '/home/user/.local/bin' which is not on PATH.
      Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    mistral-common 1.5.2 requires pillow<11.0.0,>=10.3.0, but you have pillow 12.1.0 which is incompatible.
    moviepy 2.1.2 requires pillow<11.0,>=9.2.0, but you have pillow 12.1.0 which is incompatible.
    
    
    

    this is what GPT said to run, but it makes no sense because I don’t have TrOCR even downloaded or running at all.

    Install packages: pip install --upgrade transformers pillow pdf2image
    Ensure poppler is installed:
    
    Ubuntu/Debian: sudo apt install -y poppler-utils
    macOS: brew install poppler
    
    Execute: python3 trocr_pdf.py input.pdf output.txt
    

    That’s the script to save and run.

    #!/usr/bin/env python3
    import sys
    from pdf2image import convert_from_path
    from PIL import Image
    import torch
    from transformers import TrOCRProcessor, VisionEncoderDecoderModel
    
    def main(pdf_path, out_path="output.txt", dpi=300):
        device = "cuda" if torch.cuda.is_available() else "cpu"
        model_name = "microsoft/trocr-base-handwritten"
        processor = TrOCRProcessor.from_pretrained(model_name)
        model = VisionEncoderDecoderModel.from_pretrained(model_name).to(device)
    
        pages = convert_from_path(pdf_path, dpi=dpi)
        results = []
        for i, page in enumerate(pages, 1):
            page = page.convert("RGB")
            # downscale if very large to avoid OOM
            max_dim = 1600
            if max(page.width, page.height) > max_dim:
                scale = max_dim / max(page.width, page.height)
                page = page.resize((int(page.width*scale), int(page.height*scale)), Image.Resampling.LANCZOS)
    
            pixel_values = processor(images=page, return_tensors="pt").pixel_values.to(device)
            generated_ids = model.generate(pixel_values, max_length=512)
            text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
            results.append(f"--- Page {i} ---\n{text.strip()}\n")
    
        with open(out_path, "w", encoding="utf-8") as f:
            f.write("\n".join(results))
        print(f"Saved OCR text to {out_path}")
    
    if __name__ == "__main__":
        if len(sys.argv) < 2:
            print("Usage: python3 trocr_pdf.py input.pdf [output.txt]")
            sys.exit(1)
        pdf_path = sys.argv[1]
        out_path = sys.argv[2] if len(sys.argv) > 2 else "output.txt"
        main(pdf_path, out_path)