Ramen Junkie

On Reddit Drama

Oh Reddit, how shall I miss thee. Maybe…

I should probably start off by saying, I have used Reddit, a lot, over a decade now, and I’m up over half a million Karma there, which is pretty high. I’ve probably participated in hundreds of communities.

Reddit isn’t quite as dead as Twitter is trying to be, not yet anyway, but it seems to be trying really hard. The CEO, Steve Huffman, aka /u/spez, has apparently stated he admires the work Musk has been doing at Twitter, which is kind of baffling, because Twitter is trying to speed run it’s demise.

Is this some sort of new Tech Bro Exit Strategy? Like, here’s the goals for a tech company, get bought by Google, failing that, get bought by Facebook, failing that, go full blown stupid and smash the website into the ground as hard as possible.

What’s Happening?

For a quick rundown of what has happened recently on Reddit, a month or so ago, Reddit announced it was changing how it handles it’s API, which is used for a lot of things, primarily Auto moderation tools and 3rd party clients. The issue isn’t really that they wanted to charge for the API, it’s that they want to charge an exorbitant amount for the API. It’s very clear, the intention is not for anyone to actually pay, but for everyone to abandon using it.

In response to this, a bunch of popular sub-Reddits (subs) went dark for a few days, or even permanently by going Private, meaning no one can see the content there. Others started marking everything NSFW (Not Safe For Work) because NSFW subs don’t have advertising. Others started posting meme content like only pictures of John Oliver.

Basically, a lot of the users revolted and complained, and nothing was changed on Reddit’s stance, in fact, reddit got more hostile with mods as things escalated. Reddit has threatened to or actually gone through with replacing moderators and forcing subs to reopen.

Spez says that Reddit needs to be profitable, and is not, which is fine, they deserve to make money off their site. The driver here seems to be the desire for an IPO (going public, ie stocks).

What’s the Problem?

The core issue here is, Reddit, is driven ENTIRELY by the users. Everything on the site is links to outside user created content. Everything on the links is user created discussion around the topic. The subreddits are ALL user created and user moderated. Moderators who are there voluntarily. Reddit doesn’t pay these people. Which is why they often use tools like Auto-Mod which is software used to automatically strip out the most egregious violations.

Yes, some mods are shitty people on a power trip, but they are still doing this effort, for free, on their own time. Reddit’s actually overhead is essentially only server costs, which I am sure are quite large, this is one of the most popular websites on the internet, but they aren’t paying for much else at the end of the day.

Reddit has money making mechanisms as well, advertising, they sell a premium subscription deal called Reddit Gold, etc.

This leads in a bit to what is probably the larger motivation for the API cost changes, to kill 3rd party applications, which often don’t show the advertisements.

The problem is, the cost proposed. There was an AMA with Spez who mentioned the API costs them around a dollar per user or something per month, but from what I gather, they want to charge devs roughly $20/user per month. Maybe it’s less, but it’s way more than $1 per user.

There would be a lot of better ways to handle this. Charge less per user for starters, let the 3rd party devs decide how to handle it.

Another soltution would be to work out the API so that ads are required to be shown, so 3rd party app devs have to put ads along.

My personal favorite is simply letting users subscribe and get an API key to use in 3rd party apps. If it costs $1 a month, let people pay $3/month (reasonable) and let them keep using their preferred app.

Why Not Use Official Channels?

Reddit is still up and going of course, you can visit Reddit.com and Reddit has an official app. So what’s the problem with just, using Reddit as intended? Well, they are kind of numerous honestly.

The ads are a problem. Like every website, and TV, and well, everything, Advertising on Reddit is a constant downward spiral to the lowest denominator of garbage ads. Dating Apps, Crypto Scams, Sketchy Bootleg T-Shirt sites, etc. Probably paying a penny for 10,000 impressions. There are also ads that look like regular posts for garbage constantly, which is really sketch.

