From 66c48c26e60267e94fbeb129135f8bb7f5ace971 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Sun, 15 Oct 2017 14:51:29 -0400 Subject: [PATCH 01/32] lobste.rs icon and views --- app/assets/stylesheets/local/lobsters.css | 46 ++++ app/views/home/404.html.erb | 11 + app/views/home/about.html.erb | 248 ++++++++++++++++++++++ app/views/home/chat.html.erb | 55 +++++ app/views/home/privacy.html.erb | 9 + app/views/layouts/_footer.html.erb | 16 ++ public/apple-touch-icon-144.png | Bin 0 -> 4536 bytes public/apple-touch-icon.png | Bin 0 -> 1744 bytes public/favicon.ico | Bin 0 -> 11134 bytes 9 files changed, 385 insertions(+) create mode 100644 app/assets/stylesheets/local/lobsters.css create mode 100644 app/views/home/404.html.erb create mode 100644 app/views/home/about.html.erb create mode 100644 app/views/home/chat.html.erb create mode 100644 app/views/home/privacy.html.erb create mode 100644 app/views/layouts/_footer.html.erb create mode 100644 public/apple-touch-icon-144.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon.ico diff --git a/app/assets/stylesheets/local/lobsters.css b/app/assets/stylesheets/local/lobsters.css new file mode 100644 index 00000000..60deda1a --- /dev/null +++ b/app/assets/stylesheets/local/lobsters.css @@ -0,0 +1,46 @@ +li .byline a.story_has_suggestions { + color: #bd6060; +} + +a.tag_announce, a.tag_ask, a.tag_show, a.tag_interview { + background-color: #f9ddde; + border-color: #f0b2b8; +} + +span.hat_openbsd_developer span.crown { + font-family: comic sans ms, comic sans, comic neue, sans-serif; + font-size: 7pt; +} + +span.hat_sysop { + border-color: #bbb2b2; +} +span.hat_sysop span.crown { + background-color: #ddc7c7; +} + +#l_holder { + background: #ee0000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAL0ALQAtZF7+HAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wCCBAuLt2rqugAAACMSURBVDjL1ZMxCsJQEERfRPEk9im9mGfxBpaCnaXmBraeQEidKsKz2eIb/peEIOLAwu4Ws7PMbsUAKlOwYCaWmd4aWCV1B4yXpR59R61SitwKDdBHfgPaSTsF8zOmHz5NLykAeCRqvuvCfxGcgP0YF3ZqHy7c1Yt6jfo8dCF3idvkQjcRRVQ/f6bZBC+RBoeZnlCyqwAAAABJRU5ErkJggg==) no-repeat; + background-position: center; +} + +@media +only screen and (min-resolution: 2dppx), +only screen and (-webkit-min-device-pixel-ratio: 2) { + #l_holder { + background: #ee0000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AsLFB03Jr/FjQAAAVZJREFUWMPtlr1KQ0EQhc+ZdZMQEkQlNopKENu8gLWVvkQa8QHs8wQ+h4UPYG+fTpsQEATJhYtFrkKy2btrFYuwV/Kv6D2w1QzLNzPLngFy/XcxK9DpdAr1er05zSXOuUet9cM8ABtZgVKpVAZwDeCAZDDPe58CeCV5B2C5AFprQzICsE9mNsoBiAF0VzajOI4raZre+wk55977/f72Wh7KaDS6CgA8L+NumZYh9ATWCbAy5QA5wN8GMMY0jDGNHwEYDofHSqm2Uqrd6/XKawdQSt2QFJJSrVZPZjajBb/uUxG5GJuYiFRW0YGgRSZJsiMitxPjeFm0A6EKdq215wA+ABRIbgI4AnBJco8kvPcgiSRJopnLa7VaHAwGh9baszRNnwJumHkmctxcK1kURVu1Wu3tKzGwlHifbYjjfO+9FRE98wiKxaL/ZhPKhAqoi1y5cv1mfQLQB8QlNdQ0/wAAAABJRU5ErkJggg==) no-repeat; + background-size: 16px; + background-position: 1px 1px; + } +} + +div#hat_holder { + float: left; + width: 33px; + height: 16px; +} +img#party_hat { + position: relative; + top: -36px; + left: 2px; +} diff --git a/app/views/home/404.html.erb b/app/views/home/404.html.erb new file mode 100644 index 00000000..60cf25d6 --- /dev/null +++ b/app/views/home/404.html.erb @@ -0,0 +1,11 @@ +
+
+ 404 +
+ +
+

+ The resource you requested was not found, or the story has been deleted. +

+
+
diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb new file mode 100644 index 00000000..9370c6ec --- /dev/null +++ b/app/views/home/about.html.erb @@ -0,0 +1,248 @@ +
+
+ About +
+ +
+

+ Lobsters is a technology-focused community centered around link aggregation + and discussion. + Launched on July 3rd, 2012, it was created by joshua + stein with some specific design goals in mind to avoid problems faced by + other link aggregation sites: +

+ + + +

+ Tagging +
+ When links/stories are submitted, they must be tagged by the submitter from a + list of predefined tags. Users can choose to filter out all submissions with particular tags, but + rather than use rigidly segmented sub-forums that users must each subscribe + to, all users see all stories by default. The reason for this is threefold: +

+ +
    +
  • + It keeps the site on-topic by only allowing a predefined list of tags. + These tags represent what most of the users of the site want to read, so + content that does not fit into any of those categories should not be + submitted. It also keeps stories organized and more easily searchable. +

  • + +
  • + It promotes discussion. On a site with separate forums, a Ruby programmer + would probably subscribe to a Ruby forum, but not a Python one. When a link + is posted to the Python forum, that Ruby programmer would probably never see + it, even though they may have something useful to say about it (perhaps the + link is about a Python library which does the same thing as a Ruby library + which that Ruby programmer created). On this site, the link would get posted + with a python tag and shown to everyone, + encouraging the Ruby programmer to read and comment on it (unless that Ruby + programmer disliked Python enough to filter it out). +

  • + +
  • + It keeps the conversation centralized. Often stories contain discussion + about more than one topic, yet on other sites they are confined to a single + category/forum, limiting the exposure. The link could be submitted to more + than one forum, but then each conversation would remain separate and users + would rarely interact with users from other forums. On this site, the story + would simply be tagged with multiple tags and all users would see all + discussion about the story in a single location. +

  • +
+ +

+ Creating new tags and retiring old tags is done by the community by + submitting, discussing, and voting on + meta-tagged requests about them. +

+ +

+ Invitation Tree
+ Invitations are used as a mechanism for spam-control and to encourage users + to "be nice". New users must be invited by a current user, though there is + no vetting process and invitations are not intended to promote exclusivity. + The most efficient way to receive an invitation is to talk to someone you + recognize from the site or + <% if Rails.application.allow_invitation_requests? %> + request one publicly. + <% else %> + request one in chat. + <% end %> + Invitations are unlimited unless scaling problems temporarily prevent new + accounts. If spammers are invited to the site and banned, the user that + invited them may also be banned, going up the chain of invitations as needed. +

+ +

+ The full user tree is made public and each user's profile + shows who invited them. This provides some degree of accountability and can + act as a tool to help identify voting rings. +

+ +

+ Downvote Explanations
+ Often on other sites, a user would have his or her comment downvoted without + explanation and then edit their comment to ask why they were downvoted. On + this site, voters must choose a reason before downvoting comments and those + votes are tallied and shown to the original commenter. +

+

+ For submitted stories, downvoting is done through flagging (also requiring a + valid reason) and these flag summaries are shown to all users. +

+ +

+ Transparency Policy
+ All moderator actions on this site are visible to + everyone and the identities of those moderators are made public. While the individual actions of a + moderator may cause debate, there should be no question about which moderator + it was or whether they had an ulterior motive for those actions. +

+ +

+ All user voting and story ranking on this site uses a universal algorithm and + does not artificially penalize or prioritize users or domains. + Per-tag hotness modifiers do affect all stories with + those tags, but these modifiers are made public and usually used to shorten + the life of meta-discussions. If certain domains have to be banned from + being submitted due to spam, the list will be made publicly available. +

+ +

+ If users are disruptive enough to warrant banning, they will be banned + absolutely, given notice of their banning, and their disabled user profile + will indicate which moderator banned them and why. There will be no hidden, + antisocial "shadow banning" or "hellbanning" of users. +

+ +

+ The source code to this site is + made available under a 3-clause BSD license for viewing, auditing, forking, + or contributing to. + Public stats are available for + site + requests, + comments + submitted, + stories + submitted, + total + users, and + users + created per day. +

+ +

+ Other Technical Features +

+
    +
  • + Mailing list mode can be enabled + per-user to receive all new stories (including their plain-text content as + fetched and extracted by Diffbot) and user + comments as e-mails, mirroring discussion threads offline. This makes it + easy and efficient to read new stories as well as keep track of new comments + on old threads or stories, just like technical mailing lists or Usenet of + yore. Each user is assigned a private mailing list address at this domain + which allows them to reply to stories or comments directly in their e-mail + client. These e-mails are then converted and submitted to the website as + comments, just as if the comment was posted through a web browser. +

    + +
  • + Private messaging enables users to communicate privately + without having to publicly disclose an e-mail address, and users can receive + e-mail and Pushover notifications of new + private messages. +

  • + +
  • + Responsive design enhances functionality on smaller screens + such as phones and tablets without having to use a separate URL, 3rd party + (often read-only) websites, or proprietary mobile applications. +

  • + +
  • + Integrated search engine covers all + submitted stories and comments, including full-text caches of all submitted + story contents. Searching for a keyword will often bring up relevant stories + that don't even mention that keyword in the URL or title. +

  • + +
  • + Story merging combats + the problem of multiple stories at different URLs being submitted in a short + timeframe about the same news subject. Rather than have multiple stories on + the front page with fragmented discussions, all similar stories can be merged + into one. An example of a story having been merged + into a previous one, combining all comments on one page. +

  • + +
  • + Fuzzy-matching of submitted story URLs to avoid duplicate + submissions of similar URLs that differ only in http vs. + https, trailing slashes, useless analytics parameters, etc. When + using the story submission bookmarklet, story URLs are automatically + converted to use the page's canonical URL (if available) to present the best + URL to represent the story, as defined by the story's author or publisher. +

  • + +
  • + User-suggested titles and tags can + be automatically applied to a story when a quorum of users agrees on a new + title (such as removing a site's name, or appending the story's year of + publication) or set of tags, without any moderator action required. +

  • + +
  • + Hats are a more formal process of + allowing users to post comments while "wearing such and such hat" to + give their words more authority (such as an employee speaking for the + company, or an open source developer speaking for the project). +

  • + +
  • + Per-tag and site-wide RSS feeds are + available to the public and logged-in users have private RSS feeds that + filter out each user's filtered tags. +

  • + +
  • + Official Twitter + mirror posts all stories that have reached the front page to + the @lobsters account on Twitter + for easy following, retweeting/sharing, or archiving. +

  • + + <% if false %> +
  • + Tor onion/hidden + service for anonymous access to the site. +

  • + <% end %> + +
  • + Stickers are + available to show your support for the site. +

  • +
+ +
+
diff --git a/app/views/home/chat.html.erb b/app/views/home/chat.html.erb new file mode 100644 index 00000000..685e0df9 --- /dev/null +++ b/app/views/home/chat.html.erb @@ -0,0 +1,55 @@ +
+
+ Lobsters Chat +
+ +
+

+ An official real-time discussion channel is available to members and guests + of the site, hosted on the + Freenode IRC network + in #lobsters. This channel was originally + created + by + @kristof. +

+ +

+ The policies and ideals of the discussion channel are the same as the + website; quality content and conversing, respect for other users, and no + spamming. Slightly off-topic discussion is generally acceptable. The + channel isn't busy enough that there's always someone talking, so don't be + surprised if you try to start a conversation and no one responds. Leave it + open and you'll see activity, though we're most active during US work hours. +

+ +

+ New contributors are always welcome on Lobsters, but pestering other members + in the channel for invites is not acceptable. If you are the author or + otherwise involved with a story that was submitted to the site, ask and + someone will invite you. Alternately, offer some good links or thoughts on a + story and someone will likely invite you so can post them. +

+ +

+ Lurking in the channel is a bot called "mockturtle" created and + maintained by @alynpost. + It announces new stories submitted to the site and provides other useful + features like showing the page title of other URLs mentioned in the channel. +

+ +

+ To participate in the discussion, join the + #lobsters channel on + irc.freenode.net with an IRC client. +

+ +

+ For a feed of stories without discussion, mockturtle also posts new + stories in #lobsters-feed + on the same network. +

+ +
+
diff --git a/app/views/home/privacy.html.erb b/app/views/home/privacy.html.erb new file mode 100644 index 00000000..6c3eeb76 --- /dev/null +++ b/app/views/home/privacy.html.erb @@ -0,0 +1,9 @@ +
+
+ Privacy Policy +
+ +

+ This is the Internet, you have no privacy. +

+
diff --git a/app/views/layouts/_footer.html.erb b/app/views/layouts/_footer.html.erb new file mode 100644 index 00000000..88e02ddf --- /dev/null +++ b/app/views/layouts/_footer.html.erb @@ -0,0 +1,16 @@ +Moderation Log +<% if @user && @user.can_see_invitation_requests? && (iqc = InvitationRequest.verified_count) > 0 %> + Invitation Queue (<%= iqc %>) +<% end %> +<% if @user && @user.is_moderator? && (hrc = HatRequest.count) > 0 %> + Hat Requests (<%= hrc %>) +<% else %> + Hats +<% end %> +<% if false %> + <% bbs_count = Keystore.get("bbs:nodes_in_use").try(:value).to_i %> + BBS<%= bbs_count == 0 ? "" : " (#{bbs_count})" %> +<% end %> +Wiki +Privacy +About diff --git a/public/apple-touch-icon-144.png b/public/apple-touch-icon-144.png new file mode 100644 index 0000000000000000000000000000000000000000..8223fa3f7bc3bb058f24637d11661aea406ef572 GIT binary patch literal 4536 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 Rn2)couct!;9QJOn{{n$F9~A%q literal 0 HcmV?d00001 From 24c5e20a807fc39327165a66315e6e61af9c9f19 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Mon, 8 Jan 2018 12:35:27 -0600 Subject: [PATCH 02/32] Improve wording around invites from chat The 'pestering' language is at odds with the about page suggesting people ask for invites in chat, and it hasn't been a problem. This also adds some language around the really common request that people link to an existing online profile of some kind. --- app/views/home/chat.html.erb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/views/home/chat.html.erb b/app/views/home/chat.html.erb index 685e0df9..97ac8e5b 100644 --- a/app/views/home/chat.html.erb +++ b/app/views/home/chat.html.erb @@ -24,18 +24,19 @@

- New contributors are always welcome on Lobsters, but pestering other members - in the channel for invites is not acceptable. If you are the author or + New contributors are always welcome on Lobsters. If you are the author or otherwise involved with a story that was submitted to the site, ask and - someone will invite you. Alternately, offer some good links or thoughts on a - story and someone will likely invite you so can post them. + someone will invite you. If not, offer some good links or thoughts on a + story and someone will likely invite you so can post them. Alternatively, + share a link to your homepage or public profile (GitHub, Twitter, YC News, + and LinkedIn are popular choices) so people can see you're not a spammer.

Lurking in the channel is a bot called "mockturtle" created and maintained by @alynpost. It announces new stories submitted to the site and provides other useful - features like showing the page title of other URLs mentioned in the channel. + features like showing the page title of URLs mentioned in the channel.

From 1ffffe4104834529f61755b263e0b04a6a1d7a36 Mon Sep 17 00:00:00 2001 From: Julien Bordellier <1444415+jstoja@users.noreply.github.com> Date: Fri, 9 Feb 2018 14:30:43 +0100 Subject: [PATCH 03/32] Remove stickers link from about page Fixes #14 --- app/views/home/about.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 9370c6ec..f0c1cee2 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -239,8 +239,8 @@ <% end %>

  • - Stickers are - available to show your support for the site. + Stickers are + no longer available until an alternative to the Stickermule marketplace is found.

  • From b4a8660c1f1919989aa0607d576d0d873c64979f Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Fri, 9 Feb 2018 16:18:43 -0600 Subject: [PATCH 04/32] note current admin contact --- app/views/home/about.html.erb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index f0c1cee2..70427d3c 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -6,9 +6,10 @@

    Lobsters is a technology-focused community centered around link aggregation - and discussion. - Launched on July 3rd, 2012, it was created by joshua - stein with some specific design goals in mind to avoid problems faced by + and discussion, launched on July 3, 2012. + The current administrator is Peter Bhat Harkins. + Lobsters was created by joshua stein + with some specific design goals in mind to avoid problems faced by other link aggregation sites:

    From 6d6f36ba9ec599010df6f9b99c9c97238694a334 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Sun, 11 Feb 2018 21:22:54 -0600 Subject: [PATCH 05/32] update repo link, rm dead stats links --- app/views/home/about.html.erb | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 70427d3c..40851561 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -134,20 +134,9 @@

    - The source code to this site is + The source code to this site is made available under a 3-clause BSD license for viewing, auditing, forking, or contributing to. - Public stats are available for - site - requests, - comments - submitted, - stories - submitted, - total - users, and - users - created per day.

    From 5fb7bbed62ec31a31887902244c6115e6b9e9817 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 21 Feb 2018 08:24:35 -0600 Subject: [PATCH 06/32] style logo as image over colored bg --- app/assets/stylesheets/local/lobsters.css | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/local/lobsters.css b/app/assets/stylesheets/local/lobsters.css index 60deda1a..00a019dc 100644 --- a/app/assets/stylesheets/local/lobsters.css +++ b/app/assets/stylesheets/local/lobsters.css @@ -20,8 +20,16 @@ span.hat_sysop span.crown { } #l_holder { - background: #ee0000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAL0ALQAtZF7+HAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wCCBAuLt2rqugAAACMSURBVDjL1ZMxCsJQEERfRPEk9im9mGfxBpaCnaXmBraeQEidKsKz2eIb/peEIOLAwu4Ws7PMbsUAKlOwYCaWmd4aWCV1B4yXpR59R61SitwKDdBHfgPaSTsF8zOmHz5NLykAeCRqvuvCfxGcgP0YF3ZqHy7c1Yt6jfo8dCF3idvkQjcRRVQ/f6bZBC+RBoeZnlCyqwAAAABJRU5ErkJggg==) no-repeat; - background-position: center; + position: relative; +} +#l_holder:after { + content: ''; + background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAL0ALQAtZF7+HAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wCCBAuLt2rqugAAACMSURBVDjL1ZMxCsJQEERfRPEk9im9mGfxBpaCnaXmBraeQEidKsKz2eIb/peEIOLAwu4Ws7PMbsUAKlOwYCaWmd4aWCV1B4yXpR59R61SitwKDdBHfgPaSTsF8zOmHz5NLykAeCRqvuvCfxGcgP0YF3ZqHy7c1Yt6jfo8dCF3idvkQjcRRVQ/f6bZBC+RBoeZnlCyqwAAAABJRU5ErkJggg==) no-repeat center; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; } @media From 8f52b5c62ebe5a4058668bed6004453ca743ea89 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Thu, 1 Mar 2018 18:06:08 -0600 Subject: [PATCH 07/32] add cloaks, ops, -boil --- app/views/home/chat.html.erb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/views/home/chat.html.erb b/app/views/home/chat.html.erb index 97ac8e5b..8042db2a 100644 --- a/app/views/home/chat.html.erb +++ b/app/views/home/chat.html.erb @@ -12,6 +12,9 @@ created by @kristof. + @pushcx, + @355e3b (c355e3b on IRC), and + @aleph- (Church- on IRC) are channel operators.

    @@ -45,6 +48,14 @@ irc.freenode.net with an IRC client.

    +

    + If you'd like a cloak to note that you've contributed to + Lobsters development + or just for privacy as a regular user, contact a channel operator for a + lobsters/developer/username or lobsters/user/username + cloak. +

    +

    For a feed of stories without discussion, mockturtle also posts new stories in +

    + Occasionally off-topic discussion (especially American politics) + spills over into #lobsters-boil. +

    +
    From f40f635c15d8baa2af70ec43946c162ffe0dfd70 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Fri, 2 Mar 2018 08:41:08 -0600 Subject: [PATCH 08/32] recompile assets and bounce unicorn when site-specific files change --- app/views/home/chat.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/chat.html.erb b/app/views/home/chat.html.erb index 8042db2a..fbe050bc 100644 --- a/app/views/home/chat.html.erb +++ b/app/views/home/chat.html.erb @@ -36,7 +36,7 @@

    - Lurking in the channel is a bot called "mockturtle" created and + Lurking in the channel is a bot called mockturtle created and maintained by @alynpost. It announces new stories submitted to the site and provides other useful features like showing the page title of URLs mentioned in the channel. From 75eb7a82ca650d11a07f955542a716000bf5e2a7 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 28 Mar 2018 07:40:46 -0500 Subject: [PATCH 09/32] Note that people should contact me with support issues --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 40851561..69969818 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -7,7 +7,7 @@

    Lobsters is a technology-focused community centered around link aggregation and discussion, launched on July 3, 2012. - The current administrator is Peter Bhat Harkins. + The current administrator is Peter (pushcx) Bhat Harkins, contact him with any support issues. Lobsters was created by joshua stein with some specific design goals in mind to avoid problems faced by other link aggregation sites: From 27bba1932f763b5e65de876e7b34e50797f731cc Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Sat, 31 Mar 2018 16:57:03 -0500 Subject: [PATCH 10/32] typo --- app/views/home/chat.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/chat.html.erb b/app/views/home/chat.html.erb index fbe050bc..3e4fc835 100644 --- a/app/views/home/chat.html.erb +++ b/app/views/home/chat.html.erb @@ -14,7 +14,7 @@ @kristof. @pushcx, @355e3b (c355e3b on IRC), and - @aleph- (Church- on IRC) are channel operators. + @aleph (Church- on IRC) are channel operators.

    From cea046b59bff1002c86850b6b3fc681c72d334df Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 4 Apr 2018 17:08:18 -0500 Subject: [PATCH 11/32] first users, stories, and comments appear on the 1st --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 69969818..2e3c034d 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -6,7 +6,7 @@

    Lobsters is a technology-focused community centered around link aggregation - and discussion, launched on July 3, 2012. + and discussion, launched on July 1st, 2012. The current administrator is Peter (pushcx) Bhat Harkins, contact him with any support issues. Lobsters was created by joshua stein with some specific design goals in mind to avoid problems faced by From 43aea6448c21b1b5a64cf361c2c493d8654e662a Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 2 May 2018 08:23:27 -0500 Subject: [PATCH 12/32] many small updates to about page Updated to fix some html, note edits to tags are modlogged, hopefully fix some constant confusion about invitations, clarify some moderation language, mention the lobster emoji, and add links throughout. I strongly prefer using one line per sentence/long clause in HTML/Markdown docs and will probably convert this doc at some point, but only started on places I touched to minimize noise in this diff. --- app/views/home/about.html.erb | 85 ++++++++++++++++++++--------------- 1 file changed, 49 insertions(+), 36 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 2e3c034d..32a32704 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -7,31 +7,28 @@

    Lobsters is a technology-focused community centered around link aggregation and discussion, launched on July 1st, 2012. - The current administrator is Peter (pushcx) Bhat Harkins, contact him with any support issues. + The current administrator is Peter Bhat Harkins ("pushcx"), contact him with any support issues. Lobsters was created by joshua stein with some specific design goals in mind to avoid problems faced by other link aggregation sites:

    Tagging
    - When links/stories are submitted, they must be tagged by the submitter from a - list of predefined tags. Users can choose to filter out all submissions with particular tags, but - rather than use rigidly segmented sub-forums that users must each subscribe - to, all users see all stories by default. The reason for this is threefold: + When links/stories are submitted, they must be tagged by the submitter from a list of predefined tags. + Users can choose to filter out or + subscribe to all submissions with particular tags (example). + All users see all stories by default. + The tagging system works this way for three reasons:

      @@ -66,16 +63,14 @@

    - Creating new tags and retiring old tags is done by the community by - submitting, discussing, and voting on - meta-tagged requests about them. + Creating new tags and retiring old tags is done by the community by submitting, discussing, and voting on meta-tagged requests about them, + and these events are logged (since 2018-04).

    Invitation Tree
    - Invitations are used as a mechanism for spam-control and to encourage users - to "be nice". New users must be invited by a current user, though there is - no vetting process and invitations are not intended to promote exclusivity. + New users must be invited by a current user, though there is no formal vetting process. + Invitations are used as a mechanism for spam-control and to encourage users to be nice, not to make the Lobsters userbase an elite club. The most efficient way to receive an invitation is to talk to someone you recognize from the site or <% if Rails.application.allow_invitation_requests? %> @@ -83,15 +78,18 @@ <% else %> request one in chat. <% end %> - Invitations are unlimited unless scaling problems temporarily prevent new - accounts. If spammers are invited to the site and banned, the user that - invited them may also be banned, going up the chain of invitations as needed.

    The full user tree is made public and each user's profile - shows who invited them. This provides some degree of accountability and can - act as a tool to help identify voting rings. + shows who invited them. This provides some degree of accountability and + helps identify voting rings. +

    + +

    + There's no limit on how many invitations a user can send (though that might be prompted by scaling problems in the future). + When accounts are banned for spam, sockpuppeting, or other abuse, + moderators will look up the invitation tree to consider disabling their inviter's ability to send invitations or, rarely, also banning.

    @@ -111,32 +109,40 @@ All moderator actions on this site are visible to everyone and the identities of those moderators are made public. While the individual actions of a - moderator may cause debate, there should be no question about which moderator - it was or whether they had an ulterior motive for those actions. + moderator may cause debate, there should be no question about if an action happened or who is responsible.

    All user voting and story ranking on this site uses a universal algorithm and does not artificially penalize or prioritize users or domains. + rel="nofollow">penalize or prioritize specific users or domains. Per-tag hotness modifiers do affect all stories with - those tags, but these modifiers are made public and usually used to shorten - the life of meta-discussions. If certain domains have to be banned from - being submitted due to spam, the list will be made publicly available. + those tags, but these modifiers (and changes to them) are made public. + Domains used for tracking are banned and tracking parameters are removed from links + (look for TRACKING_DOMAINS and utm_ in + story.rb).

    If users are disruptive enough to warrant banning, they will be banned absolutely, given notice of their banning, and their disabled user profile - will indicate which moderator banned them and why. There will be no hidden, - antisocial "shadow banning" or "hellbanning" of users. + will indicate which moderator banned them and why. + There will be no shadow banning or other secret moderation actions.

    - The source code to this site is - made available under a 3-clause BSD license for viewing, auditing, forking, - or contributing to. + The source code to this site and + its provisioning and deployment are + made available under a 3-clause BSD license for viewing, auditing, forking, or contributing to. +

    + +

    + If you dislike the content or moderation policies here, you may prefer + Y Combinator News, + r/programming, + comp.*, or + /g/.

    @@ -199,6 +205,7 @@ be automatically applied to a story when a quorum of users agrees on a new title (such as removing a site's name, or appending the story's year of publication) or set of tags, without any moderator action required. + (Log)

  • @@ -228,6 +235,12 @@

  • <% end %> +
  • + Sponsor of the 🦞 emoji: + In February 2018, Lobsters held a fundraiser + to officially adopt the new lobster emoji in support of the Unicode Foundation. +

  • +
  • Stickers are no longer available until an alternative to the Stickermule marketplace is found. From 4fb333ae7d29ccedcd756e86e35a8ee02c209b96 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 2 May 2018 13:22:21 -0500 Subject: [PATCH 13/32] add slashdot --- app/views/home/about.html.erb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 32a32704..0240f0cf 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -141,6 +141,7 @@ If you dislike the content or moderation policies here, you may prefer Y Combinator News, r/programming, + Slashdot, comp.*, or /g/.

    From 40891256a5041c0420cb1f5797ded6914c27d264 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Fri, 4 May 2018 09:19:59 -0500 Subject: [PATCH 14/32] narrow overbroad description of site focus Last discussed at https://lobste.rs/s/9pm09z and unchanged since, Lobsters has been more specifically about computing than technology. Big fields like civil engineering, biotech, physics, etc. have never been on the site and 'technology' just isn't accurate. --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 0240f0cf..53c42415 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -5,7 +5,7 @@

    - Lobsters is a technology-focused community centered around link aggregation + Lobsters is a computing-focused community centered around link aggregation and discussion, launched on July 1st, 2012. The current administrator is Peter Bhat Harkins ("pushcx"), contact him with any support issues. Lobsters was created by joshua stein From 92bd225cda6d4ee0d3124f68d7066dfd5bb3052e Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Sat, 12 May 2018 17:06:43 -0500 Subject: [PATCH 15/32] whimsy --- app/views/home/about.html.erb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 53c42415..199728c0 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -236,8 +236,10 @@

  • <% end %> -
  • - Sponsor of the 🦞 emoji: +

  • + 🦞 +

    + Sponsor of the lobster emoji: In February 2018, Lobsters held a fundraiser to officially adopt the new lobster emoji in support of the Unicode Foundation.

  • From 30f993d8985fc3c16365118a2ec67261c4c65375 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Sun, 27 May 2018 11:37:57 -0500 Subject: [PATCH 16/32] about: h2 tags, hosting thanks, michael bolton --- app/views/home/about.html.erb | 59 +++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 199728c0..c2902bb0 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -1,7 +1,5 @@
    -
    - About -
    +

    About

    @@ -21,9 +19,8 @@

  • and many other features that have been added over the years.
  • -

    - Tagging -
    +

    Tagging

    +

    When links/stories are submitted, they must be tagged by the submitter from a list of predefined tags. Users can choose to filter out or subscribe to all submissions with particular tags (example). @@ -67,8 +64,8 @@ and these events are logged (since 2018-04).

    -

    - Invitation Tree
    +

    Invitation Tree

    +

    New users must be invited by a current user, though there is no formal vetting process. Invitations are used as a mechanism for spam-control and to encourage users to be nice, not to make the Lobsters userbase an elite club. The most efficient way to receive an invitation is to talk to someone you @@ -92,8 +89,8 @@ moderators will look up the invitation tree to consider disabling their inviter's ability to send invitations or, rarely, also banning.

    -

    - Downvote Explanations
    +

    Downvote Explanations

    +

    Often on other sites, a user would have his or her comment downvoted without explanation and then edit their comment to ask why they were downvoted. On this site, voters must choose a reason before downvoting comments and those @@ -104,8 +101,8 @@ valid reason) and these flag summaries are shown to all users.

    -

    - Transparency Policy
    +

    Transparency Policy

    +

    All moderator actions on this site are visible to everyone and the identities of those moderators are made public. While the individual actions of a @@ -146,9 +143,8 @@ /g/.

    -

    - Other Technical Features -

    +

    Other Technical Features

    +
    • Mailing list mode can be enabled @@ -236,19 +232,36 @@

    • <% end %> -
    • - 🦞 -

      - Sponsor of the lobster emoji: - In February 2018, Lobsters held a fundraiser - to officially adopt the new lobster emoji in support of the Unicode Foundation. -

    • -
    • Stickers are no longer available until an alternative to the Stickermule marketplace is found.

    +

    Trivia

    + + +
    From 08169b30f0312909c2dc803e2875d3ce5f1ab430 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 6 Jun 2018 16:32:53 -0500 Subject: [PATCH 17/32] link domain hack page --- app/views/home/about.html.erb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index c2902bb0..c5e73dcd 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -256,7 +256,9 @@

  • - This site has nothing to do + The name "Lobste.rs" is a cute domain hack + without any deeper meaning. + It has nothing to do with self-help guru Jordan Peterson, whose fans started to call themselves "lobsters" about six years after we started. From 9ea01c70d67c82bcdbe24c6e1dad16d75d94dffe Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Thu, 14 Jun 2018 08:18:45 -0500 Subject: [PATCH 18/32] fix #emoji fragid --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index c5e73dcd..059d213a 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -247,7 +247,7 @@ We use Tarsnap for backups, which pushcx pays for.

  • -
  • +
  • 🦞

    Sponsor of the lobster emoji: From 2621ac5a30ebe990d4e94a410ee06c9cbd267a68 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 18 Jul 2018 07:52:37 -0500 Subject: [PATCH 19/32] match prod mysql config; about tweaks --- app/views/home/about.html.erb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 059d213a..a08740b8 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -5,7 +5,7 @@

    Lobsters is a computing-focused community centered around link aggregation and discussion, launched on July 1st, 2012. - The current administrator is Peter Bhat Harkins ("pushcx"), contact him with any support issues. + The administrator is Peter Bhat Harkins ("pushcx"), contact him with any support issues. Lobsters was created by joshua stein with some specific design goals in mind to avoid problems faced by other link aggregation sites: @@ -233,8 +233,8 @@ <% end %>

  • - Stickers are - no longer available until an alternative to the Stickermule marketplace is found. + Stickers will be available again when someone finds a service that will print and ship 2" square vinyl stickers + with a bleed <= 1/16" (preferably full-bleed) directly to people who want them.

  • From f851dbf404958ff7967b4ef9486d19fbd379c2cc Mon Sep 17 00:00:00 2001 From: Alan Post Date: Wed, 25 Jul 2018 10:50:03 -0600 Subject: [PATCH 20/32] roles/lobsters: registration requirement to join channel. --- app/views/home/chat.html.erb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/views/home/chat.html.erb b/app/views/home/chat.html.erb index 3e4fc835..90d764f6 100644 --- a/app/views/home/chat.html.erb +++ b/app/views/home/chat.html.erb @@ -35,6 +35,12 @@ and LinkedIn are popular choices) so people can see you're not a spammer.

    +

    + Due to spam from unregistered accounts, you will need to + register your nick + before you can join #lobsters. +

    +

    Lurking in the channel is a bot called mockturtle created and maintained by @alynpost. From 3f5f3a87a9c6b8462fbae2578f4a3743437611d5 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Sun, 29 Jul 2018 12:15:52 -0500 Subject: [PATCH 21/32] Revert "roles/lobsters: registration requirement to join channel." This reverts commit e20a4b2aa5b9f0d866cf09b1baf9a0f4a3dd4501. https://lobste.rs/s/lezztq --- app/views/home/chat.html.erb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/views/home/chat.html.erb b/app/views/home/chat.html.erb index 90d764f6..3e4fc835 100644 --- a/app/views/home/chat.html.erb +++ b/app/views/home/chat.html.erb @@ -35,12 +35,6 @@ and LinkedIn are popular choices) so people can see you're not a spammer.

    -

    - Due to spam from unregistered accounts, you will need to - register your nick - before you can join #lobsters. -

    -

    Lurking in the channel is a bot called mockturtle created and maintained by @alynpost. From 287901514418f4985896c6ef33bad099c3b9a73c Mon Sep 17 00:00:00 2001 From: Alan Post Date: Thu, 23 Aug 2018 10:07:29 -0600 Subject: [PATCH 22/32] about: DNS hosting provided by DNSimple. --- app/views/home/about.html.erb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index a08740b8..c4672662 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -244,6 +244,7 @@

  • Lobsters' hosting is donated by Prgmr.com (thanks, alynpost). Our domain name is registered with CRI Domains, who donated our first year of registration. + DNS is provided by DNSimple. We use Tarsnap for backups, which pushcx pays for.

  • From e09c912791f058771079f5b68e385cd27b21cfce Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Thu, 30 Aug 2018 14:41:46 -0500 Subject: [PATCH 23/32] couple notes from Alan's talk --- app/views/home/about.html.erb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index c4672662..54862185 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -67,14 +67,17 @@

    Invitation Tree

    New users must be invited by a current user, though there is no formal vetting process. - Invitations are used as a mechanism for spam-control and to encourage users to be nice, not to make the Lobsters userbase an elite club. - The most efficient way to receive an invitation is to talk to someone you + Invitations are used as a mechanism for spam-control, + to slow registrations to a pace we can acculturate. + and to encourage users to be nice, not to make the Lobsters userbase an elite club. + The quickest way to receive an invitation is to talk to someone you recognize from the site or <% if Rails.application.allow_invitation_requests? %> request one publicly. <% else %> request one in chat. <% end %> + If you wrote a link that was posted, definitely contact someone for an invite, we'd love to have you in the discussion.

    @@ -132,6 +135,8 @@ The source code to this site and its provisioning and deployment are made available under a 3-clause BSD license for viewing, auditing, forking, or contributing to. + The codebase is used to run a dozen or so sister sites (that we know of) and we keep a list; + please get in touch if you've launched one.

    From e773795a4fee6c107b98b183a58f2c98ba9fdf68 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Thu, 30 Aug 2018 14:43:28 -0500 Subject: [PATCH 24/32] note dnsimple isn't donated --- app/views/home/about.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 54862185..59b24094 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -249,8 +249,8 @@

  • Lobsters' hosting is donated by Prgmr.com (thanks, alynpost). Our domain name is registered with CRI Domains, who donated our first year of registration. - DNS is provided by DNSimple. - We use Tarsnap for backups, which pushcx pays for. + DNS is provided by DNSimple and + we use Tarsnap for backups, both of which pushcx pays for.

  • From faea1e5a89001ea458444714cda093f92de99acc Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Wed, 19 Sep 2018 14:10:36 -0500 Subject: [PATCH 25/32] html entity --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 59b24094..9a565731 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -239,7 +239,7 @@
  • Stickers will be available again when someone finds a service that will print and ship 2" square vinyl stickers - with a bleed <= 1/16" (preferably full-bleed) directly to people who want them. + with a bleed <= 1/16" (preferably full-bleed) directly to people who want them.

  • From 3b5f4d3b0c837bcf935b08ad533460465cd4a3b3 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Fri, 28 Sep 2018 09:24:27 -0500 Subject: [PATCH 26/32] about: explain what goes into a good tag proposal --- app/views/home/about.html.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 9a565731..118926d2 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -62,6 +62,8 @@

    Creating new tags and retiring old tags is done by the community by submitting, discussing, and voting on meta-tagged requests about them, and these events are logged (since 2018-04). + To propose a tag, post a meta thread with the name and description. + Explain the scope, list existing stories that should have been tagged, make a case for why people would want to specifically filter it out, and justify the increased complexity for submitters and mods.

    Invitation Tree

    From af9a902fe7083f70f599a71e7570c93c393ebe4c Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Tue, 9 Oct 2018 15:06:24 -0500 Subject: [PATCH 27/32] add note about running queries Was reminded by results: https://lobste.rs/s/uxgjha/noria_dynamic_partially_stateful_data --- app/views/home/about.html.erb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 118926d2..4c8d196f 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -141,6 +141,13 @@ please get in touch if you've launched one.

    +

    + The Lobsters community is in a sweet spot that it's large enough to be worth asking questions about and small enough the answers make sense. + If you're curiuos about stats, Peter is happy to run queries against the [database](https://github.com/lobsters/lobsters/blob/master/db/schema.rb) and Rails/MySQL/nginx logs (but not write them for you), + as long as they don't reveal personal info like IPs, browsing, and voting or create “worst-of” leaderboards celebrating most-downvoted users/comments/stories + If you're an academic researcher, please [be like MIT](https://lobste.rs/s/cqnzl5/lobste_rs_access_pattern_statistics_for), not like [U Chicago](https://github.com/lobsters/lobsters/issues/517) secretly experimenting on maintainers without IRB review. +

    +

    If you dislike the content or moderation policies here, you may prefer Y Combinator News, From 9f68103849bce529ce816be2b8eda18da1c0d592 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Tue, 9 Oct 2018 15:11:37 -0500 Subject: [PATCH 28/32] typo --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 4c8d196f..626085f6 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -144,7 +144,7 @@

    The Lobsters community is in a sweet spot that it's large enough to be worth asking questions about and small enough the answers make sense. If you're curiuos about stats, Peter is happy to run queries against the [database](https://github.com/lobsters/lobsters/blob/master/db/schema.rb) and Rails/MySQL/nginx logs (but not write them for you), - as long as they don't reveal personal info like IPs, browsing, and voting or create “worst-of” leaderboards celebrating most-downvoted users/comments/stories + as long as they don't reveal personal info like IPs, browsing, and voting or create “worst-of” leaderboards celebrating most-downvoted users/comments/stories. If you're an academic researcher, please [be like MIT](https://lobste.rs/s/cqnzl5/lobste_rs_access_pattern_statistics_for), not like [U Chicago](https://github.com/lobsters/lobsters/issues/517) secretly experimenting on maintainers without IRB review.

    From 693f448c118d073f8d127d05f9bce549c2b6471e Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Sat, 13 Oct 2018 07:52:41 -0500 Subject: [PATCH 29/32] update privacy policy for coppa compliance --- app/views/home/privacy.html.erb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/views/home/privacy.html.erb b/app/views/home/privacy.html.erb index 6c3eeb76..af25201d 100644 --- a/app/views/home/privacy.html.erb +++ b/app/views/home/privacy.html.erb @@ -6,4 +6,8 @@

    This is the Internet, you have no privacy.

    + +

    + (Unless you are under 13, in which case you are not allowed here.) +

    From e7c8c01be7c56582ba01a754420c30258fcc74c1 Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Thu, 22 Nov 2018 22:29:23 -0600 Subject: [PATCH 30/32] file is not markdown --- app/views/home/about.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 626085f6..1fc327c4 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -143,9 +143,9 @@

    The Lobsters community is in a sweet spot that it's large enough to be worth asking questions about and small enough the answers make sense. - If you're curiuos about stats, Peter is happy to run queries against the [database](https://github.com/lobsters/lobsters/blob/master/db/schema.rb) and Rails/MySQL/nginx logs (but not write them for you), + If you're curious about stats, Peter is happy to run queries against the database"> and Rails/MySQL/nginx logs (but not write them for you), as long as they don't reveal personal info like IPs, browsing, and voting or create “worst-of” leaderboards celebrating most-downvoted users/comments/stories. - If you're an academic researcher, please [be like MIT](https://lobste.rs/s/cqnzl5/lobste_rs_access_pattern_statistics_for), not like [U Chicago](https://github.com/lobsters/lobsters/issues/517) secretly experimenting on maintainers without IRB review. + If you're an academic researcher, please be like MIT, not like UChicago secretly experimenting on maintainers without IRB review.

    From 01993d4ac5f6afe011d168150d72155e9aecbc4c Mon Sep 17 00:00:00 2001 From: Alan Post Date: Sat, 22 Dec 2018 07:54:27 -0700 Subject: [PATCH 31/32] roles/lobsters: typo in database anchor close tag. This typo was introduced when the links were converted from markdown to HTML. Reported by /u/kqr. --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index 1fc327c4..f23d5cdf 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -143,7 +143,7 @@

    The Lobsters community is in a sweet spot that it's large enough to be worth asking questions about and small enough the answers make sense. - If you're curious about stats, Peter is happy to run queries against the database"> and Rails/MySQL/nginx logs (but not write them for you), + If you're curious about stats, Peter is happy to run queries against the database and Rails/MySQL/nginx logs (but not write them for you), as long as they don't reveal personal info like IPs, browsing, and voting or create “worst-of” leaderboards celebrating most-downvoted users/comments/stories. If you're an academic researcher, please be like MIT, not like UChicago secretly experimenting on maintainers without IRB review.

    From df1bfacab7ccfd1a0b32aceb6ae260c4210e0b1a Mon Sep 17 00:00:00 2001 From: Peter Bhat Harkins Date: Mon, 11 Feb 2019 13:05:41 -0600 Subject: [PATCH 32/32] typo --- app/views/home/about.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/home/about.html.erb b/app/views/home/about.html.erb index f23d5cdf..18d28bfc 100644 --- a/app/views/home/about.html.erb +++ b/app/views/home/about.html.erb @@ -70,7 +70,7 @@

    New users must be invited by a current user, though there is no formal vetting process. Invitations are used as a mechanism for spam-control, - to slow registrations to a pace we can acculturate. + to slow registrations to a pace we can acculturate and to encourage users to be nice, not to make the Lobsters userbase an elite club. The quickest way to receive an invitation is to talk to someone you recognize from the site or