nushell is pretty good. I use it for my main shell
although, i still prefer writing utilities in python over nu scripts
nushell is pretty good. I use it for my main shell
although, i still prefer writing utilities in python over nu scripts
just use python instead.
subprocess.run()
, to call to system utilspathlib.Path
for file paths and reading/writing to filesshutil.which()
to resolve utilities from your Path
env varHere’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)
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
Why is there so much political messaging right now
Fuck off with all the democracy doomsday posting, I just want to see funny memes
Don’t leave snow on the roof when you drive
It can peel off in a giant ice sheet in the wind and destroy the car behind you
Or otherwise, create a mini blizzard and make it impossible to see
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)
Pro Tip: put the sheet on opposite corners first. Bottom left corner, then top right corner
This keeps tension on the sheet and prevents it from slipping off while you’re finishing the other 2 corners
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
Waiting till the new year to change is an excuse
Change now, not later
Yup
It’s also the “choke that guy with your crotch till he passes out” sport
(Triangle chokes)
I am really looking forward to all the new fresh meat newcomers to Brazilian Jiu-Jitsu.
Being able to smash someone else’s face into the mat for once
Because it’s all an impulse decision
“New Year’s Resolutions” are the exact opposite of setting good goals
Good goals:
I think it’s both a big cat, and the perspective makes it look bigger
I write code so I can pay for my bougie coffee
(Local fresh roasted coffee is amazing)
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
Mostly boys admiring the boobs or butts of girls
Them: “Yo man, check out her ass… She’s so hot”
How i want to reply: “Yep, that’s a gluteus maximus, although I don’t see her sweating”
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 forp
to finish executionthere 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'))