Mostly Harmless

Discovery & Voting

Mostly Harmless looks up the page you are currently viewing to see if it has been submitted to reddit. If so, you can see everywhere it has been posted, vote the story up or down, and even save, hide, and report the post straight from the popup. You can even resubmit the post to another subreddit.

Screenshot of Mostly Harmless showing all the places a page was posted.

Commenting

Comments and discussion are a huge part of reddit, so it was important to bake that capability right into Mostly Harmless. You can add a comment from the popup, and if you’re typing a particularly long comment and accidentally close the popup, Mostly Harmless should still have it cached!

Screenshot of Mostly Harmless showing commenting capability.

Submitting Links

Reddit wouldn’t be what it is were it not for the submission of fresh and interesting links, so Mostly Harmless will help you submit new pages to reddit with ease. It will automatically populate the URL field, you can grab the title of the page or write your own, and choosing a subreddit is as easy as clicking one you subscribe to or typing any subreddit manually.

Screenshot of Mostly Harmless submitting a link.

Desktop Notifications

Every redditor knows the joy of getting an orangered. Every redditor also knows that finding out what it’s for, who it’s from, and what it says is half of the fun! Mostly Harmless will check for orangereds at a specified interval and display a desktop notification when you get one. Of course, you can turn this off if you like.

Screenshot of Mostly Harmless sending a desktop notification for an orangered.

Privacy

Your browsing habits are your own, and you probably don’t want every page you visit checked on reddit. Instead, Mostly Harmless has an option to only look up pages when you click its icon. Of course that could get tedious, so Mostly Harmless also supports excluding lookups based on domain and regular expression matches.

Screenshot of a bank website being excluded from Mostly Harmless.

Customization

Mostly Harmless has plenty of options to make it your own, but it doesn't get confusing because of the slick interface and explanations for each setting.

Screenshot of the Mostly Harmless settings.

Internationalization

The internet is powered a wide and diverse group of people, so Mostly Harmless supports internationalization. Currently the extension has been translated into English, French, Dutch, Catalan, Danish, Spanish, Hungarian, Finnish, and Hindi. If you fork Mostly Harmless on Github and write your own translation, it could be in any language the Chrome Web Store supports!

Screenshot Mostly Harmless running in Spanish.

Download on the Chrome Web Store

The easiest and fastest way to install Mostly Harmless is to visit the Chrome Web Store and click install. Google Chrome will keep Mostly Harmless up to date, and you don't have to worry about a thing.

Screenshot of Mostly Harmless on the Chrome Web Store.

Fork me on Github

If you would like to contribute to the project with your own code or translations, please fork Mostly Harmless on Github! After you make your changes, submit a pull request so I can merge it into the master branch. If your code or translations are used in Mostly Harmless, I'll link to your reddit profile on the credits page as well!

Screenshot of a github network graph representing a heavily forked project.

Or, you can run git clone to grab the files read-only.

git clone git://github.com/Kerrick/Mostly-Harmless.git

Download the Source

If you would like to install Mostly Harmless from its source code, visit the github downloads page, and click on the latest tagged download package for the most recent stable release. Alternatively, you can grab the latest tarball from the development branch, but consider that it could be in an unstable state.

Screenshot of a part of the Mostly Harmless source code.

To install from source:

  1. Download the latest ZIP and extract it
  2. Navigate to chrome://extensions
  3. Turn on developer mode if it isn’t already
  4. Choose load unpacked extension, and navigate to the extracted code.

What are some of the known issues with Mostly Harmless?

  1. If Google Chrome is minimized when you click on an orangered notification, a new tab will open for your inbox in your most recently focused window, but it will not bring the window to the foreground. This is a known bug in Google Chrome. If you want this to be fixed, please star the issue in the Chrome bug tracker.

How can I suggest a feature or report a bug?

If you find a bug in Mostly Harmless, or if you would like to request a new feature, doing so is easy! Simply visit github.com/Kerrick/Mostly-Harmless/issues/new and submit a ticket! Be sure to be very descriptive so I can figure out exactly what is wrong, or precisely what you are requesting.

Screenshot of a new issue being submitted.

Why does it take so long to get an orangered notification?

I was told by the reddit admins on #reddit-dev to make the minimum interval for checking orangereds five minutes.

<chromakode> KerrickLong, can you please reduce the mail interval at minimum every 5 minutes?
<KerrickLong> Five minutes? Yeah I can.
<chromakode> also, can you please add app=mh as an extra param to your api requests? that way we can tell you some interesting stats about its utilization!
<KerrickLong> chromakode, if I make the orangereds poll /api/me.json instead of /messages/new, could I reduce the interval since it will be a LOT less load?
<spladug> KerrickLong, /api/me.json would be preferable, but 5 minutes would still be nice. we've seen some crazy high load from shine the last few days and would like to try to avoid having the same issue again

Why aren’t you using Snoo, the reddit alien, as the icon?

The reddit alien logo is a trademark of Conde Nast Digital, and I am required to apply for a license to use it. I have done so, and am waiting to hear back. Until then, I cannot use Snoo. However, I quite like the icon I made.

What do the default “Excluded Regex” patterns mean?

For those that don't speak regular expressions, I'll go over the default Excluded Regex patterns here so you can know which ones to get rid of.

chrome://.*

This excludes all Google Chrome pages such as the new tab page, Chrome settings, et. al.

chrome-extension://.*

This excludes all Chrome Extension pages such as the Mostly Harmless options page.

view-source://.*

This excludes the tabs that open when you view the source code of a web page.

ftp://.*

This excludes sites that use the FTP protocol.

https?://www\.google\.com/search.*

This excludes Google Search results pages.

https?://search\.yahoo\.com/search.*

This excludes Yahoo Search results pages.

https?://www\.bing\.com/search.*

This excludes Bing Search results pages.

https?://www.reddit.com/(?:r/(?:\w|\+)+/?)?(?:$|\?count)

This excludes the reddit homepage, and the homepage for any subreddit. It also excludes the paginated versions.

Dependencies & Libraries

Authors & Contributors

MIT License

Copyright © 2011 by Kerrick Long

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Don't Panic