The interface also sucks. I recently tried using the regular website, partially as an effort to just spend less time using the site in general, this was maybe a month before all this drama even started. The touch targets to do the most basic interactions are all weirdly small and unintuitive. I didn’t even figure out how to collapse threads on mobile until I had been using it for a few weeks, which is a super basic need to interact with the site.

It also has too many extraneous notifications. For example, Reddit has this chat feature they added, sometime. Many 3rd party apps don’t surface this feature at all, because many users, do not give a shit about Reddit Chat and it’s 100% just spam chats anyway. The main site also has all these weird crypto/blockchain things going on, like fancy avatar parts. You can upload anything you want as an avatar, I have no idea why you would want to pay for a hat for a Snoo (The Reddit Mascot).

One big one for me, it’s a pain in the ass to save things. The app I was using, Bacon Reader, makes it trivial to save any gif or image to my phone. Official channels block this. Reddit wants you to share the threat and link to share funny cat gif. I’m not exposing people to that crap. I can save the gif and send the file over through FB Messenger or Discord later.

So it’s Not Dead?

Reddit isn’t dead, it’s probably not even dying, at least not to the level of say, Twitter. But this really feels like a likely first step in what will likely be a downhill run to crap. There are a lot of other possible secondary things that can start happening without 3rd party apps, especially with the owners clearly stating they are profit motivated.

They might take away the ability to use your own avatar image, for example. They could start adding more and more shitty ads, to encourage buying Reddit Gold (Gold users don’t see ads). Subs will likely get worse without auto-moderator tools. In general, it means slightly less control for users, which makes the feed in general more susceptible to manipulation. There are plenty of 3rd party sites that monitor trends and activity across the site looking for things that are sus, that probably won’t work anymore.

The frustrating part is, there isn’t a real good alternative to this community yet. People keep pushing the Fediverse alternative Lemmy, but it’s in an even sadder state than mastodon was. As much as I like Mastodon, it’s still pretty jank compared to Twitter in a lot of ways. Discoverability is garbage for starters, due to the lack of a proper content based search.

Personally, I’d already been using RSS more again, which is good for finding interesting stories. In general, I’ll just slightly ramp up my use of other sites a bit more. I’m still trying to get the hang of Tumblr. There’s always Discord, but discord has it’s own issues. I’ve been trying to just, comment more, not just on personal blogs I follow, but on other smaller community based sites like Hacker News, Slashdot, etc.

Ultimately, things are probably better without Reddit.

Project – Record Shelf

Since I’ve actually taken an interest in vinyl records, One thing I really wanted to do was build a simple little record shelf. This would serve two purposes basically. One, it looks cool. Two, it gives me another way to decorate the basement a bit. The concrete block walls are a pain to work with, especially the outside wall where all my music stuff is. The temperature changes mean nothing sticks to it long term. In other areas I’ve hung frames from the rafters using small chains. For this space, I’ve got a nice shelf I can use and swap out what’s on display as I get more records.

It wasn’t an overly complicated project, but it took longer than planned since my wife had the garage full of garage sale stuff and I couldn’t really reach any tools. Also it’s been blazing hot out, and I don’t care to work outside in that much heat. On the problem of the heat, probably sometime int he fall, I’ll drag the shelf and the lower shelving out and stain and seal it. Neither plays very well with the heat either.

The shelf itself is a handful of 1×4 pine boards. It’s a bit more complicated than it might seem at first. For starters, I like the look of inset joints over just using metal L braces, so I went and inset and glued the shelves inside the sides. This was a bit tricky because I don’t actually own any bar clamps. I also added the little back catch pieces under each shelf, so the albums wouldn’t be resting on the wall itself. This was slightly complicated because there is a power conduit running down this wall i had to work around. The shelves themselves are notched around the power conduit as well. I also only have so many clamps large enough to glue these, so it took like a week of “clue one piece then come back.”

