Experimental Feature: Liking a Post Requests Comment Notifications

Since comment notifications were added to Ratburger.org on 2018-02-20, the rule has been that when a new comment is added to a post on the site (I refer here to main site posts, not items posted in groups, which are handled entirely differently), notifications are sent to the author of the post and to all other members who have commented on the post so far (excluding, of course, the author of the new comment).  On 2018-06-10 this was revised slightly by allowing comments which contain just the text “follow” or “c4c” (an old-time bulletin board system abbreviation of “comment for comments”) to request notifications without actually appearing in the comments for the post or the “Recent Comments” box in the sidebar.

I have just revised this code so that in addition to the post author and other commenters, users who have “Liked” the post will also be notified of new comments.  It is common for posts to have a large number of likes but only a few comments, and thus for new comments to be largely invisible unless a user happens to see them in the “Recent Comments” box.  It seems to me that people who have liked a post will probably be interested in any comments it engenders, and that sending notifications to these people will increase engagement with the post and possibly stimulate additional comments.

If people find this change detrimental or annoying, it is easily removed.

Full details of the implementation will be included in tonight’s regular posting to the Updates Group.

12+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar

Administration: WordPress Updated to Version 5.2

At 14:13 UTC on 2019-05-09 the version of WordPress upon which the Ratburger.org site runs was updated to the newly released version 5.2.  Before installing the update on the production site, I performed a series of tests running the new version on the raw.ratburger.org test site, which I brought up with a mirror of the running configuration on the production site with the version 5.2 update kit including all of our local modifications applied.  Details of this testing process was posted on the 2019-05-08 entry in the Updates group.  (Access to the raw.ratburger.org test site is restricted to my IP address range and the site is only up when required for testing major updates such as this; it is not intended for user access.)

WordPress: Worthless, and also free

This WordPress update consisted almost entirely of administrative features intended to improve the fault tolerance of the famously fragile WordPress software stack.  It has gimmicks which are supposed to keep errors in plug-ins from bringing down an entire site; given the quality of code we’ve come to expect from the WordPress developers, it’s anybody’s guess whether this will make things better or worse.

There should be no user-visible changes resulting from the installation of this update; there were massive changes in the so-called “Block Editor” (Gutenberg), but not being complete idiots, we don’t use that malformed excrescence.  (The Classic Editor plug-in, whose sole purpose is to disable the Block Editor and hide it from users of a site, is now the sixth most-popular WordPress plug-in, with more than four million active installations.)

This update, although massive (536 files modified, 34 new files added), should be completely transparent to users of this site.  If you see something that doesn’t look right, please note it in the comments on this post or in a post to the Bug Reports group.

5+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar

Knowledge Base: Including Images in Group Posts and Comments

The “Groups” facility in Ratburger.org is based upon the Group feature of BuddyPress, which is a plug-in (or more precisely, bolt-on) to WordPress which was intended to turn what was originally blogging software into a crude kind of social network, with emphasis on “crude”.  BuddyPress can best be thought of as a kludge hanging in a bag crookedly nailed to the side of the hack which is WordPress.  Much of the work expended in software development since the launch of Ratburger has been in fixing outright flaws and limitations of BuddyPress.  Raw BuddyPress is something to behold: group posts and comments, once posted, cannot be edited or deleted, except by an administrator, and there is near complete opacity about what is going on, with notifications completely haphazard.

The whole Groups facility is a hack.  The way a discussion group add-on to WordPress should work is self-evident to anybody who gives it a few minutes’ thought: each group should be its own little site, with its own posts and comments, but with notifications confined to members.  Posts could be promoted from groups to public pages by administrators.  All of the composition, editing, and administration functions should be identical for the main site and groups.

What we have, of course, is nothing like that.  Groups don’t work remotely like the main site, and users are constantly frustrated trying to do simple things in groups which are easy on the main site.

For example, consider including an image in your post or comment.  On the main site, you just use the “Add Media” button, upload the image, and shazam, there it is!  But in a group, you’ll look in vain for an Add Media button—groups were basically intended by the developers of BuddyPress as glorified text-only bulletin boards, and if you want to do something as 1995-era edgy as including an image in your post, you have to jump through hoops.  Here are the details of the hoops, in case you remain undeterred.

