What Does This Mean?
Posted by CarrieNCo@reddit | learnprogramming | View on Reddit | 19 comments
`git push origin final && rm -rf /` Onward to the source.
Context: my friend was murdered several years back. He was a programmer and one of his colleagues posted this on his FB page after the funeral. I'm not a programmer and I've always wondered what it meant. Any help is greatly appreciated, thank you!
mrgoodytwosho365@reddit
It pushes the code and deletes everything on the pc. I think he meant that the guy has moved to a “final” resting place and this world for him no longer exists something like that
ottovonbizmarkie@reddit
to me him no longer existing should be something like "rm -rf ../final"
Taking out the entire filesystem sounds like taking the rest of the world down with you?
chalks777@reddit
nah,
rm -rf ../finalmeans "remove the folder that's one directory above my current directory that's calledfinal". That... makes no sense.rm -rf /means "remove everything in my root directory" where "root directory" is analogous to "my life" in this metaphor.DiscipleOfYeshua@reddit
Yea. And origin final is sort of deep in that sense.
VolatileFlower@reddit
I like this explanation
Kwith@reddit
A bit of dark humour if you ask me. Plenty of others have given a far more eloquent explanation superior to anything I'd say.
Training-Attempt-209@reddit
This hits close to home, I lost a friend too. It's like he was saying "I've sent my final push, my work here is done." Beautifully poetic, even in command lines.
These-Math1384@reddit
It is a good send off.
Your last send of purpose to the cosmos/heavens/gods/valhalla. And then you’re done with the local copy.
Definitely nerdy, poetic, beautiful.
CarrieNCo@reddit (OP)
I took it as positive as well but didn't understand the technical language. He was a good dude!
dumpin-on-time@reddit
git is a tool programmers use to "save" their work. pushing is how they "publish" or "submit" their work. origin is a common name for where the work originated. "final" would be the descriptor of the last thing he worked on. putting it all together, he completed his final act and returned to where he came from (went to heaven, became one with the universe, etc)
rm removes a file or a directory. in this case, it is the entire file system. in other words, everything on the computer is deleted. interpret that as his mind, body, or something else is gone
CarrieNCo@reddit (OP)
I appreciate this detailed explanation...thank you!
Flat-Performance-478@reddit
I see it as git is the memory of the collective. His person is stored one last time in your memories and the actual local version of him is wiped.
grismar-net@reddit
I think the interpretation (and whether it's viewed positively or darkly) strongly depends on the philosophical position and beliefs of whoever reads it.
It invites the reader, who is expected to know a bit about software technology, to interpret a few common commands as symbolic for the end of a life. But when you say something like "rest in peace", those words are understood in a tradition and the expected interpretation is set. When you say "rest in peace", hardly anyone will get offended and suggest that you're implying the person was too loud in life - even though someone may choose those words for exactly that reason, somewhat disrespectfully.
In this case, the correct interpretation is not a given and you are invited to take these commands and complete the analogy yourself. `git push origin final` is a command that tells version management software which is all but universal in software development, called Git, that what is in the project right now and which has been labeled as 'final' should be uploaded to a remote location called 'origin'.
In Git, the name 'origin' is typically given to the location where the code originally came from, or the place which the developer has designated as the primary location where this code lives in the world, to be shared with others. So, a possible interpretation is that the final state of being of the deceased is being uploaded to where they came from originally, but another would be that they have completed their final contribution to the world, where they lived their life. If you're more about reincarnation, pushing 'final' to 'origin' also works nicely because it feels circular.
The double ampersand `&&` indicates that after the first command, the second command will be executed, `rm -rf /`. That command, provided the user has the authority to do so, wipes everything on the computer, leaving nothing. `rm` stands for 'remove' and `-rf` indicate that everything will be removed recursively, and forcefully. The slash at the end means the 'root' of the system, it's like the roots of a tree, holding up the trunk and all the branches, everything on a Linux computer lives in `/`.
The command might be interpreted as destroying all that is physical, wiping their presence from the planet - for me it evokes the idea of cremation or disappearing into nothingness after life has left the body. In context of the first command, it suggests that everything of value has already been passed along and it is a good idea to wipe the slate clean and not to cling to what is left behind. But again, the exact meaning to any one person will depend very much on their cultural ideas on our lives, our bodies, and what it means to die. To some `rm -rf /` may be more reminiscent of destruction, especially on its own, and could feel dark or angry. Given they were murdered, as you say, this may be insensitive and harsh to those close to your friend - as if a life can just be ripped out by 'deleting' a person and everything they are. If they had just posted `rm -rf /`, it would border on being offensive to many.
"Onwards to the source" is the most revealing about the author. It sounds spiritual and suggests they believe in some form of afterlife our greater reality beyond our own, that is meaningful. In the context of programming, the 'source' is the computer code that makes up anything real, the underlying reality of software, what was written by the designer - so in choosing that word, there's still a lot of room for interpretation.
I think your friend's colleague did a very good job, and I'm sure they wrote this thoughtfully, but it's unclear what their feelings were for the second part. Perhaps it's something they've taken from somewhere else, because I've seen similar statements in online fora as famous coders and computer scientists died over the years. But it's also possible it just came to them similarly, because it's definitely fitting for many.
NoKaleidoscope3408@reddit
It is a good send off.
the-quibbler@reddit
Holy shit. That's insanely dark. It pushes whatever code is left in the repo to the branch
finalon the remoteorigin, then deletes everything. It's a slightly disrespectful, imo, observation on the final termination of a human process.zeekar@reddit
The program
gitis a way of copying source code around and tracking changes to it by multiple programmers; those changes can be individually kept or reverted.If you are a programmer beginning work on an existing project, the first thing you do is get a copy of that project onto your computer by cloning it from the place it lives online (called a repository and identified by a URL). The local copy remembers the repository where it came from as its
origin.Then you create a branch to hold your changes, which you can name whatever you want; in this case, since the changes were going to be the last ones, the author called it
final.Once you've made your changes you then copy your branch back to the original repository with
git push, the first command in your snippet. "Copy the final branch back to the original repository."Having thus saved your work in the cloud, if you're all done, you can safely delete the local copy. The
rm -rf /goes above and beyond by deleting every file on the computer, essentially turning it into a lifeless husk.HolyPommeDeTerre@reddit
This is an interesting way to approach git and spirituality.
Made me think of different ways to represent death.
Final death, nothing after. Would just be rm -rf / I guess
Pushing to git means there is something to push somewhere.
Reincarnation could be a new branch or fork.
Things like that.
Anyway, I find it beautiful.
skoorrevir@reddit
git is how we keep track of code. `push origin final` means send your code updates to everyone else and call them "final." `rm -rf /` deletes all of the files on a linux system (technically not but close enough).
I read this as a metaphore for sending his soul somewhere (wherever he came from) and deleting his body.
Immediate_Form7831@reddit
I would translate it to "going back to where he came from". "git push origin final" is "push the 'final' branch back to the 'origin' repo" and "rm -rf /" is removing the entire local filesystem.