Each shelf also has an angled groove cut along the length so the albums sit slightly down in the shelf and are more secure. The whole thing is screwed to the rafter above for support. In fact the whole thing is much sturdier than I thought it would be. My main worry is that the albums would tumble off, damaging the records, but now that it’s up, I actually am not worried about that at all. Everything is very stable.

Also, my original plan was to stick the CD holder I had been using back on the lower shelf, in front of the new shelf. I immediately hated this look. But I also realized that there was a small gap near the bottom, so I added one more smaller shelf to put (most of) the CDs on. I really liked this end result. Plus the board I used here was a different type of wood that was just around, and it’s a much sturdier type of wood than the pine, so I didn’t end up needing to add a center leg like I had worried I might need to do.

I suppose it’s also worth noting the equipment itself. The entire set up is pretty minimal. Everything is centered around this small mixer and amp combination.

I originally bought the mixer for use at my PC, I wanted to be able to play games on one machine, and watch a video on another machine, and merge the audio out one headset. That didn’t really work out to be as useful as I had hoped, but instead I get to use the mixer for my music instead. The amp I bought to go with some nice JBL speakers I had, that needed 2 wire connections to work, also connected to the PC originally. Except I never ever use anything but a headset on my PC, so it was a waste.

Connected to the Mixer are the input options. They can be played all at once, since it’s a mixer not a switch, but I’m not sure why you would want to. There is a Raspberry Pi hidden under the little shelf that connect to my music library and can be controlled remotely via a webpage. I have this kind of mediocre CD player that I’ll probably replace one day with something better, but still compact. Even a portable CD player would probably work better. There is also an Amazon Echo connected, but since Amazon jacked up their music service, I don’t use it as much. I also have an aux cord hanging off for connecting to a phone.

Lastly is my record player, which I bought at a garage sale. It works pretty well for my needs though. It’s an Audiotechnica AT-LP60, nothing fancy.

Lastly I have this recently acquired audio switcher. Right now I just have the one set of speakers, but at the very least, it will be easy to add a second set outside so I can listen to music while out on the deck or porch under the deck out back. The output selector will make this much easier to accomplish and it’s something I’d thought about getting at some point before, then I came across one at an estate sale.

Oliver and Company Original Soundtrack

This is where I drop a slightly less than subtle reminder that technically these little music posts aren’t really reviews or recommendations and more just, what I like with a bit of my own “musical journey” sprinkled in.

The last bit is where today’s entry falls in.  The Oliver and Company soundtrack has a vaguely special place for me, not for being overly notable, or even that I enjoy it a lot.  It’s the first album I ever purchased, technically.  Released back in 1988, and probably purchased around that time.  I have vague memories of it, I bought (or maybe it was a birthday present or something) a portable cassette player, and of course, I needed some music to go with it.  I remember deciding on the Oliver and Company Soundtrack.  I will add, I know that I also had the TMNT Movie soundtrack very early, so it’s possible that it was purchased at the same time.  I want to say I was with my grandparents and after picking what I was spending my allowance on, they may have purchased the other to go with it.

I still have the cassette tape.  Though I don’t seem to have the TMNT one anymore.

I suppose it’s worth mentioning the movie a bit.  I have, almost zero memory of the movie itself.  It’s a Disney retelling of Charles Dickens’ novel Oliver Twist, only instead of people orphans, it’s about stray animals.  Oliver is a little kitten, his friend Dodger is a dog, of some kind, played by Billy Joel.  It almost feels like a bit of a prototype for “modern Disney” musically.  Yeah, even the older Disney movies had plenty of music, but it feels like this was the first time they tried to really push a Pop song for the soundtrack, with Why Should I Worry by Billy Joel.  The next animated film they did with The Little Mermaid was the one with the real hit music soundtrack though.  Like I said, it felt a bit like a prototype for this concept that would become kind of the cornerstone of Disney films afterwards.