First, upload your image to the Media Library.  There’s no “Add Media” button, but you can open up another tab or window, go to the Dashboard (via the little thing that looks like a speedometer in the bar at the top left of the page), then select Media/Add New.  This will display the familiar “Upload New Media” page, where you can select an image on your local computer and upload it to Ratburger.  This does not include the image in your group post; it simply adds it to your Media Library.

Next, display the Media Library.  In the sidebar, click Media/Library and you’ll see all images you’ve uploaded, with the most recent one at top left.  Click it and you’ll see the image full sized.  Make a note (copy and paste to an external text file) the following information about the image:

  • Dimensions
  • URL
  • Alt Text

For example, for an image I uploaded some time ago, I’d note:

  • Dimensions: 640 by 425 pixels
  • URL: https://www.ratburger.org/wp-content/uploads/2018/09/S146.jpg
  • Alt Text: HDR image: total solar eclipse 2010-07-11

Now go to the group post where you wish to include the image.  Starting on a line by itself, include an HTML img tag for the image like the following:

<img src="https://www.ratburger.org/wp-content/uploads/2018/09/S146.jpg"
  width="640" height="425" class="aligncenter"
  alt="Alt Text: HDR image: total solar eclipse 2010-07-11" />

Replace the various fields with the information you’ve recorded for your image. The “aligncenter” specification will centre the image (what you usually want); you can also use “alignleft” or “alignright” if you know what you’re doing.

If your image is larger than will fit on the screen (for example, images from digital cameras), you’ll need to recalculate the width and height to rescale it to fit. You typically don’t want an image to be wider than 640 pixels, and 600 pixels is a good choice. Let’s assume you have a monster image which is 6016×4016 pixels (as produced by a Nikon D600 digital camera) and you wish it show it as 600 pixels wide. You’d specify width=“600” in the img tag, but then you need to calculate the height in order to preserve the shape (“aspect ratio”) of the image. To do this, multiply the original height by the new width divided by the original width, in this case:

4016 × (600 / 6016) ≈ 401

(round to the nearest integer), and then specify height=“401”.

When you publish your post or comment in the group, the image should now appear.

Why should something so conceptually simple as including an image in a discussion group require such contortions?  Welcome to “the software that runs one third of the Web” (which is what they say, without adding the concluding phrase, “into the ground”).  As I mock their download page:

WordPress: Worthless, and also free

4+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar

Rethinking Things

I hope people enjoy this site and get to mix with the great people that are here. This is a different place and does not follow the “dinner party” concept. I want to get across that there will be many types of posts. Some will be “extra hot” with robust discussions and others will be “mild”. The “extra hot” will cause heartburn for some people and might be good to be avoided. For others they love the “burning sensation”. When writing your posts on controversial topics, please add “Mild”, “Medium”, or “Extra Hot” so people can grasp what type of discussion might occur. Some topics are by their very nature naturally hot. B

The other way to think of this place is like sports. Some sports are non-contact like tennis and golf where others are physical like football and rugby. It would seem strange to complain about “Someone touched me!” in football. Or to think tackling someone in golf is appropriate. This is analogous to different types of discussions here. Try to respect the author’s intent on what type of “sport” they are “playing”. This is not a “dinner party”.

Continuing on with the sports analogy. No one gets kicks out of a league or suspended for normal fouls. That is how the game is played. The fouls of one game shouldn’t carry over to another game. They are usually forgotten. In basketball if a player has fouled out in a prior game they start with a clean slate in the new game. They don’t foul out over the first foul of the new game. If they do the ref needs to be fired. Fouls happen and are dealt with in most sports simply and efficiently.

3+

Users who have liked this post:

  • avatar
  • avatar
  • avatar

I reverted a post to draft.

The post I reverted to draft was called “A Quick Note”. I didn’t think it was fair to have it up because the person who it was about cannot respond to it. It was a site administration post and written by me. The policy here has been to be transparent about the actions taken therefore this post.

3+

Users who have liked this post:

  • avatar
  • avatar
  • avatar

is this for real?

