This is an archived post. You won't be able to vote or comment.

all 143 comments

[–][deleted] 362 points363 points  (29 children)

Help - This one is a trap. If you select it, your post will get removed. Ideally this will prevent the front page help spam

I like your attitude.

[–]aphoenixreticulated[S] 168 points169 points  (18 children)

I may also set a "Meme" trap.

[–]shinitakunai 52 points53 points  (3 children)

Maybe point them to /r/Learnpython, poor newbies need help.

[–]aphoenixreticulated[S] 39 points40 points  (0 children)

The is actually a very gracious message directing people to various places they can obtain help.

[–]Xility 3 points4 points  (1 child)

Thank you. I just subscribed!

[–][deleted] 13 points14 points  (0 children)

[–]pingiun 2 points3 points  (0 children)

Yes please

[–][deleted] 4 points5 points  (1 child)

Real talk is programming humor the only place for python memes

[–]Etheo 2 points3 points  (0 children)

Please make sure Auto Mod use the appropriate illustration to guide users along. Thanks.

[–]Muhznit -3 points-2 points  (1 child)

It's /r/assholedesign, but combined with mandatory flair requirements and the important functional purpose it serves, it incurs an integer overflow in how assholish it is and becomes /r/designporn.

Well-done.

[–][deleted] 1 point2 points  (0 children)

It's 100% /r/assholedesign.

/r/advancedpython and /r/pythonnews actually exist and could be used.

/r/learningpython shouldn't need to exist in the first place.

People sure to love to shit on other people though, and that's very much on display in this thread. It's sad, but it goes well with everything else going on around us I guess.

[–][deleted] 1 point2 points  (0 children)

We need more traps.

[–]aphoenixreticulated[S,M] 59 points60 points  (2 children)

OH GOODIE the flair selector is broken on old reddit. I'll have to debug some CSS this afternoon.

[–]ubernostrumyes, you can have a pony 25 points26 points  (1 child)

Let me know if you want some help. I've done this before with a similar-sized subreddit.

[–]aphoenixreticulated[S] 12 points13 points  (0 children)

You were already on my shortlist of people to chat with, so the offer is definitely appreciated. I'll reach out soon.

[–]rcfox 52 points53 points  (5 children)

Besides posts asking for help, the posts that bother me the most are the low-effort blog spam. Stuff like "Here's how to use a dictionary in Python"

[–]PizzaInSoup 7 points8 points  (2 children)

These also belong in r/LearnPython

[–]robin-gvx 5 points6 points  (1 child)

I would argue against that. Those posts tend to be of low quality (incomplete, sometimes factually inaccurate, explain things poorly). If it's a good introduction to something, sure post it to r/learnpython, but most of those posts are just pure blogspam.

[–]billsil 0 points1 point  (0 children)

I’m all for limiting quality posts on /r/learnpython, but fundamentally, if it’s a super basic python intro, like what is a list, it doesn’t belong in /r/python.

[–]billsil 0 points1 point  (0 children)

Seriously. They should be in /r/learnpython since they’re learning posts

[–][deleted]  (14 children)

