Alt account of @Badabinski

Just a sweaty nerd interested in software, home automation, emotional issues, and polite discourse about all of the above.

  • 0 Posts
  • 214 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2024

help-circle
  • I’m hoping you get some good answers. I can’t wear long sleeves in my unheated machine shop (long sleeves + lathe = Very Bad™), and a 20 amp breaker can’t run a lathe and an electric heater simultaneously. I’ve got a diesel heater out there, but it’s just not enough to keep a drafty cinderblock building warm. I get pretty chilly out there, and some kind of battery heated vest would go a long way.






  • Was this done according to proper clean-room design principles? If so, then imo the GPL is still working as intended. The company had to spend a fuckton of money and time getting one engineer to read the source and describe what was done to other engineers, and then ensure that one engineer never ever worked on the project again.

    If they didn’t do that then they violated the GPL and someone should report them to the SFLC.




  • I wrote a program at work that gets deployed to hundreds of thousands of systems and is very hard to fully test or instrument. This program recently had a bug that was hard to track down. Using the command line, I connected to one of these boxes over ssh and ran a series of commands to detect the bug and dump details of what happened. Then, I took all those commands and turned them into a onliner that I could pass in over ssh, so I could get everything I needed for an individual maxhine. I then used xargs to run that command in parallel over every single one of the systems my code was running on and in the end, I was left with a nice directory of files whose name was the IP of an affected system, each filled with useful information. I started by manually running command over ssh, but the composable nature of the shell allowed me to transition that into a script in a matter of minutes.

    I provided a more residential example of why I exclusively use the terminal for file management in a different top level comment.


  • My work and personal computers typically have two applications open—a web browser and a terminal (well, really a shitload of terminals). I don’t have a desktop, I have a terminal. I don’t have a graphical file manager, I have a terminal. I’m not doing this because it’s cool, I do it because it’s efficient as all fuck and makes it trivial to fire off one-liners to automate shit.

    Like, I stream a certain video game competitively, and I need to keep recordings if I want to submit runs. I started off recording my gameplay using x264, and the file sizes were too damn big. I tested various av1 options out using ffmpeg on a small sample clip, and when I was done it was simplicity itself to just do this:

    # I'm typing this on my phone so I'm not going to write out the ffmpeg args
    for file in recordings/*.mp4; do ffmpeg "${some_args[@]}"; done
    

    I didn’t have to learn some stupid GUI batch processing thing. I didn’t have to install any extra tools (since I already had ffmpeg). I just took my command, substituted the input and output files for variable names, and looped that shit.

    I feel that the command line is the most efficient interface for a huge number of tasks. Discoverability is awful (although improved with good tab completion and just reading the fucking manual), but the efficiency and composability of a CLI built in the Unix tradition is hard to overstate imo.