Anyway it consists of 11 tracks, 6 of which I remember not really caring for because they were “boring music” (instrumental) tracks.  Basically, I’d always just listen to one side of this tape, then rewind it instead of flipping it over.  I probably didn’t even make it all the way through the first side though.  I don’t think I really cared a lot for the Bette Midler track, Perfect Isn’t Easy, and the follow up Good Company isn’t really a rocking pop hit either.

It almost feels like I didn’t really like this album at all, though I am sure I did, because listening to it again, before writing about it, I still remembered a lot of the lyrics, especially to Why Should I Worry, which is basically the “stand out hit” of the entire thing, and probably the movie.  I mean, the hired Billy Joel to voice a cartoon dog, and it feels like they did it to get him to provide this song for the soundtrack.  As of this writing, Billy Joel has 52 acting credits on IMDB, and Dodge from Oliver and Company, is the ONLY one where he isn’t credited as playing “Billy Joel”.

Anyway, the two non instrumental tracks I have not mentioned, One Upon a Time in New York City and Streets of Gold are also alright, with Huey Lewis doing the former and Ruth Pionter doing the latter.  Streets of Gold and Why Should I Worry are definitely the stand out tracks though on this soundtrack though.

Code Project: Fresh RSS to WordPress Digest V 2

A while back, I talked about a little simple project that I build that produces a daily RSS digest post on this blog. This of course broke when my RSS Reader died on me. I managed to get Fresh RSS up and running again in Docker, and I’ve been slowly recovering my feeds, which is incredibly slow and tedious to do because there are a shitload of feeds, and i essentially have to cut and paste each URL into FreshRSS, and select the category and half the time they don’t work, so I need to make a note of it for later checking and it’s just… slow.

But since it’s mostly working, I decided to reset up my RSS poster. I may look into setting up a Docker instance just for running Python automations, but for now, I put it on a different Pi I have floating around that plays music. The music part will be part of a different post, but for this purpose, it runs a script, once a day, that pulls a feed, formats it, and posts it. It isn’t high overhead.

While poking around on setting this up, I decided to get a bit more ambitious and found out that, basically every view has it’s own RSS feed. Previously, I was taking the feed from the Starred Articles. But it turns out that Tags each have their own feed. This allowed me to do something I wanted from the start here, which is create TWO feeds, for both of my blogs. So now, articles related to Technology, Politics, Food, and Music, get fed into Blogging Intensifies, and articles related to toys, movies, and video games, go into Lameazoid.

I’ve also filtered both of these out of the main page. I do share these little link digests for others, if they want to read them, but primarily, it’s a little record for myself, to know what I found interesting and was reading that day. This way if say, my Fresh RSS reader crashes, I still have all the old interesting links available.

The other thing I wanted to do was to use some sort of AI system to produce a summary of each article. Right now it just clips off the first 200 characters or so. At the end of the day, this is probably plenty. I’m not really trying to steal content, I just want to share links, but links are also useful with just a wee bit of context to them.

I mentioned before, making this work involved a bit to tweaking to the scrips I was using. First off is an auth.py file which has a structure like below, one dictionary for each blog, and then each dictionary gets put in a list. Adding additional blogs would be as simple as adding a new dictionary and then adding the entry to the list. I could have done this with a custom Class but this was simpler.

BLOG1 = {
    "blogtitle": "BLOG1NAME",
    "url": "FEEDURL1",
    "wp_user": "YOURUSERNAME",
    "wp_pass": "YOURPASSWORD",
    "wp_url": "BLOG1URL",
}

BLOG2 = {
    "blogtitle": "BLOG2NAME",
    "url": "FEEDURL2",
    "wp_user": "YOURUSERNAME",
    "wp_pass": "YOURPASSWORD",
    "wp_url": "BLOG2URL",
}

blogs = [BLOG1, BLOG2]

The script itself got a bit of modification as well, mostly, the addition of a loop to go through each blog in the list, then some variables changed to be Dictionary look ups instead of straight variables.