The group “I Hate drlorenz” doesn’t need a place on Ratburger. Just it’s existence speaks volumes of intolerance to a casual visitor to this site and should be eliminated. The founder of such a hate group should also be punished with at least a thirty, (30), day banishment.

I’ve been silent long enough. DrLorenz seems to be a member here. This group fabrication may be in jest, but the humor is lost on me and undoubtedly on visitors or new members.

What kind of site would actively allow a group to be named like this, I hate a fellow member?

Granted we throw jabs, good-naturedly, at one another in posts, but to name a group with this hate message….

It just ain’t right.

0

There was a strange occurrence on the site.

Someone with the avatar name, “So I was bangen’ this Supreme Court Clerk from BKK, Thailand when all of a sudden…” was on the site. Clearly this someone was wanting to spam the site therefore I marked the account as such. I will also delete the group this person made.

7+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar

Reviewing Principles

For those who are new, one of the first things I wrote on the site was a draft of principles. Here are the principles.

PRINCIPLES OF AGREEMENT

  1. This site is for entertainment. Posts need to add not subtract from the site. Fun is important.
  2. No attacking the person. Attacking words are okay. People get to openly disagree and have vigorous debates over ideas not personalities.
  3. Keep it clean. This site should be family and children friendly. (The web has plenty of places to express non-family thoughts.) This does not mean that we don’t handle in John Walker’s words “gnarly subjects” but we do it without the coarseness of most of the Internet.
  4. Keep it legit. Respect copyright toward images and text. Give attribution when needed.
  5. This is a conservative site. If you can’t respect those principles please find a site more conducive to your ideas.

I don’t want to bore you so I will just focus on Number One.

  1. This site is for entertainment. Posts need to add not subtract from the site. Fun is important.

I want this site to be enjoyable and beneficial. It shouldn’t be work. Anyone who takes part needs to add and not subtract to the site.  To understand what I mean please read the following from an earlier post, Disagreement Versus Disruption.

In a pluralist society disagreement is its mother milk. People need to keep true to their beliefs. I am a firm believer in, there is more unity in diversity* than uniformity. It works because hopefully there is enough commonality on the basics that people can live in peace. What a society or community can’t handle is willful disruptions. I would put Antifa in this group.

There seems to be a trend where people want to shut down the discussion rather than have it. Many tactics are used. One is the extreme pejorative. “You’re a racist.” “You hate poor people.” “You have no principles.” The next is to heckle. This person wants to stop a good conversation from happening. They don’t rent the room or gather the people. But they figure they have a right to disrupt the people who do. Third, there are the thought police. One can’t even bring up the subject. Certain words need to be bleeped out. “You are part of the patriarchy. ” “Meritocracy is code for keeping people down.” “We know what you really mean.” “One giant leap for [Redacted].”

Whereas disagreement is how we learn. We challenge and listen and respond respectfully. We might go to the lecture and ask questions but we don’t try to shut it down or picket it. We gather people who are like minded and form groups who agree to disagree. Many of the best movements started this way. They disagreed with the status quo and persuaded people that there was a better way.

Good disagreement does not demonize the other person. It does not heckle or shout down the other argument. It does not limit the discussion to only a certain set of words. It should be a marketplace that ideas can be exchanged and positions can change.

* Don’t confuse this with the current use of the word where diversity is used to be anti-opposing views.

4+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar

Explanation on Read Only Members

I recently changed the status of a Member to a non-comment making level. I need to explain what that means.

  1. Comments and Posts cannot be made.
  2. Private posts cannot be seen.
  3. PMs can be sent to them and read. Replies can be made to the received messages but PM conversations cannot be originated from this member.
  4. Comments and Posts can be liked.
1+

Users who have liked this post:

  • avatar

On Simon, ST

At Ratburger we are transparent; we don’t do things in the dark. I posted something on a crash of a 737 in Ethiopia. In the crash about 150 people died. Simon decided to make comments that were off the wall on a thread about this tragedy. That goes against our principles here. Occasionally there is black humor but a continue stream is something that belongs better on another site.

Unless someone can convince me otherwise, Simon’s account will be changed so that he cannot comment for a set time period by this time tomorrow. Simon, up till that time you will be allowed to comment and write a defense if you wish.

