Skip to content
This repository has been archived by the owner on Sep 17, 2018. It is now read-only.
/ Ponifuse Public archive

Ponifies files at load and de-ponifies them at write time (fuse module)

Notifications You must be signed in to change notification settings

Xe/Ponifuse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ponifuse is an experimental project in applying the text-replacement rules of Ponify to file transparently as they are written and read.

THIS DOES NOT WORK YET


Story time! This is a modified version of the reddit post that started this all.

So, about a month or so ago, one of my floormates, Derp called me "gay" for liking and watching My Little Pony, right? He was met with the full force of Love and Tolerance. eg:

him

"Dude, it's a [redacted] girl's show, you are gay." ಠ_ಠ

me

"Have you seen it? You shouldn't judge something by first appearances." and he gave up from there (pro tip: love and tolerance beats all).

So, about a week ago (from date of writing), I installed ponify on his browesr and completely hid it. Today he found out the magic. And I found out he thought the internet was broken, and he went over to my desktop and laptop to confirm this. Oh, I should mention, I have ponify on both my boxes. I verified to him that he was searching for "The Filly With The Dragon Cutie Mark", and not "The Girl With the Dragon Tattoo". The look on his face as he had a lapse of sanity was so worth it.

My next idea? Make Ponify modify files at load-time in the linux kernel (or possibly a FUSE module) to smartly ponify files at load-time by transparently mounting the ponifuse module at login (okay, this part is not my job, but it is an example case).

This is my implementation of that idea, in the form of a fuse module.


Implementation details:

Ponifuse pretends that the directory you have ponified is not changed at all, until you try to read from the files. As the file is opened, Ponifuse ponifies the file in question by replacing words in the file as according to the substitutions I have hard-coded. An example is that "everyone" becomes "everypony", and it also has the advantage of removing confusing and outdated words like "human" (whatever that means).

The full list of replacements is in src/list.txt if you want to see all of them. Fair warning, the list was generated by python in the REPL, so it is not optimized for humans reading it.


Special thanks to stillunnamed on irc.ponychat.net for helping me get the basics of the replacement logic hammered down. Also thanks to Justin Workman for talking me into this.

This project is only intended for fun, testing, and possibly being used in pranks against people you hate er... Love and Tolerate.

Oh, as of when I updated this part last, Derp has not gotten me back for the Ponify prank yet. As he does not use Linux, I cannot test the effectiveness of this project on a victim voulnteer. I will post details when he does get me back. If I die, please order me a pizza.

More to come.




About

Ponifies files at load and de-ponifies them at write time (fuse module)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages