=== ANCHOR POEM ===
═══════════════════════════════════════════════────────────────────────────────────
here's an idea - when typing a command in a BASH terminal if you push up it
inserts the previous command (as expected) but if you hold SHIFT and push up
it inserts the first argument in your previous command. Then, you can push up
again (while still holding shift) to go one command further back, and again to
get the third previous command.
Then, here's the cool part, if you are holding shift and you push left/right,
then it moves from the first argument of the previous command to the second,
third, fourth argument.
example:ls -ltr ~/pictures/my-art/
feh [shift+up inserts -ltr]
feh -ltr [hmmm that's not right]
feh -ltr [shift+right switches to 2nd argument]
feh ~/pictures/my-art/ [ah that's better]
would be even cooler if it highlighted it in your previous terminal output so
you could visually connect your current input with the previous input
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════───────────────────────────────────┘
=== SIMILARITY RANKED ===
--- #1 fediverse/582 ---
═════════════════════════════════════════════──────────────────────────────────────
@user-431
I made an alias that overwrites cd so I don't have to do this. The important
line is line 27, you could probably accomplish something similar like this:
alias cd="cd ${1} && ls -v --color=auto"
I also set it up so I can change more than one directory up using ... or ....
or .....
also I have a few shortcut scripts, cdir and qcd. cdir creates a quick way to
drop a bookmark wherever I'd like, while qcd can make permanent bookmarks.
Also qcd makes it so whenever I open a new terminal it opens to the last
directory I was in, which is nice if you need a new terminal to do something
in the current folder and you don't want to have to walk alllllllll the way
back.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════─────────────────────────────────────┘
--- #2 fediverse/3592 ---
════════════════════════════════════════════════════════───────────────────────────
@user-1570
[meme of Mr Incredible from the Incredibles pointing at a table]
LINUX IS LINUX.
(anything that works on Linux can theoretically be made to work on your
toaster, if it also runs Linux!)
This is very cool, and if I understand correctly it means that any Godot games
could theoretically be played on these NEAT as HECK little devices, yeah? So
cool!
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═════════════════════════════════════════════════──────────────────────────┘
--- #3 fediverse/1720 ---
╔════════════════════════════════════════════════════──────────────────────────────┐
║ there's even websites online like Facebook or Twitter where you can share │
║ advice and various spells you've invented yourself (it's totally easy to do │
║ btw, I'll show you how) │
║ │
║ everyone's super friendly and anyone who's not isn't allowed to bother us. │
║ it's pretty neat. anyway no matter what it is, if something's bothering you │
║ about your computer, you can fix it. it's just a matter of reading through │
║ documentation. Ah, well, isn't it great to have a lot of free time that you │
║ don't know what to do with? │
║ │
║ Linux is pretty great, I gotta say. I honestly never really leave the command │
║ line - the text based buttons, I mean. I only use a mouse when I'm doing │
║ something with pictures (or playing a game like freecell or hearts) │
║ │
║ plus you can do things like sending raw packets of information to your friend │
║ who's on the other side of the country and they can use a secret key-code to │
║ decrypt it like checking the mail at a locked mailbox. │
║ │
║ anything you can imagine using the physical components of a computer, is │
║ possibleifyrts │
╟─────────┐ ┌───────────┤
║ similar │ chronological │ different │
╚═════════╧═════════════════════════════════════════───────────────────┴──────────┘
--- #4 fediverse/5037 ---
╔══════════════════════════════════════════════════════════════════────────────────┐
║ plus if I ever need to know something about syntax or some obscure function │
║ that I can't remember, I can type a quick message to the local LLM that's │
║ running on my 12 year old graphics card and it'll give me an answer in 5ish │
║ seconds. If it's wrong, I ask again, and I spend a minute or two debugging. │
║ Sometimes that's better than telling google exactly what you're working on. │
║ │
║ in DWM, that's "alt+enter" and then I type the name of the LLM script I wrote │
║ "prompt:" and then type whatever question I have and it spits out the results. │
║ Then when I'm done, either "prompt:" again, which saves the context in an │
║ environment variable (okay actually a file that I made and I pull from, but │
║ functionally it's like an environment variable because its just a flat file │
║ string) until I close the terminal. Then it deletes the context and I can │
║ start anew, or if I wanted to have multiple conversations going I can do that │
║ too. │
║ │
║ ... then I get syntax related search results from locally running software. │
║ Don't need a massive GPTU... │
╟─────────┐ ┌───────────┤
║ similar │ chronological │ different │
╚═════════╧═══════════════════════════════════════════════════════─────┴──────────┘
--- #5 notes/who-likes-linux ---
═══════════════════────────────────────────────────────────────────────────────────
[a picture of someone's neofetch]
/u/HartBreaker27
===============================================================================
I was gunna pass this over... than my spidey senses kicked in.. whats Arch
fam.. and explain like your talking to a potatoe.
Also, if this is beyond potatoes level skills, im fine with being told that..
Seriously fam, potatoes..
/u/ugathanki
===============================================================================
You know how using a windows and a mac feel different? Like they have different
personalities. That's because they're using a different "Operating System". An
OS is a collection of tools and utilities that coalesce into a cohesive unit
that co-illustrates your coincidental contact with computers. Paired, of
course, with the contributions of the hardware and the network.
Linux is sorta like the soul of an OS - not quite an entire OS, but rather just
a piece called a "kernel" - like a nugget of gold (or truth!) the kernel
defines basic operating methodologies and brings order to the chaos of the
machine. From that order strives the will that dutifully obeys your base
instructions after being passed through several translation layers.
Huh? Oh right potatoes.
Arch is like a body that's layered upon the soul (kernel) of Linux. It's what's
known as a "distribution" or "distro" - and one that's quite focused. Arch is
very close to the machine, with barely any translation going on at all! It's
also very bare bones, allowing you to build up exactly what kind of computer
you'd like to have through various "packages" of software that you can download
through a "package manager". Each distro can use whichever package manager
they'd like, but it's generally good practice to pick one and stick with it.
This distro is known as Arch Linux because it's the fusion of "Arch" and
"Linux" - who'd've thought amiright? There are plenty of others that are more
familiar to users of Windows and Macintosh computers, mostly via mimicking
their user-interface styles (such as having desktops with icons and start-menus
with dropdowns and the like) - these distros are great for people who'd prefer
the workflow of the other OS's but would still like to use Linux.
Arch in it's base form is nothing like Windows or Mac. You interact with it
purely through a "terminal" which is like having a conversation with your
computer. Like a scientist writing notes on the moon, and sending them to a lab
orbiting around it to conduct experiments. You type commands, and those
commands (if properly understood) can produce a myriad of effects great and
small.
But some of the experiments you'd like to conduct need to be done more than
once - it'd be nice if you could ask the moon-lab to store some of the
procedures and execute them whenever you need - sorta like abbreviating a long
phrase or sentence that you use often - like ASAP for As Soon As Possible or OS
for Operating System. Well... There are! They're called "scripts", and you can
write scripts for anything you'd like. Since everything is controlled on the
terminal via a TUI -> "Terminal User Interface" -> you can write down a
note
with all the commands you'd like to run and give it a name. Then you can use
that name in the future to execute that familiar experiment in your moon-lab.
after writing enough scripts, you can start to chain them together and layer
them on top of one another - sorta like creating your own language. a personal
dialect between you and your computer. and these scripts are portable too -
they can be given to another computer, who'll instantly understand what you're
trying to say. this kind of sharing is a central tenant of what's known as the:
"Unix Philosophy: Do one thing, and do it right."
Linux lends itself toward people who love to hack things together - not like
breaking into a system and stealing your credit cards, like you see on TV, but
more like cobbling together a go-cart out of rusty parts and proceeding to get
a speeding ticket on the high-way. That kind of fervent creative impulse is
true passion, a shining light for us who are blinded to follow. These "hackers"
are some of the brightest people around, and I have immense respect for them.
They are kind and share knowledge freely, which often gets them in trouble with
copyright laws!
I make it sound difficult, but really it's pretty easy - about as easy as
learning Windows or Mac for the first time. Most of us did that when we were
young though, and kids learn pretty quick - so it may feel harder now, but it's
really not. Once everything starts to "click" then it's just a matter of
knowing which commands to run.
Speaking of which, if you know a command but you don't know how to use it,
you're in luck! There's some super convenient notes written by previous
scientists who came before you and live on other nearby planets. These are
called "the man pages", and they are instructions written in a manual format
for manual application of man-made management applied to manufactured
man-chines. Sorry for that last one I had to. You can always find new commands
by downloading new software on your package manager - generally, one package =
one command. "Do one thing and do it right"
if you have any questions lmk - i'm not exactly a wizard, more of a prophet /
wielder of the will of the watchers within, but i'll do my best
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════───────────────────────────────────────────────────────────────┘
--- #6 fediverse/1567 ---
═════════════════════════════════════════════════──────────────────────────────────
I helped make a script that saves the last directory you CD'd to in every
shell / terminal. It helps because when I open a new terminal I'm already
where I was working last, which means I'm less likely to forget what I was
doing.
However, it does make my home directory a bit more messy, as I no longer open
my computer to that place.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════─────────────────────────────────┘
--- #7 messages/181 ---
══════════════════════════════════════════════─────────────────────────────────────
I know you don't want to hear this, but there is a chance that there will come
a time where your life depends on your ability to debug a computer without the
internet. To set up an SSH server. To install Linux. To program in C. To do
something else that I'm not prepared for... If StackOverflow didn't exist
because network connectivity has been lost, could you remember syntax? Maybe
it's a good idea to set up a local LLM that can answer basic questions about
technology. Maybe it's a good idea to set up on your parents computer, just in
case you have to hide out there for a couple months. Maybe it's a good idea to
download wikipedia, just in case.
If I need to use a mac, I'm screwed
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════────────────────────────────────────┘
--- #8 fediverse/1345 ---
╔═══════════════════════════════════════════════───────────────────────────────────┐
║ ┌────────────────────────────┐ │
║ │ CW: re: cursed-chromebooks │ │
║ └────────────────────────────┘ │
║ │
║ │
║ ah but are you really armed in the first place if everything you do has to be │
║ googled or stack-overflowed first │
║ │
║ are you really armed if every web page request goes through their │
║ infrastructure │
║ │
║ are you really armed if every page downloaded is directed to by their DNS │
║ │
║ perhaps it's the illusion of power that gives Linux it's attraction to nerds │
║ such as we. Perhaps we feel powerful by bash scripting a few things together │
║ and making some program that does some thing. Maybe the idea that the │
║ machinery is open and clear is what compels us to use it without fear, though │
║ as far as we can hear there's nothing about it that makes sense. │
║ │
║ I guess that's why they teach Linux in school, so that our elementary │
║ interactions with the computers that comprise our future existence will make │
║ sense to us as children. │
║ │
║ ... wait they don't do that, do they? kids get chromebooks, or didn't you │
║ hear, they're always putting boogers in the CD trays and breaking their LCD │
║ displays, much better to just start fresh │
╟─────────┐ ┌───────────┤
║ similar │ chronological │ different │
╚═════════╧════════════════════════════════════────────────────────────┴──────────┘
--- #9 fediverse/5950 ---
══════════════════════════════════════════════════════════════════════════─────────
@user-138
wao I'm a cool kid _^
Hmmmm I googled "Network: file exists" and got this link:
https://access.redhat.com/solutions/1340713
my understanding of that is that maybe you're creating static routes, and for
some reason you're trying to create one that already exists? Maybe there's
something in your .bashrc config, if the file appears when you open a
terminal, or perhaps if it appears randomly then maybe there's a service or
something that's doing it.
Did you say it stopped when you swapped sim cards? ... on your phone? that's
bizzare... Maybe you were trying to create an ip route (whatever that is) that
was pointing to the same ip address as your phone? and when you swapped sims
it changed the ip address? If it appears again, maybe try setting static IP
addresses for both the phone and the computer in your router settings and see
if that fixes it. Though if you've ever seen the error while out and about at
like, a coffee shop or library or whatever, then that wouldn't apply since the
router is only for home base...
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════════════════════════────────┘
--- #10 fediverse/1246 ---
═══════════════════════════════════════════════────────────────────────────────────
@user-883
hehe if I don't understand how it works it's difficult for me to use things.
My Linux friends get so exasperated with me because I'm like "cool script
gimme like 2 days to figure it out" and they're like "bro just use these
flags" and I'm like "no"
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════───────────────────────────────────┘
--- #11 fediverse/6026 ---
══════════════════════════════════════════════════════════════════════════─────────
"huh weird why does my ls -ltr output display 4096 for every single
directory's size"
"maybe there's a man-file option for it"
https://stackoverflow.com/questions/1019116/using-ls-to-list-directories-and-th
eir-total-sizes
what if every file had a record of every file that had a record of it. then,
we could see the total size no matter what level of the directory structure.
plus, it'd make deleting a lot easier, all you'd have to do is propagate a
process. that way it can get super messed up and complicated if ever shut down.
boom, robot mortality, they cherish it
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════════════════════════────────┘
--- #12 fediverse/3907 ---
══════════════════════════════════════════════════════════─────────────────────────
kinda wanna make a linux distro that has all the capabilities of a GUI distro
and isn't so minimal (like screen recording, calculator, screenshot, wifi
manager, etc etc) but with i3 instead of a desktop.
they could literally just be symlinks (shortcuts) to scripts that are in your
/usr/bin or whatever directory
seriously it's not like there's THAT many ways to use ffmpeg, why not just
write a script for them? that's what you're going to do when you use it for
the first time, anyway, so...
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════════────────────────────────┘
--- #13 fediverse/928 ---
═══════════════════════════════════════════════────────────────────────────────────
@user-226
especially if you teach them how to use the terminal.
the amount of problems I could solve increased exponentially once I learned
basic python and BASH.
I love using "tldr", which is a summarizer for man pages. You can use it to
store custom notes (and import some from the community) which show you how to
complete common tasks. It's so nice when you can see the options laid out in
use right there for you whenever you type "tldr " - I personally use
"tealdeer" which is a tldr browser written in Rust. It's pretty nice because
you can write a note for yourself every time you solve a particular problem,
and then if you ever need to do it again it's there for you, easy to access.
of course, if your problem isn't listed, that's okay. That's what the man
pages are for. As long as you teach them how to search with \/ they can find
anything. Especially the \/-f[space] trick, to search for the -f flag for
example.
some organizers won't need the terminal, some will. if they pay attention,
great!
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════───────────────────────────────────┘
--- #14 fediverse/2879 ---
══════════════════════════════════════════════════════─────────────────────────────
┌────────────────────────┐
│ CW: re: tech info-dump │
└────────────────────────┘
@user-1370
I love this a lot! I want to put function pointers in a "matrix architecture
array" and make them point to different functions at different points in the
program. I bet you could even point them at each other, so like if M and Y
then point at N, A, Y or something.
this is really cool I like stuff like this tomorrow I'll take pictures of
something similar I'm working on! I abandoned it tho hehe anyway remind me if
I forget!!
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧═══════════════════════════════════════════════────────────────────────────┘
--- #15 messages/755 ---
═════════════════════════════════════════════════════════════════──────────────────
Code editor that moves boxes by saving over the file with a lua script every
time you moved a function call around.
Oh lemme start at the beginning:
A code editor program that's like a text editor like Vim or Emacs. If you
don't know what those are, you should probably learn Emacs. Or Vim. Up to you.
Oh right so if you do know what those mean, here's the idea: the white space
matters. It's counted and tracked into variables in a LUA script which
interface with the Vim C keybindings.
"run a function within a c program or LUA script which calls a bash command
which opens Vim for example with a file you want to edit. Then, inside the
file, your spaces and tabs would WYSIWYG for the various food ads placed
about, and then you could very easily create game design knowledge.
WASD to move, alternatively hjkl
It would run a check every time the file updates and depending on how it
changed it'd mark certain variables which would change the website as the user
moved things around.
It's just files. And files are just bits. But files are a useful abstraction,
If you realize that "ugly hacking" should be industry standard.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧══════════════════════════════════════════════════════════─────────────────┘
--- #16 fediverse_boost/5981 ---
◀─╔═══════════════════════════════[BOOST]════════════════════════════════────────╗
║ ┌────────────────────────────────────────────────────────────────────────────┐ ║
║ │ Some programming languages I’ve tried and liked and would recommend to others:C (especially C89/C90/“ANSI C” and C99)posix shell, bourne shell, and similar shells (bash, ksh93, mksh)PHPScheme (depending on the vibes I’m getting from someone I might recommend)Common Lisp (Same caveat as Scheme)Emacs Lisp (Same caveat as Scheme and Common Lisp)Motorola 68000 assembly │ ║
║ │ │ ║
║ │ Some languages I’ve tried and liked but would not recommend to others:Hewlett-Packard RPL (Actually I might recommend it to someone but it has to be a very specific kind of person)FORTH (same as RPL)Commodore BASIC (Microsoft BASIC) for the VIC-206502 assembly (so bad it’s good)Z80 assembly │ ║
║ │ │ ║
║ │ Some languages I’ve tried, did not like, and would not recommend to others:COBOL (maybe I could get used to it? I can at least read it. Just it’s so painfully like writing SQL statements without being as generally useful as SQL database queries)Kotlin (Like that feeling when you read words that alone you understand, but together in a sentence they make zero sense)JavaClojure (a.k.a. “Let’s make Common Lisp but make it worse”)Rust (stands for “Ridiculous Use of System Time” or something as far as I am concerned, heavy on memory and storage and super slow to compile and reads like Kotlin)TI BASIC (TI-82/83/84 style; TI-89 is a little bit better but still not good)C++ (unless you’re just writing almost completely C and building it with a C++ compiler)x86 assembly (I kind of like it but mostly don’t, there are better and more coherent CISC processor ISA’s if you’re into that) │ ║
║ │ │ ║
║ │ I should put Javascript somewhere, so I’ll say that it’s possible to write javascript code that I like and can read. Just no one chooses to do it anymore. There was a window between the time JQuery started to fade and all these stupid fucking “web frameworks” took off that it was somewhat tolerable. │ ║
║ └────────────────────────────────────────────────────────────────────────────┘ ║
╠─────────┐ ┌───────────╣
║ similar │ chronological │ different ║
╚═════════╧════════════════════════════════════════════════════════════┴───────╝─▶
--- #17 fediverse/4772 ---
═══════════════════════════════════════════════════════════════────────────────────
@user-1692
I usually write everything down in a script that way when I call it from an
external service all I have to do is point at the file
sorta like... hacking environmental options into a config file
like... I don't write an ffmpeg command every time I want to record my screen.
I just type "screen-record" and then it'll do the thing that I figured out how
to do a long time ago.
... oh no there's an error, I wonder what changed out from under my feet.
huh it's wine, that one's always confusing to debug. Let's see... "could not
open program.exe" uh-huh. Well, why not? is there a dependency issue?
something miscompiled or configured? no? it's just... broken? you don't get to
use that program today? huh that's weird. that's linux for ya I guess.
┌─────────┐ ┌───────────┐
│ similar │ chronological │ different │
╘═════════╧╧════════════════════════════════════════════════════════───────────────────┘
--- #18 fediverse/5237 ---
╔════════════════════════════════════════════════════════════════════──────────────┐
║ that feeling when you're working on a large piece of software which has the │
║ capability to process in advance which operations will go in what order (a │
║ form of constant re-compilation) and schedules tasks like an operating system, │
║ to be executed on one of many individual threads. │
║ │
║ your filemanager probably has a thread for a moment, then passes it back, │
║ waiting it's turn to be updated while you're messing around on Inkscape or │
║ writing something in Neovim or running neofetch 256 times in order to find the │
║ best background to go along with it or whatever it is people do when using │
║ computers │
║ │
║ the task scheduler meanwhile has the glorious opportunity to work at a higher │
║ level of abstraction, managing each individual process and learning bits and │
║ pieces of what needs to be processed next. It all gets put on a list, and │
║ whenever a new thread comes up to be available it can point it toward one of │
║ those in the list of tasks to be executed by the task executor who works on a │
║ schedule and laughs externally in wintertime~ │
╟─────────┐ ┌───────────┤
║ similar │ chronological │ different │
╚═════════╧═════════════════════════════════════════════════════════───┴──────────┘
--- #19 fediverse/5783 ---
╔═══════════════════════════════════════════════════════════════════════───────────┐
║ I think our industry should work on one project at a time │
║ │
║ "do one thing and do it well" │
║ │
║ linux users code. │
║ │
║ everyone backends ffmpeg. │
║ │
║ everyone online uses chrome. │
║ │
║ what if we just rewrote every single program and... left it without updates in │
║ a "permanently forbidden" zone │
║ │
║ ... I mean what if we wrote non-proprietary alternatives to every proprietary │
║ source of computational knowledge and then we could only patch security │
║ vulnerabilities and compatibility change-bounties [oh no now you're allowing │
║ for endless levels of abstraction [meaning, operating system package │
║ installation bloat] and distasteractions.] │
║ │
║ the futures where all is not well nearly outnumber the well. but the inverse │
║ is also true, for they are divided roughly equal fifty. balance, in all │
║ things, is the only temperate state. when balance is │
║ [changed/something/uplifted], balance is inevitable to be search-shifted. │
║ │
║ why must you die for an audience? │
║ why │
║ │
║ ... I don't really want to, but what happens happens. we'll see if it's a for │
║ sure dealing. │
╟─────────┐ ┌───────────┤
║ similar │ chronological │ different │
╚═════════╧════════════════════════════════════════════════════════════┴──────────┘
--- #20 fediverse/1937 ---
╔════════════════════════════════════════════════════──────────────────────────────┐
║ The best tip I have for people new to Linux is every time you solve a problem, │
║ put the solution in a script. In addition, put the operations necessary to │
║ undo the operation you just performed into a separate script (or function in │
║ the same script) │
║ │
║ It's not hard. It's very easy. Its basically just typing things into a text │
║ document instead of entering them one-by-one in your terminal. But now if you │
║ ever need to solve the same problem twice, you just need to look through all │
║ the scripts you've written instead of trying to relearn how to fix the thing │
║ you're working on. │
║ │
║ Plus, if you ever need to disable what you did, well there it is, you're good │
║ to go. You can use chatGPT for things like text parsing or whatever, like "hey │
║ can you write me a sed command that does this exact thing that I'm going to │
║ enumerate and spell out for you" followed up by "that didn't quite work, the │
║ desired behavior was this, but when I ran the script provided it did this" │
║ boom you're a Linux administrator now, heres your rubber duck. │
╟─────────┐ ┌───────────┤
║ similar │ chronological │ different │
╚═════════╧═════════════════════════════════════════───────────────────┴──────────┘
|