This is going to be a long one. Skip to the end if you just want to see the list of funny modules. I was initially only planning to write about some joke modules that were created for no reason other than to be funny. But then I went deep into a rabbit hole of old issues and discussions about joke modules in general and realised there maybe a lot more to write about. The rabbit hole went deep and wide. I went back a good 12 years at least on drupal.org and uncovered a lot more modules in the process!
Drupal is not the only community where software exists just because it either is funny or does something funny. For example, the Linux community has its own share of jokesters! I've talked about some weird distro's here, namely Ubuntu Satanic, Hanah Montana Linux, biebian etc. Many software have been named because of awesome puns or as an homage to a movie or TV series. Apache comes to mind. "A-patchy" server. Get it? Python is named python because Guido van Rossum was reading the published scripts from “Monty Python's Flying Circus”, a BBC comedy series from the 1970s. Python also has a whole section dedicated to Python related humour. KDE does something I find very interesting. The browser that ships with KDE is called Konqueror, the terminal - Konsole, the text editor - Kate, the camera app - Kamoso, and the system monitor - Ksysguard. I kommend their konsistency. I Kould go on but let's get back to Drupal.
I'm talking about modules like Khaaaaaan, Who’s your daddy?, Zombie Killer, Futurama, or Thanos, a module which was contributed by yours truly. All these modules require bad judgement which is also a contributed module by John Albin, a Drupal developer with over 18 years of Drupal under his belt! Let's talk about some of these modules because these small things do make for a good story and I've talked to many developers who use humour in their daily programming like commit messages, code comments and so on. Considerable thought and work was done on these modules which made us at least a tiny bit happier and a tiny bit better developers. Okay maybe not considerable work, but work was done!
I’ve spoken to developers who often use TV characters they love in their test websites and this is something I often do too. I've received mixed reviews on this from managers and clients. Test user 1, Test user 2 just doesn't cut it for me! I was once building a website for wedding photographers to be able to showcase their work and used the names of the entire Corleone family for profiles of photographers. It was my most proudest moment. :)
The earlier mentioned modules did also spark a controversy or two. See this issue from about 12 years ago. I will not comment on the discussion here, mostly because I was not there and it really doesn’t matter. It’s not like someone looking to reduce file storage is accidentally going to come across my module (Thanos) and take it seriously. I only hope when they do come across such modules, they share them with others and have a good laugh. Maybe even contribute something similar. Spread the joy as they say.
Many other issues spun out of the above issue and lots of discussions were had on how to deal with jokes because while jokes are good, they do have the potential to harm people. Be responsible in your jokes and if you do end up hurting someone, own it, learn why it happened and work on yourself. Eventually though, the decision was made to let the jokes stand. Phew.
Some joke modules eventually did get a little political, many found them funny but some did not like it at all as is evidenced by this issue.
Webchick’s comment on the issue:
It all started with the creation of the modules America and Britain and they are hilarious! They have really funny issues that can even be considered as political satire. I even considered contributing to Britain but then I remembered a lot of their funding did come from us. I found Brexit to be the most entertaining of the lot and its features are as follows.
- Whether you are a British PM or an EU negotiator, you will love to be able to submit “No” on any form.
- Provides coffee() as an alternative for t(), as t() shortage may occur after Brexit.
- Hide EU cookie compliance messages for traffic from the UK, since the British won’t have to deal with that nonsense anymore.
Let’s take a look at some of the fun modules I’ve discovered on drupal.org
- Arrow used to be a module.. ..then it took an arrow to the knee.
- Bad Judgement is required by many modules in this list!
- Fartscroll does not require bad judgement, but the sense of humour of a 12 year old. Which I do. Will probably help port this to Drupal 10.
- Flush. A module that provides the sound effect of toilet flushing when clearing cache.
- Drupal XP Everyone knows that operating systems peaked with Windows XP, and it was around forever, just like Drupal 7. Now you can express all the awesomeness of everyone's favourite OS on your Drupal 7 sites! A module after my own heart. I have even used the Windows XP theme on Linux Mint and even KDE.
- Heisenberg randomly swaps values of the variable table around.
- Impossible. Enable me…if you can. Brilliant code!
- Module Roulette. Randomly install modules and themes.
- Misery is a module designed to make life difficult for certain users.
- Dialectic is a nufelty muduole-a zeet cunferts ingleesh text intu a feriety ouff silly furmets
- Total Hook Extremism (THE) allows you to run functions by regular expression.
- Chuck provides a set of "roundhouse kicks" - extreme[ly effective] solutions to common Drupal problems. Each roundhouse kick can be enabled/disabled.
- Picard changes all submit buttons to say "Make it so!".
- Squawk A module I would wholeheartedly support for what it stands for. Creating noise-as-a-service, as an act of civil disobedience, that attacks the wholesale surveillance of Australian citizens under the data retention program.
- Pirate On International Talk Like a Pirate Day (September 19th), this filter changes all appropriate English phrases and words into pirate-speak.
- All the things. This module changes admin buttons to use 'ALL THE THINGS' wherever possible.
- Thanos. A compassionate module that deletes 50% of all files. At random. Dispassionate, fair.
- Khaaaaaan is a finite state machine implementation done with an extensible hook mechanism. It is designed for developers, and is very, very easy to use... at least for some definitions of 'easy'... and 'very'... and 'use'.
- Who’s your daddy? This module allows for the completely insane ability for a theme to select its own base theme.
- Zombie Killer. Why? Because someone said "I bet Drupal can't kill zombies“. And trust me, this module kills the zombies!
- Narcissist. This module adds quick and simple support for narcissism to any web site. When enabled, the "Admire self" permission can be added to any role; users with that permission will see all nodes as their own when browsing the web site.
I try to leave small nuggets of my humour (hoping it’s funny) in git commits, code comments etc. And I’ve come across the same from other developers giving me a glimpse into their fun side. Here’s hoping to see more.