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 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

Experiment: Second Life Artificial Meet-Up (SLAMU)

Second Life Artificial Meet-UpShortly after the Ratburger.org site was created on 2017-12-09, we signed up for and implemented a text chat system called CometChat on 2017-12-12.  This was nothing but bother, with update after update failing to install and the last straw being when, at the end of the first year’s trial period, they wanted us to pay US$ 50/month for a shoddy service which we’d never actually used.  I deleted the hunk of junk on 2018-09-30.

Still, it would be nice to be able to host real-time events, perhaps with more interaction than is possible on our existing Audio Meet-Ups.  For this, I have been exploring using a platform many consider passé, but technologically perfectly positioned to burgeon in the Roaring Twenties, Second Life.

Second Life is a virtual world which, as of the end of 2017, had between 800,000 and 900,000 active users.  When you visit it, you’ll typically find on the order of 40,000 people logged on.  In Second Life you can visit a multitude of interesting destinations built by denizens, buy or rent land, build your own Bond villain redoubt, and create new objects which you can sell to others within the virtual world.

My ambition for Second Life and Ratburger is very modest at present: I’m thinking about using it as a chat room and place for meet-ups which don’t run up phone charges for participants.  Assuming you’ve set up your computer properly, you can chat in text or converse in voice after meeting at a location in Second Life.

Some time in the next month, I’d like to schedule an experimental Second Life Artificial Meet-Up (SLAMU) at some time chosen to accommodate the crazy quilt of time zones of our members (probably the same time as the Tuesday RAMU, but on another day).  If you’d like to participate, here’s what you’ll have to do.

Create a new account on Second Life.  Click the “Join Free” button and fill out the form.  Note that your Username cannot be changed after you join, so in the interest of privacy, do not chose a Username which discloses personal information.  Choose an avatar of your preference; you can be anybody you like—use your imagination!

Download and install a viewer on your computer.  I prefer the Firestorm Viewer, which is available for Linux, Macintosh, and legacy Windows systems.  You will need a relatively recent computer with lots of RAM and a graphical processing unit (GPU) to run this software.  The official Second Life Viewer is an alternative, but is generally behind Firestorm in features and device compatibility.

Log in to Second Life from your viewer application.  You will generally be taken to a starting point for new users such as London City, which will let you explore things you can do in the virtual world.  It will take some time to become familiar with moving around, interacting with objects, etc.  From there, you can go to myriad other places.

If you want to use voice communication, visit the Voice Echo Canyon:

http://maps.secondlife.com/secondlife/Voice%20Echo%20Canyon/128/130/23

(This is a Second Life URL which will not work in your browser, but works in the Second Life destination bar.)  Try speaking (use the middle mouse button to toggle speaking off and on, or the microphone button at the bottom in Firestorm) and see if you can hear the echo.  If you don’t see a white dot above your head, audio is not enabled on your computer. If this happens and you’re on a Linux system, let me know in the comments and I’ll send you a fix which worked for me.

Visit some interesting places, such as the amazing International Spaceflight Museum:

http://maps.secondlife.com/secondlife/Spaceport%20Alpha/48/78/23

and see what people have built in this virtual world.

My user name is “Fourmilab” and my humble abode (and SLAMU clubhouse until we build something more imposing) is at:

http://maps.secondlife.com/secondlife/Cowell%20Farm/216/12/42

This year in cyberspace!

SLAMU: Ratburger clubhouse

11+

Users who have liked this post:

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