FOSSbot Voter - Back to the Release! v0.2.8

in #steemdev7 years ago

Hi 😄 It's been a while.

Life has a way of pilling things up on you, amirite? 🙃 I've been too busy to do anything more than comment on some posts recently, but I've been chipping away at the latest list of fixes to the Steem FOSSbot Voter app and finally ready to bring forward the latest release.

v0.2.8

We're getting closer to v0.3 which will be the end of the first complete bug fixing project. Thanks to everyone who helped so far and especially those mentioned below. Please see the GitHub releases page for the latest.

To install this version for the first time please follow the regular installation instructions, or if you're upgrading you'll need to follow the migration instructions.

The voter-docker project, which will allow you to run Voter locally, is fully updated also. Just run the following command and it will update everything for you automatically:

sudo ./run.sh update

I have to mention @shaunmza again here and thank him for doing the leg work for this.

Don't forget that you can make sure the update worked by checking the web app dashboard displays the correct version.

scr_voter_0_2_8.png

As always the main GitHub repo for this project has everything. It is free forever!

What's new?

Several important bugs have been fixed in this release and a lot of testing has gone in to make sure it runs as intended. Not everything important has been dealt with yet but definitely the most pressing of the fixes are now in.

Here's a list of them, and you can always see the maintenance board on GitHub.

#27, Change square scaled vote limit scaling for score threshold to linear scaled

Helps to conserve voting power a bit better by reversing an experimental feature which mapped vote effect on the threshold to a square curve.

In layman's terms your votes should be spread better over time instead of running out quickly.

It's also worth noting however that if you vote a lot on your account manually as well as using the bot you should see the bot stop voting sooner as you are using your daily votes up already by manual voting. Remember that the voting limit is set in the Edit Config section under variable MAX_VOTES_IN_24_HOURS. This defaults to 50, and of course includes all votes in the last 24 hours, bot votes and manual votes.

#41, Speed up bot run processing by skipping irrelevant calculations

A good optimisation. There are many metrics to process, but often bots are not using all of them. Processing them is a waste of time if they are not used so we now do not process them unless used.

This fix was suggested by @beeskee, thank you.

#24, Fix and documentation for single metric algorithms

This was originally logged by @taoteh1221, but the main issue migrated to #74, see below.

I just added a clarification in the docs for single metric algorithms (just using followed authors for example).

#74, Improve thresholding formula: use variance to scale percentage increase

The algorithm metrics system was originally designed to be used with at least several metrics, so with some complexity. One of the examples (example 3 here) however showed a use case in which only one metric is used. Though I didn't intend it to be the main use case, it seems to be quite popular.

However this didn't really work as described in the example due to an oversight on my part! This was fixed after I finally understood where I'd gone wrong. You can read the ticket for more info, but it is fixed and now can be used without any difficulty.

Thanks again to @taoteh1221 and also @renzoarg for help with this one.

#63, Stats overview breaks eventually

This was a doozy as they say. This issue title describes only the symptom of a larger issue with database management. When the bot runs an iteration, it is supposed to clean out old keys and logs which are older than DAYS_KEEP_LOGS number of days. This was not happening correctly and causing some stats issues as the Redis database storage capacity limit of 25 Mb (for Heroku free accounts) was being reached.

Related to this is issue #70, #77 and #78 below

#70, Increase default MAX_POST_TO_READ value from 100 to 400

Due to the increased activity on Steem (which is fantastic!) it is now necessary to gather more posts when running the bot to make sure that as many recently posts as possible are considered when voting, hopefully all posts since the last run.

Note that this just sets the default. If you are migrating from an old version to v0.2.8, you will need to update this value yourself in the Edit Config section.

Also note that you can set MAX_POST_TO_READ to whatever value you like, but it will take longer to process a run if you set it higher.

#77, Reduce default DAYS_KEEP_LOGS to 2

After more thurough testing it became apparent that the default Heroku free Redis DB limit of 25 Mb runs out more quickly than I thought. It seems to only allow for 2 days of logs so I have changed the default for this.

Note that you can change this to whatever you want but I do not advise setting it higher than 2 unless you are running a larger DB capacity, either because you have a paid Heroku account or are running it somewhere else, perhaps locally using the Docker deployment

#78, Make FAQ and error message showing potential user problem balancing MAX_POST_TO_READ and MIN_POST_AGE_TO_CONSIDER

There is an config issue which can occur when there are not enough new posts read so that we read some which are above the MIN_POST_AGE_TO_CONSIDER minutes minimum. I won't go into it in detail, please read the ticket, but if you encounter this error it will show up in the logs, or you will find that your bot never votes.

Please consult the newly created FAQ doc for this.

#54, Clean up logging

If you are looking at the Node.js logs, you will have noticed that there are many many hundreds of lines of logs which make it extremely annoying to look for a problem if it occurs. Some of this was early debugging logging which I have removed.

Verbose logging is always useful if the error is a tricky one. However it's not generally useful if you just want to keep a record of what's happening under the hood. So there is a new environment variable which is now defined named VERBOSE_LOGGING. If this is set to the value true then you will see detailed logs. If it has any other value you will get production (i.e. brief) logs, more friendly to just keeping tabs on your server.

#69, No page served on manual bot run if error

A simple error in which a server error was shown if the bot encountered an error while running as prompted from the web app interface, using Run Bot. A nice descriptive error should be shown, and now is.

#62, Blacklist does not work

There was some indirect issue causing the blacklist feature to not work. However it was hard to reproduce or determine, and seems to now work so this is marked as fixed.

Thanks to @shaunmza for bringing it up.

#1, Will vote for own posts

The very first bug 😅 Now excludes own posts from consideration. This is mainly so as not to influence the scoring algorithm and thus the threshold. You are now invisible to your own bot.

Wait, why u no post personz?

Like I said, I've been busy and life things have prevented me from putting the time into writing posts.

As well as bug fixing Voter bot, I've been experimenting with setting up a witness and seed node 😊 I've registered the domain steemnode.world and I have a seed node up and running at http://seed.steemnode.world right now. I wouldn't recommend connecting to it just yet, I think I will wait to update to hard fork 19 before making my witness announcement, but it's looking good and I hope to announce soon.

Life is good though, and it's great to see more activity on Steem(it) as well as the price getting a significant bump in recent times. It's great to be involved in this community. 😁

If you like my work and especially if you use this bot, please consider reposting this post, up voting and if you're really brave why not join me and help create great free and open source software? Get in touch.

Oh, one last thing. @pfunk has made me the owner of the #bots channel on https://steemit.chat, with @shaunmza as moderator, mainly to keep it on topic and because we're such lurkers there 😅 Join us there to chat about bots, I'm on pretty regularly.

😎 👍

Sort:  

Trying it out right now. This, is by far, way more superior than the so called "steemvoter"

Wonderful, I'm excited to hear how you get on with it 😆

Awesome update, thank you! Heroku is set to automatically update, hopefully it goes through.

Looks like your fork is up to date so it should 🙂

Awesome stuff, it's been a busy weekend, but I hope to check out the updates soon!

Thanks @shaunmza !

I will check the updates when I have time.
awesome ty

Is this what people use in Steem chat and Discord? Sorry if I misunderstood!

No but thanks for asking. This is a voting bot designed to work directly on the Steem blockchain to vote for posts based on your preferences.

For more information you can check out the What is this? section of the readme.

I see. Sounds like AI! Hahaha.

Good post

You are proving to be successful! Thank you! Upvoted and following

awesome updates and share more and more . good @personz

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.033
BTC 62414.94
ETH 3019.57
USDT 1.00
SBD 3.58