• 2 Posts
  • 269 Comments
Joined 1 year ago
cake
Cake day: December 31st, 2023

help-circle
  • that is a little more complicated

    p.communicate() will take a string (or bytes) and send it to the stdin of the process, then wait for p to finish execution

    there are ways to stream input into a running process (without waiting for the process to finish), but I don’t remember how off the top of my head

    
    from shutil import which
    from subprocess import Popen, PIPE, run
    from pathlib import Path
    
    LS   = which('ls')
    REV  = which('rev')
    
    ls   = run([LS, Path.home()], stdout=PIPE)
    
    p = Popen([REV], stdin=PIPE, stdout=PIPE)
    stdout, stderr = p.communicate(ls.stdout)
    
    print(stdout.decode('utf-8'))
    


  • just use python instead.

    • wrap around subprocess.run(), to call to system utils
    • use pathlib.Path for file paths and reading/writing to files
    • use shutil.which() to resolve utilities from your Path env var

    Here’s an example of some python i use to launch vscode (and terminals, but that requires dbus)

    
    from pathlib import Path
    from shutil import which
    from subprocess import run
    
    def _run(cmds: list[str], cwd=None):
        p = run(cmds, cwd=cwd)
    
        # raises an error if return code is non-zero
        p.check_returncode()
    
        return p
    
    VSCODE = which('code')
    SUDO   = which('sudo')
    DOCKER = which('docker')
    
    proj_dir = Path('/path/to/repo')
    
    docker_compose = proj_dir / 'docker/'
    
    windows = [
      proj_dir / 'code',
      proj_dir / 'more_code',
      proj_dir / 'even_more_code/subfolder',
    ]
    for w in windows:
      _run([VSCODE, w])
    
    _run([SUDO, DOCKER, 'compose', 'up', '-d'], cwd=docker_compose)
    

  • Lightfire228toComic Strips@lemmy.worldDevils Panties 01/13/2025
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    8 days ago

    I’ve started collecting ideas in my notes

    I open Obsidian, create a new note, and jot down the idea

    Obsidian is preconfigured to add new notes to an Inbox folder, and the note’s name defaults to the date and time

    At a later time, I go through my inbox and rename and recategorize


    This makes writing down ideas painless, while also minimizing the interruption of whatever I was doing at the time





  • Speaking as the “never wore winter clothes” kid, when you’re overweight, you can tolerate colder weather due to body fat being a natural insulator

    Combine that with a natural tolerance for cold, and sensory issues with heavy clothes, and you get this.

    To the point where I had many fights with my parents over it

    (I still wear sandals year round because fuck shoes)




  • Lightfire228tomemes@lemmy.worldIt's getting cold
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    20 days ago

    See, I like to actually enjoy myself sometimes, instead of just hating the world

    And part of that enjoyment is good coffee. Fresh, locally roasted coffee, that I grind fresh each morning. I either take it black, or with a splash of milk, depending on my mood

    Drip brewers are perfectly fine, so long as you don’t use the hot plate. But the biggest impact on coffee flavor is the freshness of both the roast and the grind





  • Because it’s all an impulse decision

    “New Year’s Resolutions” are the exact opposite of setting good goals

    Good goals:

    • need to be definable
      • “I will start restricting calories and target a 1lb per week loss”
      • not “get in shape”
    • need to be actionable
      • “I will start making plans right now, and implementing them tonight”
      • not “I will wait till a specific time of the year”
    • need to be sustainable
      • “I will adjust my strategy to work around my daily habits and otherwise be flexible”
      • not “NO MORE SWEETS”



  • Lightfire228tomemes@lemmy.worldIt's getting cold
    link
    fedilink
    arrow-up
    15
    ·
    20 days ago

    Coffee brewers that have a hot plate under the carafe will burn and ruin coffee. The best method of keeping coffee fresh is to keep it in a sealed container (like a double walled carafe with a lid)

    Microwaving coffee is actually a pretty decent way to re-heat it, but the taste will depend on how fresh it was kept prior


  • I’m more talking about theory than practical.

    I’ve not developed anything in C/C++, so I don’t know practical uses for a double pointer, aside from multidimensional arrays, or arrays of pointers

    My point was that, conceptually, pointers to pointers is how most complex data structures work. Even if the C representation of said code doesn’t have a int** somewhere