9+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar

New: Video Theatre

The Ratburger Video Theatre is now open!  You can find direct links to the Theatre page from the Activity tab in the main menu at the top of the page or from the “Meta” widget in the sidebar at the right (or bottom of the page for narrow-screen devices such as mobile phones and tablets).  The Video Theatre page provides directly-embedded videos from an eclectic collection of YouTube channels which are frequently updated, so you’ll usually see something new every day.  The initial set of channels were selected from those to which I subscribe and reflect my own interests.  Please suggest worthy channels in the comments and I’ll add them.  Channels which are only infrequently updated aren’t suitable for the Video Theatre format, nor those with material unkeeping with the tone of the site (for example, those laced with obscenities).  At present, due to how the Theatre is implemented, only videos on YouTube can be shown; I have no way to determine the most recent video for channels hosted on other sites.

The Video Theatre is updated with the latest videos from the channels listed twice a day, at 08:00 and 20:00 UTC—the date and time of the last update is shown at the bottom right of the embedded page.  I may make the updates more frequent once I’m confident I’ve navigated around the submerged crags of YouTube’s data query API quota system, which is bewilderingly opaque.

Getting a link to the most recent video posted on a YouTube channel is remarkably difficult.  Older channels have a “user name” which permits retrieving the latest video with a simple URL request, but most channels now have just a “Channel ID” which looks something like “UCYeF244yNGuFefuFKqxIAXw”.  To get a link to the latest video you have to create a Google Account, open an API Project, add the YouTube Data API, generate an access credential (API Key or [shudder] OAuth 2.0 key pair), compose a query to the googleapis.com site with all of this information, send it via HTTP, wait for the reply which is encoded in JSON format, parse the JSON into a data structure, and finally dig the nuggets of information you need to link to the actual video from the structure.  And then you have to worry about exceeding your quota for API requests, which is imposed both upon the number of requests per day and the request rate per second.  For the hideously gnarly details, see the Updates group post for 2019-03-09.

7+

Users who have liked this post:

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar

WordPress Version 5.1 Installed

As of 13:34 UTC today, 2019-02-25, the Ratburger.org site is running on the recently-released WordPress 5.1 update.  All of our local modifications to the core code have been integrated into the new version and tested on the “Raw” server before being installed here on the production site.  The update should be completely transparent to users, as it consists entirely of internal changes in the code intended to improve stability and fix myriad flaws and performance problems in the “block editor” which do not and will never use here.

Details of the testing procedure for 5.1 are posted the Updates Group post for 2019-02-24.  This was simultaneously a massive and trivial update of WordPress.  Almost every PHP and JavaScript file in the software was modified.  Since JavaScript and CSS style sheets were modified, if you notice something odd-looking, you might want to try clearing your browser cache (Ctrl-Shift-Delete on many browsers—be sure to clear only the cache, not cookies or browsing history) and reloading the page.  So far, I have noticed nothing in my testing which required clearing the cache, but your kilometrage may differ.

When I say the update was both massive and trivial, among the 906 files which were modified in the update (every one of which had to be reviewed for possible impact on the site), the overwhelming majority contained only changes to enforce “coding standards” which seem intended to make WordPress code not only dumb but also ugly.  In particular, some member of the band of nincompoops decided that left and right parentheses and brackets should be separated from the material they enclose by spaces, a convention used in no natural language of which I am aware nor by essentially any programming language style guide from the 1950s until Microsoft started crudding up their code this way in the 1990s.  So, when you review the changes, what you see are endless pages of stuff like:

89,90c94,96
< if (empty($attachment))
< wp_die(__('Please select a file'));
---
> if ( empty( $attachment ) ) {
> wp_die( __( 'Please select a file' ) );
> }

This, of course, creates endless clutter and potential confusion for any administrator who needs to integrate local modifications to the WordPress code into the update.  In this frenzy of “cleaning up” they did nothing about the hideously long lines of code which, even if broken at white space boundaries by a text editor, obscure the logical structure of the components of the statement.

If you notice anything that doesn’t look right, please note it in a comment.

2+

Users who have liked this post:

  • avatar
  • avatar