Also please excuse the inconsistency on the fstring use. I got errors at first so I started editing and removing the fstrings and then realized I just needed to be using Python3 instead of Python2.

from auth import *
import feedparser
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import NewPost
from wordpress_xmlrpc.methods import posts
import datetime
from io import StringIO
from html.parser import HTMLParser

cur_date = datetime.datetime.now().strftime(('%A %Y-%m-%d'))

### HTML Stripper from https://stackoverflow.com/questions/753052/strip-html-from-strings-in-python
class MLStripper(HTMLParser):
    def __init__(self):
        super().__init__()
        self.reset()
        self.strict = False
        self.convert_charrefs= True
        self.text = StringIO()
    def handle_data(self, d):
        self.text.write(d)
    def get_data(self):
        return self.text.getvalue()

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

# Get News Feed
def get_feed(feed_url):
    NewsFeed = feedparser.parse(feed_url)
    return NewsFeed

# Create the post text
def make_post(NewsFeed, cur_blog):
    # WordPress API Point
    build_url = f'https://{cur_blog["wp_url"]}/xmlrpc.php'
    #print(build_url)
    wp = Client(build_url, cur_blog["wp_user"], cur_blog["wp_pass"])

    # Create the Basic Post Info, Title, Tags, etc  This can be edited to customize the formatting if you know what you$    post = WordPressPost()
    post.title = f"{cur_date} - Link List"
    post.terms_names = {'category': ['Link List'], 'post_tag': ['links', 'FreshRSS']}
    post.content = f"<p>{cur_blog['blogtitle']} Link List for {cur_date}</p>"
    # Insert Each Feed item into the post with it's posted date, headline, and link to the item.  And a brief summary f$    for each in NewsFeed.entries:
        if len(strip_tags(each.summary)) > 100:
            post_summary = strip_tags(each.summary)[0:100]
        else:
            post_summary = strip_tags(each.summary)
        post.content += f'{each.published[5:-15].replace(" ", "-")} - <a href="{each.links[0].href}">{each.title}</a></$                        f'<p>Brief Summary: "{post_summary}"</p>'
        # print(each.summary_detail.value)
        #print(each)

    # Create the actual post.
    post.post_status = 'publish'
    #print(post.content)
    # For Troubleshooting and reworking, uncomment the above then comment out the below, this will print results instea$    post.id = wp.call(NewPost(post))

    try:
        if post.id:
            post.post_status = 'publish'
            call(posts.EditPost(post.id, post))
    except:
        pass
        #print("Error creating post.")

#Get the news feed
for each in blogs:
    newsfeed = get_feed(each["url"])
# If there are posts, make them.
    if len(newsfeed.entries) > 0:
        make_post(newsfeed, each)
        #print(NewsFeed.entries)

Re-mulching and other Activities Outside the House

I have been slacking on my posts, though technically still doing better than I had been. It’s a combination of being busy and just being generally meh overall. One think keeping me busy was re-mulching the flower beds around the house. Not just throwing down new mulch though, I mean raking up the old and putting down new weed barrier. This meant going around the existing plants and the little metal stakes to hold the weed barrier down were a pain because there is a ton of super packed rock in the area that makes them hard to insert into the ground.

In the case of the tree out back, it also meant digging up the ground around the tree to add a new flower bed space completely. We added a lot of new plants to the area as well, though most in pots for ease of use.

Then my wife put all her decor out again.

We also started working on the basic garden set up for the year. In the past we’ve had issues with trying to garden at this house because there is a lot of wildlife that comes around that eat or dig up everything. Right now it’s in buckets, though I plan to put legs on these wooden boxes we have to put the buckets into. Which is part of what the pile of wood behind the garden plants at the bottom is for. We also may use the stairs as a tiered herb garden. It’s all wood that was salvaged from my parent’s deck which they recently had replaced.

Anyway, here are some photos of the completed set up.

Here is a random bonus of the backyard from when I was mowing recently.