This post describes my progress after Programming Diary #29. During the fortnight between posts, I published an alpha release of the Steem Curation Extension and also worked with @cmp2020 to facilitate his collaboration on the tool.
Beyond that, I began work to let browser operators follow social media tags in the Steem Conversation Accelerator (SCA) and I also began some exploratory efforts towards measurement of paid vs. organic voting.
Read on for more about these activities and for some additional reflections about the interplay between the BTC halving cycle and Steem's upcoming double-halving phase.
Here's what I anticipated for "next steps" in Programming Diary #29:
For this next interval, my main goal is to issue a first release in github using the semantic versioning label. I'll be testing today and tomorrow, and maybe I'll do that on Monday. The AIs said that I should also add the version in the extension's manifest.json file, but I'm not actually going to do that. I like having the release date in that file. Finally, I'll start with version 0.1.0, not 1.0.0 as Claude suggested. I don't feel like this should be considered a "stable" version yet (if ever).
Beyond that, I'm not sure. I'd like to integrate the network follower score into the browser extension to complement the "value per feed" metric, but I'm torn about how to move forward on that. I think that's also going to take longer than two weeks.
Maybe I'll let the first release "burn in" for a couple of weeks and shift my attention back to the Steem Conversation Accelerator (SCA) or the wordsearch for a while. I might also look at tag-following in one or both of those extensions. There's a lot that I want to accomplish, but after the unexpectedly quick progress of the last couple weeks, I also feel sort-of aimless at the moment.
Accordingly, I published release v0.3.0 alpha of the Steem Curation Extension. Moving forward, I'll try to establish some semblance of a release model for that tool. I guess it will stay in "alpha" or "beta" until such time as I eventually figure out how to get it into the Google Chrome store, at which time it will switch to "stable".
As to progress during this interval, to be honest, the aimlessness continues. To use a consulting cliché, it feels like the "low-hanging fruit" has been picked, and the next problems are somewhat daunting. However, I forced myself to pick a direction and start moving, so I will have some words to write about the Steem Curation Extension, the Steem Conversation Accelerator (SCA), and the general problem of measuring the difference between organic and paid voting.
Personally, I actually made no progress on the Steem Curation Extension. However, @cmp2020 took an interest in it, and started working on his own branch. I'll take the risk of feeding my ego by paraphrasing a spontaneous statement of his, not for self-promotion, but as organic feedback for other developers.
Up until now, @cmp2020 knew that I was working on the curation extension, but with his school and work schedule, he hadn't paid much attention to what it does. However, when he decided to start contributing I showed him how to clone and branch the github repo and he learned a little more about what the extension does. When he did, he made a comment that was something like this,
Steem would have succeeded by now if we'd had development like this all along.
We talked some more about it, and I think what he meant is that this is a tool that's trying to enhance the ecosystem as a social experience, rather than as a cryptocurrency farm. Historically, many of our developers have come from the blockchain/cryptocurrency space, so those aspects of the ecosystem have received much more attention than the "attention economy" portion of the ecosystem - even before HF23.
Obviously, it's not that I'm any kind of great programmer, quite the opposite. What (I think) got his attention was that it's a focus on the end social-user as a stakeholder. I don't want to put words in his mouth, though, so maybe he'll find time to elaborate.
Anyway, I'll let him write about the changes that he's working on in the browser extension when he finds time, but I have stayed hands-off in order to avoid merge conflicts while he's working on his enhancements.
While he was digging into the Steem Curation Extension, I shifted my attention back to the SCA. During this interval, I've been working on adding a capability to follow tags. So far, I've accomplished the following:
Here's what the updated form looks like:
Tag list down | Tag list up |
---|---|
Here are some of the things that are still on the to-do list:
Unless I've overlooked a relevant call from SDS or the Steem API, this actually seems to be a fairly challenging task. I didn't find an easy way to identify all recent posts and replies for a given tag, so it seems that I need to check tags on every comment. Worse: on the replies, I also need to go back to the root post in order to find the relevant tags.
So, there's some progress there, but there's a lot left to do. I think I'll be lucky if I can publish a working branch before the end of the year.
To be clear, I am not against paid voting services, per se. I am simply opposed to the overvaluation of content (and undervaluation, too). So my activities in this arena are meant to inform, not to stigmatize. Further, the numbers presented here are preliminary and may be incorrect.
One of the challenges that I've thought was important for a while is the need to distinguish between organic votes and paid votes, and to measure the usage of vote buying services within the ecosystem. Obviously, no number will ever be perfect, but I think we can come up with estimates that can be useful. Having established a first pass at a paid bot list in the Steem Curation Extension, I was able to start experimenting with measurement. A first try was here. At first blush, it looks like maybe the paid voting services own less than 5% of all SP, but they control more than 37% after factoring in delegations. (subject to the stated caveats... these numbers may not be reliable. This is just a first pass.)
Some years ago, I started a daily download of users who delegated to paid voting services, but I never actually made use of that download. In the last two weeks, I updated that download so that it contains the same list as in the Steem Curation Extension and I also updated the autovoter so that it won't automatically vote for anyone who delegates to a paid voting service.
I also implemented a script to count daily posts and unique authors. I compared this information against the paid vote delegators, and found that roughly 600 of 2000 daily unique authors are posted by voting service delegators. In case you're interested, I'm not doing anything with this information yet, but here's a summary from yesterday:
Post count by depth:
Depth 12: 1
Depth 11: 1
Depth 10: 2
Depth 0: 2205
Depth 1: 3783
Depth 2: 1040
Depth 3: 99
Depth 4: 22
Depth 5: 9
Depth 6: 4
Depth 7: 3
Depth 8: 3
Depth 9: 2
Total: 7174
Total unique authors: 1971
Of course, beyond delegation services, there are other ways that votes can be paid for. They can be paid with STEEM/SBD transfers, transfers of external currencies/cryptocurrencies, and I even found at least one service where Steem votes are being rewarded in exchange for burning an external cryptocurrency.
We can automatically identify a large portion of it by looking at SP delegations, but even if we managed to identify that perfectly, other forms of vote buying would be more challenging to identify.
I have thought before about the possibility of using something modeled after the fraud department in traditional finance that would maintain white lists and black lists. Another possible solution is modeled after quorum sensing in bacteria, but it would require a much higher number of minnows and dolphins than we see today or else backing from one or more top-tier stakeholders. And of course, funding is a perpetual challenge for either approach.
One last topic before I move on, as posted in The future of programming languages is English, I have begun playing with the free version of ChatGPT-EasyCode in my vscode IDE. This feels like a big improvement over using AI assistants by copy/paste between windows.
Previously, I also experimented with Replit, but that felt like a force-fit for browser extensions, so I abandoned it pretty quickly.
There are basically no changes in my long-term plans. Three browser extensions plus my collection of scripts, spreadsheets, PowerBI visualizations, and so on are all more than enough to keep this spare-time hobbyist busy for the foreseeable future.
Short term, I expect to continue working on the tag-following capability in the SCA for (at least) the next one or two intervals.
I can already see that time is tight, so progress during the coming interval may be slow.
Also, Developer Delegation Day is coming up on Thursday. I actually have a pretty full schedule that day, so I might enter my delegations on Wednesday. If you want to say "Thank you" to the developers who create the free Steem-related tools that you use, a 5 SP delegation on the 5th of each month is a simple way that you can do it.
Yesterday, I posted about Steem's Two Halvings that will happen between 2026 and 2037. Beyond what I wrote yesterday, it's interesting to think about how this fits into the current BTC halving cycle.
In the past, the 4-year BTC cycle has led to increases in the price of STEEM during the following year - in the current case, 2025. So, if history repeats, then Steem will be entering its own 11 year double-halving phase in the year following the BTC bull-run boost. I'm definitely interested to see how the interplay between these two macro-events (along with potential BTC bull-boosts in 2029, 2033, and 2037, all within Steem's double-halving phase).
And of course, if the price of STEEM rises far enough above the haircut threshold, it's conceivable that there might even be close to 3 halvings. Two is a minimum. I don't know what the future brings, but my guess is that it will be somewhat different from what we've seen in the past.
Also, with the current price of STEEM at $0.268, if it doesn't fall back below $0.261 then we should see SBDs start paying out with posts within the next half-day or so. With the 2025 and 2026 dynamics in play, could this be STEEM's last time below the haircut threshold? Probably not, I guess, but maybe not impossible?
This post reviewed recent activity in the Open Source Steem browser extensions that I have launched as well as some efforts towards measuring the levels of organic vs. paid voting. Long and short term plans are simply to continue efforts on these tools. And, of course, as with any Open Source initiative - I invite participation from others.
In addition to those topics, this entry also followed up on yesterday's post with some additional thoughts about the future interplay of BTC and STEEM halvings.
Finally, I invite everyone to join participation in the Developer Delegation Day for December. The idea is to give a 5 SP delegation on the 5th of each month as a way of saying thank you to the developers who create free tools for use in the Steem ecosystem.
Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.