emoji-award-marseywholesome
Unable to load image

Y'all Seein' Eye v2: reddit mention notifications; minor patch notes; coming soon

After the recent Night of Kristallmopt, many of the disgraced former-mopcels were begging for one particular jannie-only feature back: getting notifications when people talk about us on reddit. Rather than put in some special exceptions for the power-user clique, we decided to make this feature available to everyone via the shop. And we already had the perfect badge to use for it:

![](https://rdrama.net/i/badges/140.webp?v=1021)

For 10 000 DC or MBux—the same price as the All-Seeing Eye—you too can receive our Reddit Mentions Notifications straight to your rDrama inbox, so when plebbitors are shit-talking Marsey, you can jump right in to generate seethe. Plus, you get the fabulous badge shown above, made by @McCoxmaul.

Minor Patch Notes

From past week and a half (oldest to most recent):

  • Patting flipped emoji should now work right (h/t @float-trip). Also, disabling 'Animations' in your user settings won't break patting anymore.

  • Themes & readability: the Lottershe font colors were made readable for all theme choices; dramblr on mobile had the background color fixed for higher contrast.

  • By adding a navigation icon for Transfers (log of DC/MBux transfers) to the sidebar, there should no longer be any pages lacking a link to them somewhere.

  • 1 Reports1 Report

  • Modals (like when you click on images to embiggen) no longer have a blurred backdrop. It was very pretty, but we got a lot of performance complaints. If you want it back, add .modal-backdrop.show { backdrop-filter: blur(16px) contrast(1.2); } to your Custom CSS.

  • Slur replacer was made significantly faster (h/t @everyone). Enough so that people with it enabled should've noticed pages loading faster. Fun fact: slur replacer prior to the change was approximately 20% of our total server load.

  • Lottershe: Chapose won the big jackpot last time, so instead of giving him royalties anymore, more of your ticket price goes straight into the pot! Also, notifications now tell the losers who won. Three days 'til the next drawing.

Coming Soon

  • The Checkmark award will soon have a badge to go with it.

  • The Fish relinquished control over the Marseys thread backlog. There's about 150 that still need to be added. Now you get to bitch at me instead of him until I add them. I can automate most of it, but if someone who is familiar with our Marsey tagging style would be willing to redo the tags for most of these, DM me. I have a spreadsheet I can send you of what needs re-tagging, and there would be some MBux in it for you.

  • General rate of new features will be decreasing in the coming weeks. We have a pile of bugs that need fixing, and we're working on redoing parts of the code to improve performance and maintainability going forward.

  • ETA 15:50 UTC: @idio3 just purged over a hundred sidebar images for being 'shitty memes'. He wants everyone to know how disappointed he is in their taste, and going forward the sidebar standards will be somewhat pickier.

57
Jump in the discussion.

No email address required.

slur replacer prior to the change was approximately 20% of our total server load.

:#marseylaugh:

Jump in the discussion.

No email address required.

I'm actually curious about this one.

@TwoLargeSnakesMating was this just moving to a different regex engine or something else?

Jump in the discussion.

No email address required.

First commitSecond commit

tl;dr- (faggot|kike|latino|etc)(?![^<]*>) was the old regex, using the negative lookahead to not break the HTML. The downside of this, though, is it has worst case O(n²) backtracking for certain input strings. And we run a lot of text through it. Wound up instead doing <[^>]*>|faggot|kike|etc. By putting the angle bracket match first, we avoid backtracking and just have to add a branch to throw those matches out before replacing. Also, by getting all of the alternatives at the same level, Python's regex engine is able to optimize them into a very efficient lookup table. It's still not great performance, and if it ever causes issues again I'm going to just tokenize the HTML and do word replacements against an O(1) dict. But it is substantially better than it was.

Jump in the discussion.

No email address required.

Neat. Thanks for the explanation. I've always learned that using regex features like negative lookahead had performance penalties but it's interesting to see it cause actual issues.

Maybe one of these days I'll create a burner github account just to contribute to rdrama. My normal one has my name attached (and is referenced in my resume) so I'm obviously not gonna touch rdrama with it.

I'm not gonna lie, though, I assumed you would just cache the wordfiltered contents of each comment. You could just calculate it at post time (and edit time), which presumably would really cut down on it. The only downside I can think of, aside from a marginal increase in data storage, is that new filters wouldn't get applied to posts. But you could tag each cache entry with a "word_filter_seq_num" and recalculate them on-demand when word filters change. I'm assuming, of course, that the word filter changes relatively rarely (less than daily), but I'm not a gigajannie so I have no idea how often you guys actually frick with the filter list. There's no way that results in more processing than doing it on every page load, though.

Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.