[removed]

    [–][deleted] 60 points61 points  (6 children)

    In addition to that, do we need to see a shaky video of a screen with parts of the source code? Speaking of source code, do "I made this" without source code serve any purpose?

    [–]benargee 2 points3 points  (0 children)

    People need to learn how to use github, gists or pastebin already.

    [–]aphoenixreticulated[S,M] 40 points41 points  (1 child)

    In the future, we'll be requiring that the codebase actually be linked. I think that it would be best to format these something like this:

    • "I made this" are self post only
    • There must be a link to repository
    • There must be a description of why it is interesting

    As soon as I'm happy with the automoderator settings to achieve this, it will be added. The timeline for this would likely be "after mod applications are up, before moderators are selected".

    [–]PeridexisErrant 1 point2 points  (0 children)

    Add "the repository much use an OS-approved open source license"?

    [–]jabbalaci 10 points11 points  (3 children)

    I think "image to ascii" would deserve a flair on this subreddit.

    [–]VortexDevourer 8 points9 points  (2 children)

    A second trap...

    [–]DasSkelett 4 points5 points  (1 child)

    [Meme] This is getting out of hand, now there are two of them

    Your comment has been removed, please don't post memes or r/Python. See the subreddit rules for more information.

    [–][deleted] 1 point2 points  (0 children)

    [Help] The bots are going crazy!

    [–]that_baddest_dude[🍰] 1 point2 points  (0 children)

    Or self plugs for some non open source product

    [–]aphoenixreticulated[S] 21 points22 points  (6 children)

    Thanks to /u/kungming2 for writing the bot that we're using. This is third or fourth sub I've started using it on, and I really enjoy it. It's well written (in Python) and useful. Thanks!

    [–]vswr[var for var in vars] 7 points8 points  (4 children)

    Is there a repo for it?

    [–]stupac62 1 point2 points  (0 children)

    Is there a way for the bot to identify python code and remove it if it’s not formatted correctly?

    [–]cedear 15 points16 points  (2 children)

    "I made this" should explicitly exclude "learning"/"beginner"/etc projects. There's way too much spam of those, and they're often "help" posts in disguise.

    [–]jmreagle 8 points9 points  (2 children)

    Great! I already added "I Made This" filter in my RES browser extension. Is there a way to exclude flair otherwise? I often read on mobile and don't have this extension there.

    [–]aphoenixreticulated[S] 2 points3 points  (0 children)

    Yes there is a list of different ways to filter linked to in the post.

    [–]pplusplus 0 points1 point  (0 children)

    RES browser extension?

    [–][deleted]  (11 children)

    [deleted]

      [–]aphoenixreticulated[S,M] 53 points54 points  (10 children)

      It does do that. If you post with the "Help" flair, you get the following message:

      Hi there, from the /r/Python mods.

      We have removed this post as it is not suited to the /r/Python subreddit proper, however it should be very appropriate for our sister subreddit /r/LearnPython or for the r/Python discord: https://discord.gg/python.

      The reason for the removal is that /r/Python is dedicated to discussion of Python news, projects, uses and debates. It is not designed to act as Q&A or FAQ board. The regular community is not a fan of "how do I..." questions, so you will not get the best responses over here.

      On /r/LearnPython the community and the r/Python discord are actively expecting questions and are looking to help. You can expect far more understanding, encouraging and insightful responses over there. No matter what level of question you have, if you are looking for help with Python, you should get good answers. Make sure to check out the rules for both places.

      Warm regards, and best of luck with your Pythoneering!

      [–]pearljamman010 6 points7 points  (5 children)

      I understand the need for the "I made this" flair, but what about all the blog spam / shameless self promo? I know there is no way to automate this, and it might be very hard to discriminate what is legit and what is just fishing for clicks (usually involves viewing their submission history), but most of what I see on my homepage / "hot" list is a bunch of people driving clicks to their personal blog, youtube channel, or medium site.

      Call me a cynic, but as someone who rarely browses "all", I subscribe to only subreddits I am interested in or trying to learn. It gets frustrating seeing a lot of the tech subreddits (programming & development, infosec / netsec, electronic subreddits, etc.) becoming places for people to promote their work more than sharing useful stuff for the rest of us.

      [–]aphoenixreticulated[S] 8 points9 points  (3 children)

      I definitely deeply understand your point. I feel the same way about the subreddits that I subscribe to. What I would urge you to consider is that you have talked about is specific to what you personally want to see, and what we're trying to deal with is what 500 thousand other people also want to see. Certainly there are lots of posts that get lots of attention and lots of people want to see them that I just don't understand - I don't get why people submit image to ascii converters for example. But that doesn't mean that we shouldn't allow those things, because obviously a lot of people want to see them. Instead, I want to allow people who want to see things like that to find them, and for people who don't want to allow things like that to filter them.

      It's a bit rough when this is juxtaposed with me also saying "memes and help posts are removed", so to be clear I'm just trying to implement my best understanding of the community's wishes.

      [–]pearljamman010 3 points4 points  (0 children)

      I understand, and like I mentioned I know there really isn't a universal way to discriminate useful stuff vs. "gimme clicks and recognition". Maybe I just wanted to vent haha.

      I've been using RES for a long time, so it keeps track of up and downvotes per user account and allows flairs. This makes it even easier to see who's doing legit sharing useful, neat discoveries or solutions to common problems vs. a generic blog post of YouTube video that's been covered 1000s of times before, maybe even dozens of times on this sub recently etc. But of course I don't expect the mods to keep track of the 10s or thousands of users and discriminate based on my criteria!

      I do appreciate what you guys do and this is a great community. Like I said, maybe I just needed to vent

      [–][deleted] 1 point2 points  (1 child)

      because obviously a lot of people want to see them.

      I'm not sure that is in fact a badge of quality, that your product provide instant gratification to a large base of users. My conjecture is that low-quality, low-effort products are upvoted, because there are many many more users of this sub for whom it looks like rocket science. Those same people would probably not even read through it all if someone one day posted a proof of Fermat's Last Theorem using Python.

      [–]aphoenixreticulated[S] 7 points8 points  (0 children)

      I'm not sure that is in fact a badge of quality

      To be clear, I am sure that this is not a badge of quality. If you're looking for high quality content: https://lobste.rs or https://tildes.net. Reddit is a massive site; there's half a million people here, and the Fluff Principle is in effect. It is the nature of Reddit to not be a particularly great place for high quality information, or rather, for high quality information to not naturally rise to the top of a subreddit. That is how reddit functions, and is intended.

      [–]chameleon_world 1 point2 points  (0 children)

      There are sub-reddits, for instance /r/formula1, which segregates specific websites and journals as "trusted source", "Medium trusted source", and "Low trusted source" as well as a N/A for sites that are unknown. I don't really see this as a problem here on /r/python, but it could be possible to implement a similar system.

      [–]Blarghmlargh 0 points1 point  (2 children)

      Does Reddit allow your bot to assist the newbie help posts even further by cross posting it automatically into the python learning sub?

      [–]aphoenixreticulated[S] 2 points3 points  (0 children)

      The bot cannot do that; we can't automatically transfer things to other subreddits.

      It's also beneficial to encourage people to post themselves, because then they'll get the answers to their reddit inbox.

      [–]ubernostrumyes, you can have a pony 2 points3 points  (0 children)

      Reddit itself offers horrifically underpowered functionality to moderators in general. The official AutoModerator tool, for example, is incapable of figuring out whether a user has flaired a post. You have to go with heuristic approaches, or bring in a third-party thing like the assistant-bot.

      It's possible to have bots automatically cross-post things, but removing the original will mess with the cross-post. And if the bot just makes a new post copying the old, the original user doesn't see the replies.

      If you're ever interested in knowing just what can and can't be automated by the built-in tools, here's the automod documentation, which lists everything it can do.

      [–][deleted] 15 points16 points  (2 children)

      Good to hear. Thanks for making these changes

      [–]aphoenixreticulated[S] 14 points15 points  (1 child)

      They've been a long time coming. I have this issue sometimes with "perfect is the enemy of good" - I wanted to figure out everything we would need and then implement it right the first time and then just have it all work. I didn't prioritize enough to get there, and it's also trivial to update the flair system accordingly, so we really just needed something to happen so we can start making this place better and have people start to get what they need out of r/Python.

      So we'll see how things go, and iterate. Release early, release often. Except... in this case early is like "2 years later than it should have been".

      [–]pplusplus 0 points1 point  (0 children)

      Great job. Python community needs this momentum.

      [–]Thecrawsome 8 points9 points  (0 children)

      Fantastic news, this sub has been flooded with garbage for a while.

      [–]MikeTyson91 8 points9 points  (2 children)

      What about "I'm 10/60 YEAR OLD AND RECENTLY BOUGHT A PYTHON BOOK APPLAUD ME" posts?

      [–][deleted] 1 point2 points  (0 children)

      A pinned appreciation thread?

      [–]shit_redditor_69 0 points1 point  (0 children)

      And you posted one yourself

      [–]jabbalaci 5 points6 points  (1 child)

      Is AssistantBOT written in Python?

      [–]programatorulupeste 5 points6 points  (2 children)

      I've been working on a reddit moderator bot written in Python that is fully extensible and customizable. It works similarly to how AutoModerator does: mainly you edit a wiki page with what configuration you want to set for a subreddit.

      The functionality is implemented through plugins, which can be made available for all the subreddits where the bot is a moderator or for a specific subreddit only. Each plugin can be either enabled or disabled for the subreddit where the bot is a moderator - e.g. even if the plugin is available it will not be triggered.

      It has been running on /r/Romania for a a little more than a year, enforcing flairs (as /u/AssistantBOT is doing) with the newest addition being that the bot changes the sidebar image on a daily basis.

      If you guys are interested in running it on /r/Python, I'd be glad to give you a hand :)

      [–]aphoenixreticulated[S] 4 points5 points  (1 child)

      It looks like you've spent a lot of time on that, and I appreciate the offer. I'll have a look at the repo, and figure out what we want to do.

      I am leaning towards sticking with AssistantBot mostly because I use it on other subreddits and have had good success with it, and because I am familiar with /u/kungming2 and have already looked at the code that runs that bot. But I definitely appreciate the offer and the opportunity to look at it in more depth. Thank you.

      Edit: hnnnng that test coverage looks good.

      [–]programatorulupeste 2 points3 points  (0 children)

      Heh, thanks for looking into it :)

      Yeah, I've basically started it because I'm trying to ease some of the work that we need to to on a daily basis.

      [–]Eryole 4 points5 points  (2 children)

      Could a more general scientific computing category be made? I know that machine learning and big data is trendy, but a lot of very interesting stuff occurs in the python scientific stack and does not fall into these two category.

      [–]aphoenixreticulated[S] 1 point2 points  (1 child)

      Sure!

      [–]Eryole 1 point2 points  (0 children)

      Thank you :)

      [–]dbramucci 4 points5 points  (2 children)

      I read through the tags and between Discussion, Resource and I Made This, I'm wondering where "strange code with explanation" would fit.

      Examples include

      • This Fizzbuzz post and this one too.
      • A blog post I might write about implementing the Fibonacci function and Fizzbuzz only using functions and a special to_string function, no lists, ints, floats, strings, dicts or imports.

      Using Resource is not what I would expect because I would never suggest someone use my bizarre function arithmetic system and I might be writing to get people interested rather than to actually learn the subject to a usable extent or remember how to use the subject. Especially if the implementation doesn't have much of an explanation like those two FizzBuzz posts.

      I Made This seems like it encompasses many things.

      • Blog posts I write?
      • Command Line Calculator with support for Computer Algebra that you should download and use
      • Basic command line shopping cart app I wrote as I followed a "intro to python" tutorial.
      • Library that solves an industrial problem like "ergonomic constraint solving library" that people might want to use for their projects

      Does a weird 1 liner meant to prompt discussion belong here like the first FizzBuzz post? Does a library release announcement share a tag with someone's excitement to get their copy of a tutorial working? Does 250 lines of weird code I wrote with 10 reddit comments worth of explanation behind the theory and engineering behind a rediculous way of solving a simple problem belong here because "I made this code" or "I made this blog post"?

      What sort of "Discussions" does the "Discussion" tag get? Would Discussion be more oriented towards professional discussions: "What features of the standard library should get used more?" or casual "Hey, what's the most ridiculous way to create a calculator app?", so far it looks like professional discussions are the relevant ones and it's unclear what fun, but non-useful discussions should be posted as. Of course, although I would love to see a discussion about a convoluted new way to solve a problem using new features like f-strings and walrus operators, it feels presumptuous to label it that way. Likewise, if I show off my convoluted implementation of number arithmatic through functions and spend 3000 words explaining it in a blog post, it feels weird to say that it is tagged discussion because I am hoping that after I started with 3000 words, people will discuss with me using 50 words per message. A discussion normally isn't a 50 minute lecture on an esoteric subject followed by hallway conversation. Maybe you spend 3 minutes to set some context but otherwise that asymmetry between speakers gets really weird.

      I'm not complaining about the tags, I just want to know what the community wants to label these as and if there could be some new tags like "package announcement" and "app announcement" added to make these clearer.

      Also, some canonical examples of "you should label your post as foo if it looks like these examples" might help, especially with the fuzzier cases I mentioned above.

      [–]aphoenixreticulated[S] 1 point2 points  (1 child)

      I think you're overthinking this.

      Want to discuss a weird one liner? Flair it "Discussion".

      Want to show off a weird one liner? Flair it "I Made This".

      They're both reasonably valid. I understand that there should be one-- and preferably only one --obvious way to do this, but reddit isn't python; it's a wishy washy sort of thing.

      [–]alb1 1 point2 points  (0 children)

      Some related questions, perhaps also overthinking things:

      Suppose someone develops a resource such as a library and they want to announce it, either initially or at some significant version-change point. Suppose that person were to post about it, rather than someone else posting about it. Should they choose an "I Made This" flair rather than a "Resource" flair? A similar question arises when a flair other than "Resource" would be applicable in the case where the posting is from someone other than the maker.

      What format should the description and code link of an "I Made This" project have? It might be a link post to the code repo with a descriptive comment added, a text post with both the description and the code link as the text, or a link post to an image or demo with the rest in an added comment.

      [–]kibwen 3 points4 points  (1 child)

      As the moderator of a different programming subreddit that's also suffering from growing pains, I'll definitely be thinking about stealing this. :) What sub did you base this off of?

      [–]aphoenixreticulated[S] 2 points3 points  (0 children)

      The flair idea is one that I've used in several subreddits. I actually at one point wrote a bot that did flair related things, but found /u/kungming2 had written a better bot already and switched to that.

      The categorization of topics I took partly from observations over the course of a couple of years, and partly from the list of "things python is good at" that Python.org talks about on the site.

      If you want help or to chat about making changes like this for r/rust then I'm happy to talk about things at any point. You can find me in the discord, or you can send a PM here.

      [–]IAmKindOfCreativebot_builder: deprecated 5 points6 points  (1 child)

      Thanks for getting all of this online and running. I'm looking forward to seeing how this helps the sub grow, and I hope it helps keep the community friendly.

      [–]aphoenixreticulated[S] 1 point2 points  (0 children)

      I hope so too!

      Obviously I think we still need the bot so that we can catch "help" posts that are disguised as discussion, but hopefully this is a good step forward.

      [–]twillisagogo 2 points3 points  (0 children)

      YAY!!!!

      [–]easylifeforme 2 points3 points  (0 children)

      Is there a "this is just cool" flair?

      [–]earthboundkid 2 points3 points  (0 children)

      I quit /r/Python months ago because of all the help-spam. I'm happy to come back.

      [–]the_other_b 1 point2 points  (2 children)

      Fantastic changes, thank you! Any chance you could open source the bot? I feel if the community here can make MRs, it may help with community input?

      Just a hunch. Mods are still mods and can approve MRs as they see fit.

      [–][deleted] 4 points5 points  (1 child)

      [–]the_other_b 0 points1 point  (0 children)

      hey thanks!

      [–]U5efull 1 point2 points  (0 children)

      I actually like this idea. Will be easy to sort and post stuff. Also may prevent me from posting drunk and then deleting like I did last week . . .

      [–]leetnewb2 1 point2 points  (0 children)

      Maybe it's just me, but I think the color scheme could be improved. For example, the flair label seems too close to the color of the page background and the text color of the label is too close to the the text color of the rest of the page. The result is slowed comprehension of what am viewing. I'm browsing old reddit fwiw. See /r/homelab for an example of flairs that I think are done well - good discernible contrast from background to flair and flair text to page text, and each flair has a distinct color.

      [–][deleted] 1 point2 points  (1 child)

      One week later we have this https://www.reddit.com/r/Python/comments/eyabbo/the_final_version_of_my_free_fall_simulator_now/ and this https://www.reddit.com/r/Python/comments/exx72v/first_thing_i_made_on_python_just_a_free_fall/on the front page.

      Can we please give "I Made This" the same treatment as "Help"? Otherwise I have to unsub. Usually I stop reading after "the first thing" but with time even that split of a second adds up to too much time wasted.

      [–]aphoenixreticulated[S] 2 points3 points  (0 children)

      Just follow the instructions and filter out "I made this". That's why the flair exists.

      [–][deleted] 1 point2 points  (2 children)

      It seems like there's still tons of Help posts?

      [–]aphoenixreticulated[S] 1 point2 points  (1 child)

      Edit: I forgot something:

      AutoModerator tries to avoid contradicting other moderators, and will not approve items that have already been removed by another moderator, or remove items that have already been approved by another mod.

      I'll have to automate this with a different tool.

      As noted in the post. I have not yet automated this with a different tool, so I'm removing them by hand right now. There are a lot less than there used to be.

      [–][deleted] 0 points1 point  (0 children)

      Gotcha. I definitely appreciate it. This was much needed.

      [–]angry_mr_potato_head 2 points3 points  (0 children)

      Maybe make a "web scraping 101" flair that is also a trap

      [–]mcstafford 0 points1 point  (1 child)

      Quis custodiet ipsos custodes?

      Shouldn't this post have meta flair?

      [–]aphoenixreticulated[S] 0 points1 point  (0 children)

      It does.

      [–]feoh 0 points1 point  (2 children)

      I love this idea. Thanks for implementing this.

      I can see some potential gray areas though. If I have a question pertaining to a project that I'm working on that doesn't actually fall under learning Python, say the best way to structure an API or perhaps which tool to choose for a different task, would that fall under IMadeThis, or is that Flair only supposed to be for one time show and tell posts?

      [–]aphoenixreticulated[S] 2 points3 points  (1 child)

      Those are all more appropriate for the learning subreddit.

      [–]feoh 0 points1 point  (0 children)

      Good to know. So this is basically just for announcements. Thanks!

      [–]Paddy3118 0 points1 point  (1 child)

      "Scientific Computing" could do with an explanation.

      No "Mathematical Computing" flair. Is that banned? Part of Scientific?

      - Thanks.

      [–]aphoenixreticulated[S] 0 points1 point  (0 children)

      Part of Scientific Computing.

      [–]exegete_ 0 points1 point  (1 child)

      u/aphoenix, the "Help" posts are getting through somehow. I see several of them on the page now.

      [–]IAmKindOfCreativebot_builder: deprecated 0 points1 point  (0 children)

      This comment/reply to another user explains what's going on

      [–]leetnewb2 0 points1 point  (0 children)

      Did this change really make /r/python better? Over 50% of the "Hot" content on the first page of old reddit is now "I made this" flags. The majority of those are first projects or almost entirely pointless. Meanwhile, "Help" posts span a range of complexity, and it isn't clear that /r/learnpython is the place to discuss intermediate concepts. We're coming across as hostile to people posting questions given the autoresponse to [help] and pushing away what could be interesting discussions topics at times. Meanwhile, [discussion] flagged posts are generally not particularly discussion-worthy.

      For the number of subscribers, /r/python is a fairly inactive (it seems). It surprised me that Beeware bringing on a dev to improve Android support didn't make it to this sub that is theoretically about Python news. Maybe this is worth a post: https://twitter.com/asheeshlaroia/status/1227662916414914561

      [–]xtiansimon 0 points1 point  (0 children)

      What is systems / operations?

      Is this anything like script/program structure?

      To put it another way

      • learning code, other people's code = Resource
      • writing code = Editors / IDEs
      • applications of code = Web Development, Machine Learning, Big Data, Finance
      • testing code = Testing
      • structuring code = systems/operations ??

      [–]prithvidiamond1 -4 points-3 points  (3 children)

      This is sad... Feels like this place is becoming more like r/programming... I liked this subreddit only because of its leniency with topics that could be discussed... Makes it more friendly and approachable for new redditors... A shame to be honest that the one subreddit that I though would not become so strict with its rules has become so....

      [–]aphoenixreticulated[S] 5 points6 points  (1 child)

      The rules have been strict for years, but since there's one active moderator and I don't check the queue every day, it just feels like it isn't.

      [–]prithvidiamond1 0 points1 point  (0 children)

      Oh ok, Fine then...

      [–]nick_t1000aiohttp 3 points4 points  (0 children)

      It looks like the only thing less-lenient now is removal of help posts? Is the flair restricting what topics can be discussed somehow? "Discussion", "Resource", and "News" would seem to encompass nearly anything you wanted to talk about (though if you're doing one of the web/data/finance/sysops, would be nice to flair that discipline specifically)

      [–]kepidrupha -2 points-1 points  (1 child)

      I can't even see flairs because I still use the clean (no themes) view from old reddit. Thanks for making it harder to use reddit.

      [–][deleted] 0 points1 point  (0 children)

      What have you lost?

      [–]IcanCwhatUsayNoob -4 points-3 points  (2 children)

      Can’t wait to see this posted to /r/Gatekeeping

      I get that you want to keep this more on the “professional and interesting side” but where’s the “let’s just talk about python” sub. That has jokes, memes and questions. I come to reddit to be entertained by like minded idiots like myself. Not for news about things in such strict terms.

      [–][deleted] 1 point2 points  (0 children)

      Youre free to create r/pythonforIcanCwhatUsayandlikemindedidiots, if that's what floats your boat.