1. 15

    This is the complete list of domains where a user’s next submission could be blocked for having a majority of submissions from them. It’s a little close to being a worst-of list I don’t like to share queries of (especially where the submitters column is 1…) but I wanted to include it as a list of examples of content marketing.

    MariaDB [lobsters]> select domain, count(*) as submitted, count(distinct stories.user_id) as submitters, (select count(*) from stories s where s.domain_id = domains.id group by s.user_id order by 1 desc limit 1) as from_one_submitter from domains join stories on domains.id = stories.domain_id group by domain having count(*) > 5 and (from_one_submitter + 1) * 2 > count(*) order by 2 desc;
    +-------------------------------------+-----------+------------+--------------------+
    | domain                              | submitted | submitters | from_one_submitter |
    +-------------------------------------+-----------+------------+--------------------+
    | blogs.msdn.microsoft.com            |       206 |         36 |                132 |
    | jvns.ca                             |       159 |         36 |                 80 |
    | blog.netbsd.org                     |       126 |         13 |                 85 |
    | css-tricks.com                      |       116 |         15 |                 86 |
    | developer.telerik.com               |       113 |          5 |                101 |
    | codewithoutrules.com                |        93 |          2 |                 92 |
    | righto.com                          |        91 |         19 |                 64 |
    | flippinawesome.org                  |        90 |          2 |                 86 |
    | phoronix.com                        |        85 |         31 |                 44 |
    | oilshell.org                        |        83 |          4 |                 80 |
    | devblogs.microsoft.com              |        75 |         20 |                 42 |
    | spin.atomicobject.com               |        74 |         20 |                 39 |
    | blog.softwaremill.com               |        73 |          4 |                 55 |
    | lemire.me                           |        72 |         22 |                 45 |
    | ponyfoo.com                         |        68 |          5 |                 64 |
    | mail-index.netbsd.org               |        61 |          5 |                 44 |
    | citusdata.com                       |        60 |         10 |                 41 |
    | alistapart.com                      |        58 |         14 |                 45 |
    | hillelwayne.com                     |        58 |          3 |                 56 |
    | smashingmagazine.com                |        57 |         17 |                 33 |
    | dailydrip.com                       |        55 |          4 |                 39 |
    | vermaden.wordpress.com              |        55 |          2 |                 54 |
    | vuejsdevelopers.com                 |        52 |          1 |                 52 |
    | schneems.com                        |        50 |          6 |                 45 |
    | eev.ee                              |        49 |         17 |                 31 |
    | crate.io                            |        48 |          2 |                 47 |
    | driftingruby.com                    |        48 |          1 |                 48 |
    | bendyworks.com                      |        46 |          8 |                 25 |
    | petecorey.com                       |        44 |          2 |                 43 |
    | codepen.io                          |        42 |         14 |                 21 |
    | kev.inburke.com                     |        42 |          5 |                 38 |
    | imaginarycloud.com                  |        41 |          3 |                 39 |
    | zwischenzugs.com                    |        41 |          5 |                 36 |
    | intoli.com                          |        40 |          3 |                 28 |
    | pythonspeed.com                     |        40 |          1 |                 40 |
    | ma.ttias.be                         |        39 |          7 |                 30 |
    | pdfs.semanticscholar.org            |        39 |         11 |                 24 |
    | fsf.org                             |        38 |         15 |                 20 |
    | tboox.org                           |        38 |          1 |                 38 |
    | mattwarren.org                      |        37 |          5 |                 31 |
    | nanxiao.me                          |        37 |          2 |                 36 |
    | daringfireball.net                  |        36 |         11 |                 24 |
    | christophermeiklejohn.com           |        35 |          4 |                 32 |
    | dolphin-emu.org                     |        35 |          6 |                 24 |
    | filfre.net                          |        35 |          9 |                 25 |
    | 250bpm.com                          |        34 |         12 |                 22 |
    | blogs.gnome.org                     |        34 |         16 |                 17 |
    | christine.website                   |        34 |          2 |                 32 |
    | newrustacean.com                    |        34 |          1 |                 34 |
    | tech.marksblogg.com                 |        34 |          3 |                 32 |
    | flak.tedunangst.com                 |        33 |          6 |                 28 |
    | kevq.uk                             |        33 |          2 |                 32 |
    | os2museum.com                       |        33 |          7 |                 26 |
    | pixelstech.net                      |        33 |          2 |                 30 |
    | stackbuilders.com                   |        33 |          5 |                 17 |
    | blog.ikura.co                       |        32 |          2 |                 30 |
    | blog.logrocket.com                  |        32 |          6 |                 22 |
    | blog.runnable.com                   |        32 |          4 |                 22 |
    | craigkerstiens.com                  |        32 |          8 |                 22 |
    | deliberate-software.com             |        31 |          4 |                 27 |
    | promptworks.com                     |        31 |          4 |                 27 |
    | bravenewgeek.com                    |        30 |         10 |                 21 |
    | drmaciver.com                       |        30 |         14 |                 16 |
    | beza1e1.tuxen.de                    |        29 |          4 |                 26 |
    | bluishcoder.co.nz                   |        29 |          6 |                 24 |
    | neo4j.com                           |        29 |          6 |                 16 |
    | solipsys.co.uk                      |        29 |          5 |                 24 |
    | blinkingcaret.com                   |        28 |          2 |                 27 |
    | joezimjs.com                        |        28 |          1 |                 28 |
    | geeklan.co.uk                       |        27 |          1 |                 27 |
    | interrupt.memfault.com              |        27 |          2 |                 26 |
    | victorzhou.com                      |        27 |          2 |                 26 |
    | blog.mariusschulz.com               |        26 |          3 |                 21 |
    | davidgerard.co.uk                   |        26 |          1 |                 26 |
    | gigasquidsoftware.com               |        26 |          2 |                 21 |
    | gkbrk.com                           |        26 |          2 |                 25 |
    | jeremymorgan.com                    |        26 |          2 |                 25 |
    | saturnflyer.com                     |        26 |          2 |                 25 |
    | sicpers.info                        |        26 |          5 |                 21 |
    | blog.higg.im                        |        25 |          1 |                 25 |
    | pragtob.wordpress.com               |        25 |          1 |                 25 |
    | raganwald.com                       |        25 |         12 |                 13 |
    | telerik.com                         |        25 |          2 |                 21 |
    | hoelz.ro                            |        24 |          1 |                 24 |
    | metaredux.com                       |        24 |          3 |                 22 |
    | nedbatchelder.com                   |        24 |          7 |                 17 |
    | netbsd.org                          |        24 |          8 |                 13 |
    | osnews.com                          |        24 |          6 |                 18 |
    | raymii.org                          |        24 |          3 |                 22 |
    | verisimilitudes.net                 |        24 |          2 |                 23 |
    | about.sourcegraph.com               |        23 |          5 |                 15 |
    | arp242.net                          |        23 |          9 |                 14 |
    | blog.jle.im                         |        23 |          7 |                 13 |
    | blog.pragmaticengineer.com          |        23 |          4 |                 20 |
    | blog.sqreen.io                      |        23 |          3 |                 21 |
    | dragan.rocks                        |        23 |          3 |                 18 |
    | ecc-comp.blogspot.com               |        23 |          2 |                 22 |
    | parsonsmatt.org                     |        23 |          5 |                 19 |
    | bitemyapp.com                       |        22 |          3 |                 19 |
    | cambus.net                          |        22 |          3 |                 20 |
    | tedium.co                           |        22 |          8 |                 13 |
    | blog.takipi.com                     |        21 |          6 |                 10 |
    | brooker.co.za                       |        21 |          9 |                 11 |
    | carlchenet.com                      |        21 |          2 |                 20 |
    | beastie.pl                          |        20 |          1 |                 20 |
    | kanoki.org                          |        20 |          2 |                 19 |
    | lethain.com                         |        20 |          8 |                 11 |
    | modernweb.com                       |        20 |          2 |                 18 |
    | wilfred.me.uk                       |        20 |          4 |                 15 |
    | blog.ably.io                        |        19 |          4 |                  9 |
    | blog.codeship.com                   |        19 |          8 |                  9 |
    | blog.dantup.com                     |        19 |          1 |                 19 |
    | blog.floydhub.com                   |        19 |          6 |                 14 |
    | blog.graphqleditor.com              |        19 |          2 |                 13 |
    | blog.testdouble.com                 |        19 |          7 |                 10 |
    | ops.tips                            |        19 |          2 |                 17 |
    | people.eecs.berkeley.edu            |        19 |          9 |                  9 |
    | shape-of-code.coding-guidelines.com |        19 |          8 |                 12 |
    | sigusr2.net                         |        19 |          2 |                 18 |
    | sourcegraph.com                     |        19 |          6 |                 10 |
    | testdroid.com                       |        19 |          2 |                 17 |
    | wyeworks.com                        |        19 |          4 |                 12 |
    | blog.bitsrc.io                      |        18 |          6 |                 13 |
    | michaelochurch.wordpress.com        |        18 |         10 |                  9 |
    | monades.roperzh.com                 |        18 |          1 |                 18 |
    | patshaughnessy.net                  |        18 |          7 |                 11 |
    | raphlinus.github.io                 |        18 |          5 |                 13 |
    | stratus3d.com                       |        18 |          2 |                 17 |
    | yegor256.com                        |        18 |          8 |                 10 |
    | amir.rachum.com                     |        17 |          2 |                 16 |
    | blog.hboeck.de                      |        17 |          5 |                 13 |
    | blog.packagecloud.io                |        17 |          5 |                 12 |
    | doxsey.net                          |        17 |          2 |                 16 |
    | fluentcpp.com                       |        17 |          4 |                  8 |
    | jackhiston.com                      |        17 |          2 |                 16 |
    | jezenthomas.com                     |        17 |          2 |                 16 |
    | jlongster.com                       |        17 |         10 |                  8 |
    | oshug.org                           |        17 |          1 |                 17 |
    | ponylang.org                        |        17 |          4 |                 14 |
    | prathamesh.tech                     |        17 |          1 |                 17 |
    | silvestarbistrovic.from.hr          |        17 |          1 |                 17 |
    | talospace.com                       |        17 |          2 |                 12 |
    | virtuallyfun.com                    |        17 |          6 |                 10 |
    | wordsandbuttons.online              |        17 |          5 |                 13 |
    | 256kilobytes.com                    |        16 |          3 |                 14 |
    | bfilipek.com                        |        16 |          4 |                 10 |
    | blog.carlosgaldino.com              |        16 |          2 |                 15 |
    | blog.jessitron.com                  |        16 |          6 |                 10 |
    | blog.librato.com                    |        16 |          3 |                 11 |
    | brianmckenna.org                    |        16 |          3 |                 14 |
    | coolcoder.in                        |        16 |          2 |                 13 |
    | ds9a.nl                             |        16 |          5 |                  9 |
    | fitzgeraldnick.com                  |        16 |          4 |                 13 |
    | fsharpforfunandprofit.com           |        16 |          8 |                  9 |
    | itsfoss.com                         |        16 |          5 |                  9 |
    | lauradhamilton.com                  |        16 |          1 |                 16 |
    | microservicesweekly.com             |        16 |          1 |                 16 |
    | notamonadtutorial.com               |        16 |          1 |                 16 |
    | objective-see.com                   |        16 |          6 |                 11 |
    | omgubuntu.co.uk                     |        16 |          7 |                 10 |
    | aiprobook.com                       |        15 |          1 |                 15 |
    | blog.asrpo.com                      |        15 |          1 |                 15 |
    | blog.cubehero.com                   |        15 |          1 |                 15 |
    | blog.drewolson.org                  |        15 |          6 |                  9 |
    | blog.garage-coding.com              |        15 |          1 |                 15 |
    | blog.jakubarnold.cz                 |        15 |          2 |                 14 |
    | blog.jonlu.ca                       |        15 |          2 |                 13 |
    | blog.scottnonnenberg.com            |        15 |          2 |                 14 |
    | boxbase.org                         |        15 |          3 |                 12 |
    | cmcenroe.me                         |        15 |          1 |                 15 |
    | degoes.net                          |        15 |          7 |                  7 |
    | dev.theladders.com                  |        15 |          1 |                 15 |
    | geshan.com.np                       |        15 |          3 |                 13 |
    | jozefg.bitbucket.org                |        15 |          8 |                  7 |
    | oshogbo.vexillium.org               |        15 |          3 |                 12 |
    | thefullstack.xyz                    |        15 |          1 |                 15 |
    | vaibhavsagar.com                    |        15 |          6 |                  9 |
    | well-typed.com                      |        15 |          6 |                  9 |
    | zendev.com                          |        15 |          1 |                 15 |
    | alexkyte.me                         |        14 |          2 |                 11 |
    | bitquabit.com                       |        14 |          4 |                 10 |
    | blog.jcoglan.com                    |        14 |          8 |                  7 |
    | blogs.technet.microsoft.com         |        14 |          6 |                  8 |
    | chrisshort.net                      |        14 |          2 |                 13 |
    | clever-cloud.com                    |        14 |          4 |                  8 |
    | csswizardry.com                     |        14 |          4 |                  9 |
    | dustycloud.org                      |        14 |          4 |                 11 |
    | haiku-os.org                        |        14 |          5 |                 10 |
    | hardenedbsd.org                     |        14 |          2 |                 13 |
    | hypothesis.works                    |        14 |          5 |                  9 |
    | ithare.com                          |        14 |          5 |                 10 |
    | jepsen.io                           |        14 |          3 |                 12 |
    | jugad2.blogspot.com                 |        14 |          1 |                 14 |
    | juxt.pro                            |        14 |          4 |                  7 |
    | meyerweb.com                        |        14 |          4 |                 11 |
    | orbifold.xyz                        |        14 |          2 |                 13 |
    | paperswelove.org                    |        14 |          6 |                  7 |
    | paragonie.com                       |        14 |          4 |                 10 |
    | penguindreams.org                   |        14 |          1 |                 14 |
    | sethvargo.com                       |        14 |          2 |                 13 |
    | tiny-giant-books.com                |        14 |          1 |                 14 |
    | videlalvaro.github.io               |        14 |          3 |                 11 |
    | yodaiken.com                        |        14 |          3 |                 12 |
    | alexgaynor.net                      |        13 |          4 |                 10 |
    | blog.learngoprogramming.com         |        13 |          1 |                 13 |
    | blog.ploeh.dk                       |        13 |          7 |                  7 |
    | boston.conman.org                   |        13 |          2 |                 12 |
    | defn.io                             |        13 |          1 |                 13 |
    | dirk.to                             |        13 |          1 |                 13 |
    | dmitryfrank.com                     |        13 |          3 |                 11 |
    | dspace.mit.edu                      |        13 |          7 |                  6 |
    | engineering.appfolio.com            |        13 |          5 |                  6 |
    | getstream.io                        |        13 |          2 |                 12 |
    | hookrace.net                        |        13 |          8 |                  6 |
    | jvt.me                              |        13 |          1 |                 13 |
    | loige.co                            |        13 |          1 |                 13 |
    | longren.io                          |        13 |          1 |                 13 |
    | maxhallinan.com                     |        13 |          2 |                 12 |
    | mempko.wordpress.com                |        13 |          2 |                 12 |
    | onebigfluke.com                     |        13 |          5 |                  9 |
    | tedinski.com                        |        13 |          5 |                  8 |
    | tel.github.io                       |        13 |          3 |                 11 |
    | benlakey.com                        |        12 |          2 |                  8 |
    | blog.demofox.org                    |        12 |          4 |                  8 |
    | chrismm.com                         |        12 |          4 |                  9 |
    | codon.com                           |        12 |          5 |                  7 |
    | daverupert.com                      |        12 |          4 |                  8 |
    | dylanfoundry.org                    |        12 |          2 |                 11 |
    | inaka.net                           |        12 |          4 |                  6 |
    | readtext.org                        |        12 |          1 |                 12 |
    | robustperception.io                 |        12 |          2 |                 11 |
    | snowplowanalytics.com               |        12 |          1 |                 12 |
    | transposit.com                      |        12 |          1 |                 12 |
    | ubuntu.com                          |        12 |          5 |                  8 |
    | ably.io                             |        11 |          5 |                  6 |
    | autodidacts.io                      |        11 |          1 |                 11 |
    | blog.arkency.com                    |        11 |          4 |                  6 |
    | blog.ponyfoo.com                    |        11 |          1 |                 11 |
    | bloomca-me.github.io                |        11 |          2 |                 10 |
    | csrc.nist.gov                       |        11 |          7 |                  5 |
    | cstheory.stackexchange.com          |        11 |          6 |                  6 |
    | designpepper.com                    |        11 |          1 |                 11 |
    | flaviocopes.com                     |        11 |          1 |                 11 |
    | gavinmiller.io                      |        11 |          1 |                 11 |
    | howistart.org                       |        11 |          4 |                  7 |
    | icyphox.sh                          |        11 |          4 |                  8 |
    | iridakos.com                        |        11 |          2 |                 10 |
    | itnext.io                           |        11 |          5 |                  5 |
    | javiercasas.com                     |        11 |          1 |                 11 |
    | kaushikghose.wordpress.com          |        11 |          2 |                 10 |
    | kristerw.blogspot.com               |        11 |          5 |                  5 |
    | lauris.github.io                    |        11 |          1 |                 11 |
    | letterstoanewdeveloper.com          |        11 |          3 |                  9 |
    | longren.org                         |        11 |          1 |                 11 |
    | michaelburge.us                     |        11 |          3 |                  9 |
    | notes.eatonphil.com                 |        11 |          5 |                  7 |
    | nrempel.com                         |        11 |          1 |                 11 |
    | pagetable.com                       |        11 |          7 |                  5 |
    | productchart.com                    |        11 |          1 |                 11 |
    | romanzolotarev.com                  |        11 |          2 |                 10 |
    | runnable.com                        |        11 |          1 |                 11 |
    | shipilev.net                        |        11 |          7 |                  5 |
    | spootnik.org                        |        11 |          2 |                 10 |
    | tenderlovemaking.com                |        11 |          6 |                  5 |
    | theprogrammersparadox.blogspot.com  |        11 |          1 |                 11 |
    | thorstenball.com                    |        11 |          5 |                  5 |
    | traininjs.com                       |        11 |          1 |                 11 |
    | urbit.org                           |        11 |          6 |                  5 |
    | v8.dev                              |        11 |          3 |                  9 |
    | vmssoftware.com                     |        11 |          4 |                  8 |
    | additiveanalytics.com               |        10 |          1 |                 10 |
    | arcan-fe.com                        |        10 |          2 |                  9 |
    | arne-mertz.de                       |        10 |          4 |                  6 |
    | arrdem.com                          |        10 |          1 |                 10 |
    | blog.codacy.com                     |        10 |          2 |                  9 |
    | blog.okturtles.com                  |        10 |          3 |                  8 |
    | bradfrost.com                       |        10 |          2 |                  9 |
    | centurylinklabs.com                 |        10 |          1 |                 10 |
    | chargen.one                         |        10 |          3 |                  8 |
    | devup.co                            |        10 |          1 |                 10 |
    | eigenstate.org                      |        10 |          1 |                 10 |
    | grsecurity.net                      |        10 |          5 |                  6 |
    | kevinmahoney.co.uk                  |        10 |          2 |                  9 |
    | kmjn.org                            |        10 |          2 |                  9 |
    | learnbchs.org                       |        10 |          4 |                  7 |
    | manifest.fm                         |        10 |          1 |                 10 |
    | mapzen.com                          |        10 |          1 |                 10 |
    | marianoguerra.org                   |        10 |          3 |                  8 |
    | naildrivin5.com                     |        10 |          4 |                  5 |
    | pages.cs.wisc.edu                   |        10 |          6 |                  5 |
    | pathsensitive.com                   |        10 |          3 |                  8 |
    | pheelicks.com                       |        10 |          1 |                 10 |
    | pothibo.com                         |        10 |          1 |                 10 |
    | precompile.com                      |        10 |          1 |                 10 |
    | quickleft.com                       |        10 |          1 |                 10 |
    | redblobgames.com                    |        10 |          5 |                  6 |
    | singularityhacker.com               |        10 |          1 |                 10 |
    | skerritt.blog                       |        10 |          2 |                  8 |
    | snowsuit.io                         |        10 |          2 |                  9 |
    | sobolevn.me                         |        10 |          1 |                 10 |
    | superjavascript.com                 |        10 |          1 |                 10 |
    | svnweb.freebsd.org                  |        10 |          4 |                  6 |
    | tenfourfox.blogspot.com             |        10 |          2 |                  7 |
    | theory.stanford.edu                 |        10 |          5 |                  6 |
    | wozniak.ca                          |        10 |          3 |                  8 |
    | yellerapp.com                       |        10 |          4 |                  5 |
    | 24ways.org                          |         9 |          2 |                  8 |
    | ai.googleblog.com                   |         9 |          4 |                  6 |
    | akkartik.name                       |         9 |          6 |                  4 |
    | alchemistowl.org                    |         9 |          4 |                  5 |
    | backtrace.io                        |         9 |          5 |                  5 |
    | badcode.rocks                       |         9 |          1 |                  9 |
    | blog.appliedcompscilab.com          |         9 |          1 |                  9 |
    | blog.bigbinary.com                  |         9 |          4 |                  4 |
    | blog.getambassador.io               |         9 |          2 |                  8 |
    | blog.grandstack.io                  |         9 |          1 |                  9 |
    | blog.jenkster.com                   |         9 |          5 |                  4 |
    | blog.joinmastodon.org               |         9 |          5 |                  5 |
    | blog.ret2.io                        |         9 |          6 |                  4 |
    | blog.tintagel.pl                    |         9 |          2 |                  8 |
    | blogs.telerik.com                   |         9 |          1 |                  9 |
    | cambium.consulting                  |         9 |          2 |                  7 |
    | cnn.com                             |         9 |          6 |                  4 |
    | conal.net                           |         9 |          5 |                  5 |
    | crawshaw.io                         |         9 |          6 |                  4 |
    | cs.berkeley.edu                     |         9 |          5 |                  5 |
    | danielcompton.net                   |         9 |          2 |                  8 |
    | fedoramagazine.org                  |         9 |          5 |                  4 |
    | fusion.net                          |         9 |          6 |                  4 |
    | goto.ucsd.edu                       |         9 |          5 |                  5 |
    | hackazach.net                       |         9 |          1 |                  9 |
    | hakibenita.com                      |         9 |          2 |                  8 |
    | infoscience.epfl.ch                 |         9 |          3 |                  7 |
    | joachim-breitner.de                 |         9 |          4 |                  5 |
    | jonlennartaasenden.wordpress.com    |         9 |          1 |                  9 |
    | kamalmarhubi.com                    |         9 |          5 |                  5 |
    | kennethreitz.org                    |         9 |          6 |                  4 |
    | learnk8s.io                         |         9 |          2 |                  5 |
    | lists.zx2c4.com                     |         9 |          3 |                  7 |
    | lyonwj.com                          |         9 |          2 |                  8 |
    | monkeysnatchbanana.com              |         9 |          2 |                  8 |
    | naughtycomputer.uk                  |         9 |          2 |                  8 |
    | pharr.org                           |         9 |          5 |                  4 |
    | philcalcado.com                     |         9 |          2 |                  8 |
    | pluralsight.com                     |         9 |          3 |                  4 |
    | ponylang.io                         |         9 |          1 |                  9 |
    | prl.ccs.neu.edu                     |         9 |          3 |                  5 |
    | qfpl.io                             |         9 |          3 |                  7 |
    | rachelandrew.co.uk                  |         9 |          2 |                  8 |
    | rain-1.github.io                    |         9 |          3 |                  7 |
    | ro-che.info                         |         9 |          5 |                  4 |
    | robertwpearce.com                   |         9 |          1 |                  9 |
    | rubypigeon.com                      |         9 |          4 |                  5 |
    | ryanbrink.com                       |         9 |          1 |                  9 |
    | stormpath.com                       |         9 |          3 |                  4 |
    | taylor.fausak.me                    |         9 |          4 |                  4 |
    | tech.adroll.com                     |         9 |          5 |                  5 |
    | vfoley.xyz                          |         9 |          1 |                  9 |
    | abe-winter.github.io                |         8 |          4 |                  5 |
    | anupshinde.com                      |         8 |          1 |                  8 |
    | azeria-labs.com                     |         8 |          5 |                  4 |
    | beepb00p.xyz                        |         8 |          3 |                  6 |
    | blog.bloomca.me                     |         8 |          1 |                  8 |
    | blog.jfo.click                      |         8 |          4 |                  5 |
    | blog.obligd.com                     |         8 |          2 |                  7 |
    | blog.scottlogic.com                 |         8 |          5 |                  4 |
    | blogs.technet.com                   |         8 |          4 |                  4 |
    | cbloomrants.blogspot.com            |         8 |          4 |                  5 |
    | cis.upenn.edu                       |         8 |          5 |                  4 |
    | cloudbootup.com                     |         8 |          1 |                  8 |
    | codeblog.jonskeet.uk                |         8 |          4 |                  5 |
    | community.rapid7.com                |         8 |          3 |                  6 |
    | composition.al                      |         8 |          5 |                  4 |
    | crondev.blog                        |         8 |          1 |                  8 |
    | dave.autonoma.ca                    |         8 |          1 |                  8 |
    | daveceddia.com                      |         8 |          2 |                  7 |
    | doc.ic.ac.uk                        |         8 |          5 |                  4 |
    | dockyard.com                        |         8 |          4 |                  4 |
    | fivethirtyeight.com                 |         8 |          5 |                  4 |
    | fixingtao.com                       |         8 |          1 |                  8 |
    | franciskim.co                       |         8 |          1 |                  8 |
    | gazerlog.com                        |         8 |          1 |                  8 |
    | gilesbowkett.blogspot.com           |         8 |          4 |                  4 |
    | ieee-security.org                   |         8 |          4 |                  4 |
    | inko-lang.org                       |         8 |          3 |                  6 |
    | jaspervdj.be                        |         8 |          3 |                  6 |
    | jocellyn.cz                         |         8 |          1 |                  8 |
    | kyleisom.net                        |         8 |          2 |                  7 |
    | learntemail.sam.today               |         8 |          3 |                  4 |
    | m50d.github.io                      |         8 |          2 |                  7 |
    | mako.cc                             |         8 |          4 |                  5 |
    | michaelboeke.com                    |         8 |          2 |                  7 |
    | osmocom.org                         |         8 |          2 |                  7 |
    | pointieststick.com                  |         8 |          2 |                  7 |
    | probablydance.com                   |         8 |          5 |                  4 |
    | push.cx                             |         8 |          2 |                  7 |
    | pythonsweetness.tumblr.com          |         8 |          3 |                  6 |
    | randomhacks.net                     |         8 |          4 |                  5 |
    | redditblog.com                      |         8 |          3 |                  4 |
    | remotesynthesis.com                 |         8 |          4 |                  5 |
    | rystsov.info                        |         8 |          2 |                  7 |
    | sgoel.org                           |         8 |          1 |                  8 |
    | sourcesort.com                      |         8 |          1 |                  8 |
    | storj.io                            |         8 |          4 |                  5 |
    | tbf-rnd.life                        |         8 |          1 |                  8 |
    | thoughtcrime.org                    |         8 |          5 |                  4 |
    | trackchanges.postlight.com          |         8 |          5 |                  4 |
    | travisdowns.github.io               |         8 |          4 |                  4 |
    | vincent.bernat.im                   |         8 |          4 |                  5 |
    | weblog.jamisbuck.org                |         8 |          1 |                  8 |
    | wezm.net                            |         8 |          2 |                  7 |
    | wikimatze.de                        |         8 |          1 |                  8 |
    | 200ok.ch                            |         7 |          3 |                  5 |
    | alpinelinux.org                     |         7 |          4 |                  3 |
    | andregarzia.com                     |         7 |          1 |                  7 |
    | angersock.com                       |         7 |          1 |                  7 |
    | atilanevesoncode.wordpress.com      |         7 |          3 |                  5 |
    | ben-evans.com                       |         7 |          3 |                  4 |
    | bitsofco.de                         |         7 |          3 |                  5 |
    | blather.michaelwlucas.com           |         7 |          4 |                  4 |
    | blog.0day.rocks                     |         7 |          3 |                  5 |
    | blog.2ndquadrant.com                |         7 |          4 |                  4 |
    | blog.bejarano.io                    |         7 |          2 |                  6 |
    | blog.bitrise.io                     |         7 |          1 |                  7 |
    | blog.dereferenced.org               |         7 |          1 |                  7 |
    | blog.hackership.org                 |         7 |          2 |                  6 |
    | blog.honeybadger.io                 |         7 |          4 |                  4 |
    | blog.keen.io                        |         7 |          1 |                  7 |
    | blog.meetupfeed.com                 |         7 |          1 |                  7 |
    | blog.mirabellette.eu                |         7 |          1 |                  7 |
    | blog.mirabellette.netlib.re         |         7 |          1 |                  7 |
    | blog.particle.io                    |         7 |          3 |                  3 |
    | blog.plan99.net                     |         7 |          5 |                  3 |
    | blog.powerdns.com                   |         7 |          2 |                  6 |
    | blog.saeloun.com                    |         7 |          5 |                  3 |
    | blog.soykaf.com                     |         7 |          3 |                  5 |
    | blog.steveklabnik.com               |         7 |          4 |                  4 |
    | blog.superfeedr.com                 |         7 |          1 |                  7 |
    | blog.thecodewhisperer.com           |         7 |          1 |                  7 |
    | blog.threatstack.com                |         7 |          2 |                  6 |
    | boinkor.net                         |         7 |          1 |                  7 |
    | bristolcrypto.blogspot.com          |         7 |          3 |                  3 |
    | brycv.com                           |         7 |          1 |                  7 |
    | calnewport.com                      |         7 |          4 |                  4 |
    | cfenollosa.com                      |         7 |          2 |                  6 |
    | chrispenner.ca                      |         7 |          5 |                  3 |
    | chrisseaton.com                     |         7 |          5 |                  3 |
    | codearcana.com                      |         7 |          4 |                  3 |
    | corecursive.com                     |         7 |          5 |                  3 |
    | cryptome.org                        |         7 |          5 |                  3 |
    | cs.mcgill.ca                        |         7 |          4 |                  3 |
    | cseweb.ucsd.edu                     |         7 |          5 |                  3 |
    | dbader.org                          |         7 |          3 |                  5 |
    | duartes.org                         |         7 |          4 |                  3 |
    | engineering.freeagent.com           |         7 |          1 |                  7 |
    | f-droid.org                         |         7 |          2 |                  6 |
    | freebsdfoundation.org               |         7 |          5 |                  3 |
    | functional.works-hub.com            |         7 |          3 |                  5 |
    | gamedev.net                         |         7 |          5 |                  3 |
    | gpfault.net                         |         7 |          2 |                  6 |
    | gregnavis.com                       |         7 |          1 |                  7 |
    | grimoire.ca                         |         7 |          5 |                  3 |
    | gwern.net                           |         7 |          2 |                  6 |
    | hackflow.com                        |         7 |          2 |                  6 |
    | henrikwarne.com                     |         7 |          5 |                  3 |
    | hosted.ap.org                       |         7 |          2 |                  6 |
    | junglecoder.com                     |         7 |          1 |                  7 |
    | keen.io                             |         7 |          3 |                  5 |
    | keith-mifsud.me                     |         7 |          1 |                  7 |
    | kristaps.bsd.lv                     |         7 |          5 |                  3 |
    | libreboot.org                       |         7 |          4 |                  3 |
    | lukew.com                           |         7 |          2 |                  6 |
    | meiert.com                          |         7 |          2 |                  6 |
    | mgba.io                             |         7 |          4 |                  3 |
    | modern-sql.com                      |         7 |          3 |                  5 |
    | mollyrocket.com                     |         7 |          5 |                  3 |
    | mondaynote.com                      |         7 |          3 |                  5 |
    | mtlynch.io                          |         7 |          5 |                  3 |
    | natpryce.com                        |         7 |          2 |                  6 |
    | nibblestew.blogspot.com             |         7 |          4 |                  3 |
    | nikita-volkov.github.io             |         7 |          4 |                  4 |
    | opendylan.org                       |         7 |          3 |                  5 |
    | paulox.net                          |         7 |          2 |                  6 |
    | perspectives.mvdirona.com           |         7 |          4 |                  4 |
    | pkgsrc.org                          |         7 |          3 |                  5 |
    | quuxplusone.github.io               |         7 |          3 |                  5 |
    | racket-news.com                     |         7 |          2 |                  4 |
    | rcoh.me                             |         7 |          3 |                  5 |
    | rdegges.com                         |         7 |          3 |                  4 |
    | redox-os.org                        |         7 |          5 |                  3 |
    | reverse.put.as                      |         7 |          3 |                  4 |
    | rickcarlino.com                     |         7 |          1 |                  7 |
    | robey.lag.net                       |         7 |          4 |                  4 |
    | sandimetz.com                       |         7 |          3 |                  5 |
    | scarybeastsecurity.blogspot.com     |         7 |          5 |                  3 |
    | setosa.io                           |         7 |          5 |                  3 |
    | sgt.hootr.club                      |         7 |          1 |                  7 |
    | soc.github.io                       |         7 |          1 |                  7 |
    | stressgrid.com                      |         7 |          1 |                  7 |
    | strugee.net                         |         7 |          2 |                  5 |
    | sulami.github.io                    |         7 |          1 |                  7 |
    | sysadvent.blogspot.com              |         7 |          5 |                  3 |
    | taniarascia.com                     |         7 |          1 |                  7 |
    | tante.cc                            |         7 |          2 |                  6 |
    | teh.id.au                           |         7 |          2 |                  6 |
    | theartofmachinery.com               |         7 |          4 |                  4 |
    | thebuild.com                        |         7 |          3 |                  5 |
    | twolfson.com                        |         7 |          1 |                  7 |
    | ultimaratioregum.co.uk              |         7 |          2 |                  6 |
    | unterwaditzer.net                   |         7 |          1 |                  7 |
    | usrsb.in                            |         7 |          3 |                  5 |
    | vladocar.github.io                  |         7 |          1 |                  7 |
    | vmcall.blog                         |         7 |          2 |                  6 |
    | wccftech.com                        |         7 |          2 |                  6 |
    | whitane.com                         |         7 |          1 |                  7 |
    | yogthos.net                         |         7 |          4 |                  4 |
    | 0xcc.re                             |         6 |          1 |                  6 |
    | 9front.org                          |         6 |          4 |                  3 |
    | acha.ninja                          |         6 |          1 |                  6 |
    | ai.google                           |         6 |          4 |                  3 |
    | alediaferia.com                     |         6 |          1 |                  6 |
    | alex.dzyoba.com                     |         6 |          3 |                  4 |
    | alexrs.me                           |         6 |          1 |                  6 |
    | anishathalye.com                    |         6 |          1 |                  6 |
    | balaskas.gr                         |         6 |          3 |                  4 |
    | benedikt-bitterli.me                |         6 |          3 |                  3 |
    | benwilber.github.io                 |         6 |          1 |                  6 |
    | bernsteinbear.com                   |         6 |          2 |                  5 |
    | bitcannon.net                       |         6 |          2 |                  5 |
    | blog.cesanta.com                    |         6 |          2 |                  5 |
    | blog.ericgoldman.org                |         6 |          2 |                  5 |
    | blog.esciencecenter.nl              |         6 |          2 |                  4 |
    | blog.felixangell.com                |         6 |          3 |                  4 |
    | blog.frankel.ch                     |         6 |          2 |                  5 |
    | blog.fuzzing-project.org            |         6 |          2 |                  5 |
    | blog.minio.io                       |         6 |          1 |                  6 |
    | blog.park.io                        |         6 |          1 |                  6 |
    | blog.parsely.com                    |         6 |          2 |                  5 |
    | blog.prakashvenkat.com              |         6 |          1 |                  6 |
    | blog.talosintel.com                 |         6 |          4 |                  3 |
    | blog.zdsmith.com                    |         6 |          1 |                  6 |
    | blogs.apache.org                    |         6 |          2 |                  5 |
    | bowero.nl                           |         6 |          2 |                  5 |
    | branchandbound.net                  |         6 |          1 |                  6 |
    | bsdcan.org                          |         6 |          4 |                  3 |
    | bubbl.in                            |         6 |          2 |                  5 |
    | chr4.org                            |         6 |          1 |                  6 |
    | cipht.net                           |         6 |          4 |                  3 |
    | commonsware.com                     |         6 |          1 |                  6 |
    | cookieplmonster.github.io           |         6 |          2 |                  5 |
    | creativedeletion.com                |         6 |          3 |                  3 |
    | cs.nyu.edu                          |         6 |          4 |                  3 |
    | cybertec.at                         |         6 |          2 |                  5 |
    | dacav.roundhousecode.com            |         6 |          1 |                  6 |
    | dbp.io                              |         6 |          4 |                  3 |
    | developer.squareup.com              |         6 |          3 |                  3 |
    | discuss.ocaml.org                   |         6 |          3 |                  3 |
    | dmathieu.com                        |         6 |          2 |                  5 |
    | domm.plix.at                        |         6 |          2 |                  5 |
    | dotlayer.com                        |         6 |          1 |                  6 |
    | dragonflydigest.com                 |         6 |          4 |                  3 |
    | ecalamia.com                        |         6 |          1 |                  6 |
    | eclecticlight.co                    |         6 |          4 |                  3 |
    | embeddeduse.com                     |         6 |          1 |                  6 |
    | enotagain.com                       |         6 |          1 |                  6 |
    | eurogamer.net                       |         6 |          3 |                  4 |
    | ftp.openbsd.org                     |         6 |          4 |                  3 |
    | gafferongames.com                   |         6 |          4 |                  3 |
    | gamozolabs.github.io                |         6 |          3 |                  4 |
    | garbagecollected.org                |         6 |          1 |                  6 |
    | golem.de                            |         6 |          1 |                  6 |
    | gynvael.coldwind.pl                 |         6 |          2 |                  5 |
    | herbertograca.com                   |         6 |          4 |                  3 |
    | holger-peters.de                    |         6 |          2 |                  5 |
    | homakov.blogspot.com                |         6 |          4 |                  3 |
    | hydraz.semi.works                   |         6 |          2 |                  5 |
    | inessential.com                     |         6 |          4 |                  3 |
    | io.pellucid.com                     |         6 |          1 |                  6 |
    | isc.sans.edu                        |         6 |          3 |                  4 |
    | joeellis.la                         |         6 |          1 |                  6 |
    | jpadilla.com                        |         6 |          1 |                  6 |
    | julien.danjou.info                  |         6 |          3 |                  4 |
    | julienblanchard.com                 |         6 |          1 |                  6 |
    | kateheddleston.com                  |         6 |          3 |                  4 |
    | kitchensoap.com                     |         6 |          4 |                  3 |
    | korban.net                          |         6 |          1 |                  6 |
    | kyleconroy.com                      |         6 |          2 |                  5 |
    | limelight.link                      |         6 |          1 |                  6 |
    | loper-os.org                        |         6 |          4 |                  3 |
    | lord.io                             |         6 |          3 |                  3 |
    | lowrisc.org                         |         6 |          3 |                  4 |
    | markkarpov.com                      |         6 |          3 |                  4 |
    | matthias-endler.de                  |         6 |          4 |                  3 |
    | michaelnygard.com                   |         6 |          4 |                  3 |
    | mikekohn.net                        |         6 |          3 |                  4 |
    | mooreds.com                         |         6 |          2 |                  5 |
    | nelenkov.blogspot.com               |         6 |          1 |                  6 |
    | nextjournal.com                     |         6 |          3 |                  4 |
    | ngoldbaum.github.io                 |         6 |          1 |                  6 |
    | noidea.dog                          |         6 |          2 |                  4 |
    | norswap.com                         |         6 |          1 |                  6 |
    | number-none.com                     |         6 |          4 |                  3 |
    | openmirage.org                      |         6 |          4 |                  3 |
    | opensourceconnections.com           |         6 |          3 |                  3 |
    | openstreetmap.org                   |         6 |          4 |                  3 |
    | paleotronic.com                     |         6 |          4 |                  3 |
    | pattern-match.com                   |         6 |          3 |                  3 |
    | pcmag.com                           |         6 |          3 |                  4 |
    | piechowski.io                       |         6 |          1 |                  6 |
    | probablyfine.co.uk                  |         6 |          1 |                  6 |
    | purelyfunctional.tv                 |         6 |          2 |                  5 |
    | pythonforengineers.com              |         6 |          1 |                  6 |
    | realtimeapi.io                      |         6 |          2 |                  4 |
    | rkn.io                              |         6 |          1 |                  6 |
    | roy.marples.name                    |         6 |          1 |                  6 |
    | rubygems.org                        |         6 |          2 |                  5 |
    | ryanbigg.com                        |         6 |          3 |                  4 |
    | silvestar.codes                     |         6 |          1 |                  6 |
    | sizovs.net                          |         6 |          2 |                  5 |
    | streaming.media.ccc.de              |         6 |          3 |                  4 |
    | supertcp.com                        |         6 |          1 |                  6 |
    | sweetness.hmmz.org                  |         6 |          1 |                  6 |
    | talkoverflow.com                    |         6 |          1 |                  6 |
    | techblog.shutl.com                  |         6 |          1 |                  6 |
    | terathon.com                        |         6 |          2 |                  4 |
    | tomassetti.me                       |         6 |          3 |                  3 |
    | triplebyte.com                      |         6 |          3 |                  4 |
    | triplefault.io                      |         6 |          2 |                  5 |
    | typeclasses.com                     |         6 |          1 |                  6 |
    | ucare.cs.uchicago.edu               |         6 |          3 |                  4 |
    | ungleich.ch                         |         6 |          2 |                  5 |
    | venam.nixers.net                    |         6 |          3 |                  4 |
    | vidarholen.net                      |         6 |          3 |                  4 |
    | vvvvalvalval.github.io              |         6 |          3 |                  3 |
    | yggdrasil-network.github.io         |         6 |          3 |                  4 |
    | zdziarski.com                       |         6 |          3 |                  3 |
    | zerotosingularity.com               |         6 |          1 |                  6 |
    | zge.us.to                           |         6 |          1 |                  6 |
    | ziglang.org                         |         6 |          4 |                  3 |
    | zoetrope.io                         |         6 |          2 |                  5 |
    | zork.net                            |         6 |          3 |                  4 |
    +-------------------------------------+-----------+------------+--------------------+
    641 rows in set (3.42 sec)
    
    
    
    1. 37

      I am 100% on board with mitigating content marketing (especially the egregious examples you provide) but yeah… I’m uneasy about this as an active member of the community whose own blog appears on this list because it’s one of the only places I submit links to. I visit lobste.rs almost every day and appreciate that so many of the links are relevant to my interests and especially that the front page is slow moving enough that I can actually keep up with it, but I don’t submit many stories other than my own posts, and this list makes me feel like that’s not a welcome pattern. I appreciate that it is pretty close to the behavior of a self promoter (though I guess it is in a way, but I am not selling anything, I just happen not to have much else to show). This leaves me with four options, if and when I start actively blogging more (which is something I would like to do soon, and also the reason I’m commenting):

      1. start submitting more posts I didn’t write to offset those that I did.
      2. only submit my own posts when they’re extra special by some metric or another
      3. get other people to submit my posts
      4. don’t submit my posts

      1 seems spammy af, 2 is a little weird but maybe the right answer (I would prefer just to submit everything and let the algorithm sort through them, where the algorithm is people’s eyes… tbh this is sometimes an HN strength, as you’re not guaranteed a front page land there and even if you get it, it fades quickly.)

      3 is just gross, and 4 bums me out.

      also it just makes me feel bad that I fall in this bucket I guess. Is “lurker who submits their own work from time to time” just doomed to be bucketed with “content marketing garbage spam”?

      1. 14

        I’m sorry I made you feel bad, and I agree these are all bad choices. Your posts are certainly welcome, and folks up and down this thread are already brainstorming ways to fix it.

        1. 2

          Maybe there should be a separate page on Lobsters for bloggers to submit an RSS/Atom feed! That way regularly blog content can be labeled separately, and vetted for quality of the blog itself, rather than the person/people submitting it to Lobsters.

          1. 4

            I certainly don’t want to have a whole RSS feed autoposted here, but I’m not saying your idea is bad - something along the line of a moderation queue for whole RSS feeds for stuff that >50% gets posted anyway is something to think about.

            1. 3

              I think jcs experimented with adding Planet-style aggregation years ago.

              FWIW, this assumes 100% of the blog’s posts are in scope, and someone needs to clean up titles/tags, sometimes add context.

          2. 16

            So three questions:

            1. What’s the average upvote score for articles from these sites? What about average upvote score for the articles submitted by the majority submitter?
            2. How much content marketing stuff from dev.to, hackernoon, and medium is not on here?
            3. How many of the majority submissions are from authors? Like I’d guess a lot of stuff from blogs.msdn.microsoft.com is from people who specifically are looking for interesting articles from there while everybody else isn’t.

            (Disclaimer I’d really like to keep posting stuff from my site, but if the rest of the majority-things are by content marketers then it’s still worth it overall. Also, I think I’m well-known enough that other people would probably post stuff from my site anyway.)

            1. 9

              What’s the average upvote score for articles from these sites? What about average upvote score for the articles submitted by the majority submitter?

              I think this is a key detail. I don’t self-submit often, but the 12 posts I have submitted over 2 years have generally been well received. I’d say the same goes for you. Well received self-submissions are something we don’t want to discourage. If someone is self-posting and the posts are not getting many votes then it seems more likely they should be subject to the post limit.

              1. 9

                I agree with corporate-operated blogs in this list, but I don’t understand the presence of private blogs such as jvns.ca or Daring Fireball. Those blogs usually have high-quality content (in my humble opinion) and I’ve never seen any form of content marketing on those websites (I could be wrong though).

                1. 7

                  I think Daring Fireball is such an outlier, isn’t it like one the top 3 most-read sites with a 100% Apple focus anyway? I’m not using any Apple stuff, but I can’t help but getting the news anyway - and I personally don’t like reading it.. but I think it’s very often news-heavy and we don’t so many “New product by X” posts here, for a good reason.

                  Yes, Apple is a bad topic for me to comment, but Daring Fireball is not a personal blog anymore. He’s one of the major Apple-ecosystem influencers and pundits. This is 100% a business website by now.

                2. 2

                  I also think this would be a useful component to include. My domain falls on the list, and I’m a bit sad to see my domain on the list. It’s technically content marketing, but I put a massive amount of effort into each post and the content is generally very well received both here and on Hacker News. I would understand the decision to block it, but I think that taking the average submission rating into account would still address the problem without eliminating content that is a good fit for the site. This also incentivizes people to only submit their best content.

                  1. 1
                    1. Averages are misleading because of site growth over time. (Related)
                    2. A significant amount. (Related)
                    3. Feels like most, but this a trickier query than I have spare brainpower to write. I worry that it would incentivize not checking that box because it’d be subtle and deniable.
                  2. 14

                    Is there anything we could do in terms of vetting a user? For example, as far as I am concerned, @andyc, @akkartik and @hwayne all submit rather high quality content from their own blogs, I’d rather not miss them.

                    1. 11

                      This just struck me when I was trying to submit my Nix rebuttal post.

                      1. 2

                        That’s a shame… I’ve always enjoyed your posts on christine.website and I think it would be a real loss if your website were to be blocked.

                        1. 2

                          Apparently it’s going to be fixed and this was just an extreme over-reaction. I’m still gonna post though :)

                      2. 10

                        15 of the top 30 in this list are sites that I probably actively visit when they’re linked from Lobste.rs and otherwise don’t visit. Excluding them may surface less popular content but it would also seem to reduce the visibility of content that I’ve come to trust and want to get from Lobste.rs. 7 of the next 20 are in that same bucket, so penalizing by this metric would inhibit submissions 44% of the top 50 domains considered content marketing.

                        1. 8

                          @pushcx, thanks for all the hard work on the site. I really appreciate this site a lot. Now, I’m a bit offended to be included in this list. I’m a web developer and volunteer for some FOSS communities, I have a low traffic blog and every now and then I share some of my blog posts here. Not all of them, just the ones I think have value for users here. I’m not selling anything on this site, and my blog posts are not related to anything I sell.

                          If this website is going to be hostile to blogs with such low traffic as mine with very few posts per month, about 500 users per month, then I think this site loses a ton of value. Not because they will be missing me but because the criteria that includes me and my site here, will also include lots of other minor bloggers. No one is posting my posts here because I don’t have a large number of readers, I’m probably faster to share content than some hypothetical reader.

                          Seriously, scanning this list I can see many blogs I actually subscribe and that provide me with good content, not upselling anything. I don’t think this metric is a good way to filter who you want to filter. What this metrics leads to is that only content from domains that are so popular that a ton of people repost content from them will end up in this site. This is not only an echo chamber that makes whatever is popular, more popular. But also gatekeeping small people who just want share their own story every now and then, and will prove that the blogosphere is dead since we can’t share blog posts.

                          1. 6

                            As Lobster’s is my primary article discovery site, I’m a bit worried that this change will cause me to miss great articles because the author couldn’t post it, and they don’t have other avenues / connections to get it noticed (read: they suck at marketing, don’t have an RSS / atom feed, etc).

                            I typically self submit (I’m on the list here) and sometimes it gets upvoted, sometimes it doesn’t. I kind of thought that was the purpose of votes, and flags, and such, but ¯\_(ツ)_/¯.

                            At least this change creates a new “market.” We can create a voting ring of sorts that keeps track of their submissions to certain domains and nominates someone to submit queued up links. The list of domains above is a good seed list of potential members, too….

                            I should probably just go back to over subscribing to RSS / Atom

                            1. 6

                              Could you run this query? I’m not entirely sure it’s correct, but it should sort by the percentage of single user submissions.

                              select domain, count(*) as submitted, count(distinct stories.user_id) as submitters, (select count(*) from stories s where s.domain_id = domains.id group by s.user_id order by 1 desc limit 1) as from_one_submitter, (select count(*) from stories s where s.domain_id = domains.id group by s.user_id order by 1 desc limit 1)/count(*)*100 as submited_by_one_percentage from domains join stories on domains.id = stories.domain_id group by domain having count(*) > 5 and (from_one_submitter + 1) * 2 > count(*) order by 5 desc;
                              
                              1. 6

                                Looks correct to me. Results.

                                (I put the original list in a comment because I saw it as central to the discussion, so I didn’t want it on free hosting even though I don’t have a convenient place to indefinitely host a small static file attached to Lobsters.)

                              2. 5

                                I was a little worried to see my name On A List, and also a little flattered to know that my blog was getting so many posts from here. I had to look into who was doing all the posting, and, well, maybe you ought to watch out yourself ;)

                                1. 4

                                  TIL I’m a content marketer, alongside such evil spammers as the Free Software Foundation and Hillel Wayne! And the tell was that I used federated blogging technology—my own article feed at my own domain, integrated into the fediverse via RSS—rather than high-quality centralised platforms like Facebook notes or Medium.

                                  Unfortunately, I’m really bad at content marketing. I tend to publish articles that explore ideas about software that I (and others, mercifully) find interesting, rather than SEO-first eyeball scrapers. I forgot to monetise with affiliate content, adverts, store links, or anything. Nobody even clicks the tip jar button on the site.

                                  I guess I need to find a community where us “Badly-marketed Low-value Output Generators”, or “BLOGgers”, can share, discover, and comment on each other’s posts without disrupting those people who are focused on consuming Medium-rate content. Preferably with a focus on programming, just because that is the niche vertical I have chosen to exploit with my rational-minded acquisitive process. Does anyone know where that community hangs out?

                                  1. 4

                                    Maybe copy query output to a gist or nopaste and link it?
                                    I found it hard to read due to line wrapping. :/

                                    1. 3

                                      Wow… Okay. Did this site just become hostile to its users? My site is on the list.

                                      1. 4

                                        No.

                                      2. 1

                                        First of all, thanks for the good work. Now, since you invite:

                                        kibitzing about particulars

                                        and pointing out false positives. I expected @ahu’s site to be on there and it is[1], since one of his stories got moderated in a way I disagree with. (And I see other sites that I think are high-quality, but I’m happy to also see a lot of low-quality sites on the list.)

                                        Having said that, if you look at his submissions you’ll see that it is mostly geeky stuff so I would rather classify him as an author than a content marketeer. He is a geek and happens to be a pretty good writer. His last article on Huawei, 5G and Europe has been doing some good rounds on Twitter (I won’t link to it directly but search for “5G: The outsourced elephant in the room”).

                                        The only thing he perhaps went overboard with is the DoH centralization by Firefox on Cloudflare, which is an item we (PowerDNS) are pretty concerned about, but not for business reasons as implied by its proponents. Hell, we live in The Netherlands and couldn’t care less if we get fired or not since we got actual social security.

                                        [1] ds9a.nl, but I didn’t expect blog.powerdns.com to be there as well

                                        disclaimer: I’m a PowerDNS employee and ahu was my ‘boss’

                                      1. 1

                                        Nice post! As you said, the xray vision is to protect the extensions from evil websites, not the other way around. So to get access to the actual object in the other, you don’t need to break the sandbox. Just ask nicely (and make sure you’re not becoming a confused deputy by trusting untrusted values)

                                        To get access to the actual object, just overwrite navigator.wrappedJSObject instead.

                                        See the how to on sharing data with page scripts

                                        1. 2

                                          Thanks! I was actually aware of wrappedJSObject, but this only works with Firefox, right? I took the more complicated approach here so that it would be cross-browser compatible. That’s one of the big advantages of WebExtensions in the first place :-).

                                        1. 6

                                          It’s not often this construct is required, but I’d hardly call the filter-based example more readable either.

                                          1. 7

                                            The filter-based example uses some other Python features that might not be familiar to a beginner, but I think that the broader point still stands with something like this.

                                            next_song = None
                                            for song in songs:
                                                if song.name == next_song_name:
                                                    next_song = song
                                                    break
                                            if next_song is None:
                                                next_song = download_song(next_song_name)
                                            

                                            It’s not as concise, but the logic is definitely more explicit and would be easily understood by any Python programmer.

                                            Ultimately, I think that there is some subjectiveness in what one considers readable. Python gives you a lot of leeway in terms of coding style, and different programmers will have different preferences and levels of familiarity with different features of the language. I know that there’s the whole “there should be one–and preferably only one–obvious way to do it” thing, but that’s often not true in practice.

                                            1. 1

                                              At least for me, calling it with filter may help understand faster the purpose of the code. But yeah, I’m not sure if I would call it “more readable” either.

                                            1. 12

                                              As one of the founders of Intoli, I just wanted to give a big thanks to Lewis Van Winkle—both for providing F5Bot as a free service to the community, and for writing this extremely interesting guest post about how it works. We use F5Bot to get email notifications when people post links to our articles or open source projects, and it’s awesome how quickly and reliably it’s able to find things.

                                              1. 2

                                                I’m glad someone is doing this for free. A lot of people have done this before but they are all trying to sell paid plans to brand management people. I have wanted something to search for posts about the open source software I like.

                                              1. 1

                                                The content is good, but this kind of UI jitter is really distracting: https://gfycat.com/PotableSameGoldenmantledgroundsquirrel

                                                1. 2

                                                  Thanks for pointing that out. We just pushed up a fix, and the issue should hopefully be resolved now.

                                                1. 1

                                                  The syntax isn’t really anything like Python’s though. :(

                                                  const array = SliceArray(1, 2, 3, 4);
                                                  // Outputs: [2, 3]
                                                  array[[1,-1]]
                                                  
                                                  1. 1

                                                    It’s not literally the same, but it mirrors the syntax extremely closely. The example you list there would be array[1:-1] in Python, and with Slice it is array[[1,-1]]. Any slice that you could write in Python will work in exactly the same in Slice if you substitute the colons with commas and use double brackets. You can’t change the meaning of colons in JavaScript, so this is as close as a JavaScript library can get.

                                                  1. 3

                                                    Why did this end up a slack channel rather than IRC? Many, to most, of these tools have IRC presences and frankly I just like not having to run multiple slack instances, which have numerous drawbacks.

                                                    1. 1

                                                      IRC works really well when you have a core team who spend a lot of time in a topic-specific channel where visitors can stop by and engage with them. That’s great for channels focused on individual open source tools, as you point out. One of Slack’s strengths for community channels is that it handles low volume conversation better because you can check it intermittently and catch up on what you missed. Being able to respond to questions that were asked when you weren’t around is a big plus.

                                                      Our intention here definitely wasn’t to try to take the place of project-specific IRC channels at all. We just felt that there wasn’t really place to talk about experiences with different tools and tactics at a higher level. We get emails from people all the time about topics like this, and our hope is that making these sort of discussions public will be helpful to the community.

                                                      1. 2

                                                        It’s absolutely not the the case that I fear that you’re trying to displace people from project channels to slack, apologies if it’s come across that way. It’s more frustration that for a community that’s fairly well established on IRC, there’s pressure to fragment across platforms.

                                                        While you present the argument that Slack is better for low-traffic communities, I’m not sure I agree. You mainly rely on these points:

                                                        • You can check slack intermittently and catch up on what you missed
                                                        • You can respond to things that happened when you weren’t around

                                                        Both of these points are well covered by IRC. While it’s true that the core protocol doesn’t cover it, it’s now the standard practically to use a bouncing service that permits it, or self host your own. A bunch of ZNC specific providers can be found here: https://wiki.znc.in/Providers , and additionally there’re services like https://www.irccloud.com/ that provide the entire system including a web client.

                                                        Slack has some downsides, like really poor community management, instead deferring to out-of-band systems to deal with things like harassment as well, essentially showing it’s colours as a business service offering. For example, there’s no ability for an individual user to ignore another they do not get along with or are being harassed by, with Slack instead suggesting this be resolved with HR policies.

                                                        1. 1

                                                          “Slack is better than IRC” is like saying “gmail is better than SMTP”.

                                                          Slack is owning:

                                                          • the server (that replaces the IRC server)
                                                          • the heavy client (that replaces the IRC client / bouncer)
                                                          • the light web client / application (that replaces an SSH server)

                                                          People who appreciate running themself the programs they use go to IRC (get its hand dirty).

                                                          People who prefer not be involved in maintaining anything go to Slack (living in the “cloud”).

                                                          This is how I get my hands dirty: on a server: $ abduco -A irc weechat.

                                                          You can even have this in a laptop .bashrc:

                                                          alias irc='ssh user@your-server.tld abduco -A irc weechat'
                                                          

                                                          And then you have the same feature of “being able to respond to questions that were asked when you weren’t around”. :)

                                                      1. 2

                                                        That’s kinda cool, though it seems like a lot of effort vs bundling youtube-dl into your lambda package.

                                                        1. 4

                                                          There are definitely a variety of much easier ways to extract audio from YouTube videos! The tutorial isn’t really meant to be a highly realistic use-case, but rather a general illustration of how these tools, services, and techniques can be used in conjunction with each other. The general approach of prototyping simple APIs with Express and then deploying them using API Gateway/Lambda is an extremely useful pattern.

                                                        1. 1

                                                          Despite all Node.js-related content in this article, is anybody here using Snap or Flatpak already?

                                                          1. 3

                                                            I used FlatPak to install one or two Desktop apps but I wasn’t impressed. That could be the packagers’ fault or the system’s.

                                                            All real problems aside t’s also a bit annoying as you seem to have to run the applications with a long command line that I kept forgetting, maybe just providing a directory with shims/wrapper scripts with predictable names would’ve gone a long way (I mean, /usr/local/bin might be debatably ok as well)

                                                            My solution for non-GUI-heavy things so dar has been nixpkgs - so I can for example run a brand new git or tmux on Ubuntu 16.04.

                                                            1. 2

                                                              You might also be interested in checking out Exodus for quickly getting access to newer versions of tools like that. It automatically packages local versions of binaries with their dependencies, so it’s great for relocating tools onto a server or into a container. You can just run

                                                              exodus git tmux | ssh my-ubuntu-server.com
                                                              

                                                              and those tools are made available in ~/.exodus/bin. There’s no need for installing anything special on the server first, like there is with Snap, Flatpak, and Nix.

                                                              1. 1

                                                                Thanks, I’ve heard about exodus but I think it’s a bit of a hack (a nice one though) and first I’d need to have those new versions installed somewhere, which I usually don’t :)

                                                                I’m actually a big fan of package managers and community effort - just sometimes I’m on the wrong OS and would have certain tools in a “very fresh” state - so far nixpkgs is perfect for me for this.

                                                            2. 2

                                                              I use snap for a few things, and have even made a classic snap or two of some silly personal stuff. They seem to work fine, but ultimately feel out of place due to things like not following XDG config paths. They also get me very little over an apt repo, or even an old-school .deb, since most of the issues (e.g. you must be root) remain. Generally speaking, given that Linux distros already have package managers, I’m more interested in things like AppImage, which bring genuine non-package but trivial to install binaries to Linux.

                                                              (What I really want is to live in a universe where 0install took off, but I think that universe is gone,)

                                                              1. 2

                                                                Yes, quite a few popular projects: Spotify, Skype, Firefox, Slack, VLC, Heroku, etc.

                                                              1. 1

                                                                meh, this is really a cat and mouse game. just test it like:

                                                                if (navigator.webdriver || navigator.hasOwnProperty('webdriver')) {
                                                                  console.log('chrome headless here');
                                                                }
                                                                

                                                                And there goes the article until the author can find a way to bypass this now…

                                                                1. 6

                                                                  The point of the article is sort of that it’s a cat and mouse game. The person doing the web browsing is inherently at the advantage here because they can figure out what the tests are and get around them. Making the tests more complicated just makes things worse for your own users, it doesn’t really accomplish much else.

                                                                  const oldHasOwnProperty = navigator.hasOwnProperty;
                                                                  navigator.hasOwnProperty = (property) => (
                                                                    property === 'webdriver' ? false : oldHasOwnProperty(property)
                                                                  );
                                                                  Object.defineProperty(navigator, 'webdriver', {
                                                                    get: () => false,
                                                                  });
                                                                  
                                                                  1. 1

                                                                    Yet there are other ways that surely make it possible for a given time window, like testing for a specific WebGL rendering that chrome headless cannot perform. Or target a specific set of bugs related only to chrome headless.

                                                                    https://bugs.chromium.org/p/chromium/issues/detail?id=617551

                                                                    1. 1

                                                                      Well, eventually you just force people to run Chrome with remote debugging or Firefox with Marionette in a separate X session, mask the couple of vars that report remote debugging, and then you have to actively annoy your users to go any further.

                                                                      I scrape using Firefox (not even headless) with Marionette; I also browse with Firefox with Marionette because Marionette makes it easy to create hotkeys for strange commands.

                                                                      1. 1

                                                                        Even if there were no way to bypass that, don’t you think that you’ve sort of already lost in some sense once you’re wasting your users’ system resources to do rendering checks in the background just so that you can restrict what software people can choose to use when accessing your site?

                                                                        1. 3

                                                                          If headless browser is required to scrape data (and not just requesting webpages and parsing html), then website is already perverse enough. Noone will be suprised more if it would also run webgl-based proof of work before rendering most expensive thief-proof news articles from blob of malbolge bytecode with webgl and logic based on GPU cache timing.

                                                                          1. 1

                                                                            You’re paying a price, certainly. But depending on your circumstances, the benefits might be worth the cost.

                                                                    1. 3

                                                                      Great article!

                                                                      Weirdly, when I go to that link (or even reload the page) I end up 3/4 of the way down the page instead of at the top. Browser bug or something to do with the page scripting?

                                                                      1. 1

                                                                        This appears to be caused by the embedded iframes stealing focus. I tried some workarounds, but they unfortunately don’t seem to resolve the issue. If anybody knows a better fix for this, then I would love to hear it!

                                                                      1. 2

                                                                        Oh man, so many cool tools!

                                                                        BTW, you have a typo in the link to the powerline-shell page.

                                                                        And the x-macro link too!

                                                                        1. 1

                                                                          Thanks, that should be fixed now!

                                                                        1. 3

                                                                          A very Pareto optimal post :)

                                                                          I would question whether or not the approach taken is suitable for finding “good” blog posts. Hacker News gets gamed by plenty of people. There’s also a cult of multiple personalities that seems to take hold with people regularly getting their blog posts submitted because their posts will be guaranteed to be upvoted. It guarantees votes for the poster to be first to submit a Gabriel Weinberg or Daring Fireball link, regardless of quality.

                                                                          Still, the Pareto approach is really well explained here, and it’s a shining example of the difference between a HN optimal and good post IMHO :)

                                                                          1. 3

                                                                            Thanks! I completely agree about the cults of personality. That was my motivation for the second list of posts where I restricted the maximum number of distinct submitters for a blog. It significantly limited the number of candidate blogs, but it did effectively eliminate the blogs that people race to submit.

                                                                          1. 3

                                                                            How did you handle duplicates in this analysis? Many posts get submitted multiple times and it’s not clear if you counted those as different or combined them.

                                                                            1. 3

                                                                              I didn’t do any sort of deduplication, so articles that were submitted multiple times were considered distinct in the analysis. I think that makes sense for the average/mean/median scores, but perhaps the duplicates should have been subtracted from the total article count for each blog. I just did a quick pass over the data and it looks like 92.4% of the URLs submitted to Hacker News are unique. When limiting that to the submissions that were identified as blog articles, the fraction is only slightly higher at 93.5%. I don’t think that should make that much of a difference, but you still raise a good point!

                                                                              1. 2

                                                                                I would expect a really high percentage of URLs to be unique because of spam (and articles that are so low-quality as to be almost indistinguishable from spam). I don’ t mean to make work for you, but what does it look like if you only consider articles that get 5 upvotes? Or reach the front page?

                                                                                1. 3

                                                                                  97.1% of blog submissions that get at least 5 upvotes are unique and that rises to 98.2% for submissions that get at least 10 (which is the number that I like to use as an approximation for making the front page). This is probably partially caused by even really great articles having a good chance of never getting upvoted though (in addition to spammy submissions being removed).