Voter bot - Important bug fix! Update immediately

in #bots9 years ago (edited)

Your Steem FOSSbot Voter bot has stopped working!

😣 😱 😵

All Steem FOSSbot Voter bots rely on the steem.js library to access the steem blockchain. Last night at about midnight UTC the access URL stopped working as the powers that be changed the address. This was brought to my attention by @shaunmza, thank you!

I don't have more details than that but would love to know more. If you are in the know, please get in touch. Ideally I would know about these kind of major changes ahead of time! 😳

As a result all Voter bots on v0.2.0 have stopped working.

However the kind folks who maintain the steem.js library pointed me in the direction of a fix which is now implemented and available on GitHub as v0.2.1

How to fix your bot

You will need to follow the Updates and version migration guide in the docs to apply this fix to your bot. It is a little involved, I wish it were more straightforward, but it definitely works, @shaunmza tested the procedure.


General update: what's going on with Voter bot?

I had intended on doing a less panicky update but what do they say about plans? God laughs right? 😅

Running the bot for free on Heroku

Some information about how long and how intensely you can run the bot for free on Heroku as come back since release. @k3t3r warned me that running the bot every 2 minutes will use up all the free allowance in less than a week. I also found out myself that running two instances of the bot every hour is still too many, I ran out after just over two weeks.

It's clear now that you can only run one instance every hour to fit in the month allowance, and I'll be updating the docs with this information.

As the bot improves this will likely get better so you may be able to run the bot more frequently or more than one bot and stay free. Some planned improvements that will directly affect this are:

  1. Speed up bot run processing by skipping irrelevant calculations, a big improvement, especially for simpler bots - marked high priority
  2. Replace steem.js with steemdata, this should make blockchain access much faster and so use less processing time
  3. Improve server start up time, currently some time is wasted on this and it can certainly be reduced. This will also make the front end come back from idle mode much snappier

Of course when you can run the bot locally, you can side step this issue entirely, though I still think running it on Heroku is very attractive and has its benefits.

Bug fixing phase 1 starting today

I had intended to start bug fixing today in any case. If you're interested you can follow the progress on the milestone for it or maintenance project.

As always, feel free to log bugs directly to GitHub or chat to me on the # bots channel on steemit.chat

Golos support sooner

Golos support will be started on sooner than I had thought, and I've been offered help by @hipster so this will happen! 😆 It occurred to me that this can be rolled into some other improvements relating to how the bot gets data from the blockchain so it doesn't require a fork. Really, it shouldn't care how it gets it, or from where in the case of Golos. All it needs are posts, some author information and a way to vote.

Additionally I'll be adding different language support for the front end. This can be done pretty easily with POEditor, though the refactoring (changing names of things in the code, moving stuff around, etc.) will take some time. These kinds of things are always improvements anyway so I'm looking forwards to it.

When the time comes I'll ask, but if you'd like to note your name down to translate to a particular language, please shout! 😋

Other interesting ideas

Independent metrics engine, and bot plugins

I thought that it might be interesting to separate the code out a little bit, as it was coded in a hurry and as a big lump really 😅 Having had time to think about it, I think that the metrics engine in the particular form I've made it could have other applications. So I plan to take it out and make it an independent module.

In this same spirit, some of the bot features would be better suited as plugins. It might seem over the top but I think there's a case for it. From the idea tracker:

The main requisite for something qualifying as a plugin is that it should run as a separate process. And it should also do the following:

  • run much less frequently that a bot run, perhaps once a day or week
  • can take a lot longer to process, for example look through hundreds or even thousands of posts and authors, performing much deeper analysis than is practical for a highly periodic bot run iteration

Anything else is either a client app using it's public API, or on the other extreme should actually be included in the main project.

Advanced AI with TensorFlow

TensorFlow is a pretty cool open source AI library developed by Google Brain Lab. I've laid out some ideas here, which I will reproduce in part:

TensorFlow is

An open-source software library for Machine Intelligence

TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.
This has lots of different applications and could fit in several existing projects / ideas, or be used for a new one. It would be great to see it used because it might also attract more people to think about ways to use AI on the blockchain.

Not only could it be used in the analysis and voting areas, but (though it would be super controversial) it could be used to create posts. Check out the Magenta project where they are applying TensorFlow to "makr music and art using machine learning": https://magenta.tensorflow.org/

And an example where they create a music duet from user piano note input https://github.com/googlecreativelab/aiexperiments-ai-duet

Thanks for reading, sorry about the outage!

😓 Sorry! You should find updating your bot with the fix very doable, remember to follow the instructions and back up both your algorithm and config vars. If you run into trouble, come to the # bot channel on steemit.chat

I hope you enjoyed the rest of the update here. I hope to release another beta version update with lots and lots of fixes in about 6 weeks.

🤓 🤝 👍

Sort:  

+5 for TensorFlow :-) and +5 for Golos support

By the way, just reading your blog and saw that you were asking about transactional activity information. I can't comment because it was posted 4 months ago so just a note here that steemdata.com is the way to go for this, check out the charts page. I hope to contribute to this too 🤓

Thanks! I found it yesterday. Very useful.

Ah I didn't know if you had a Steem account! Thanks, will add a mention to you to this now. Looking forward to getting this on Golos 😉

TensorFlow would be crazy, hopefully some other people want to get involved because it'd be a complicated undertaking. 🤗

Thanks so much for fixing it so quickly.

Also +1 for independent metrics engine and tensorflow integration.

Awesome. Best way to make the tensorflow idea to happen is to get involved! Join the Steemit FOSSbot org

No problem! 😁

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.083
BTC 60975.16
ETH 1569.36
USDT 1.00
SBD 0.47