this post was submitted on 27 Mar 2024
1019 points (99.0% liked)
Memes
45661 readers
1229 users here now
Rules:
- Be civil and nice.
- Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Just take a photo with a trusted regular camera app and then enhance it with imagemagick. I have this script, works like a charm:
convert INPUT_IMAGE.jpg -colorspace gray \( +clone -blur 15,15 \) -compose Divide_Src -composite -normalize -threshold 80% OUTPUT_IMAGE.jpg
. Pretty sure you can also specify multiple input images, and imagemagick can merge it into a PDF file. For joining a really large number of images into PDF files (e.g.scans of entire books), you can convert each image individually, and thenpdunite
them. So something likefor i in *; do convert $i $i.pdf; done; pdfunite $(ls *.pdf | sort -n) output.pdf
Apps are bloat. Reject modernity, embrace shell scripts.
I agree.
Does it count if one uses an LLM to help compose the shell script? I mean, I can and have written gnarly scripts by hand but it can take half an hour to work out a single line sometimes for a simple task versus 10 minutes describing it in plain language.
Of course it "counts"! Whatever gets the job done! I personally am pretty bad with writing shell scripts, so I often use LLMs as "pseudocode compilers". Like, I literally give it an entire program in pseudocode, and most of the time it can "compile" it to BASH or posix shell pretty well. Maybe some people might argue that it's better to just sit down and learn shell scripting yourself, but I would argue that just by looking at or tweaking LLM-generated scripts you're already passively learning the basic syntax and conventions. Not to mention that you can ask it to explain parts of the code to you!
Whew, thanks for not being a knee-jerk about my 'mental prosthetic'! It takes real skill and understanding, I think, to even write the pseudocode or plain language description of a working script. After all, describing the problem and the outline of the solution is usually the hardest part. Pecking out the syntax takes the bulk of the time, but if you can avoid that step, what is lost? Very little in my experience.
I've begun collecting an assortment of custom python and shell script utilities to accomplish routine or one-off tasks for which system utilities don't exist. You bet you are still learning when doing it this way. After all, you have to understand the code well enough to tell if the output is what you need.
This is what people who think that AI will replace programmers don't understand. Programming is a way of thinking; knowing all the syntax and best practices is of course important, but secondary. If you've got that curiosity burning inside, those skills will come automatically as you gain more experience. Keep on learning, and don't be afraid to use the latest tools to your advantage, no matter what snobs on the internet say!