A Pool Cleaner Bot…. for our code?

There is a lot of talk of bots these days. The ones I tend to enjoy are the ones that do a lot of things for me, and I often don’t interact with them.

When I dream about the type of bots that I want to see, they normally aren’t of the conversational variety. They are more like a Roomba, or one of those cool pool cleaning bots. You set them off and they clean up for you.

When you combine bots with machine learning, things can get really interesting and I can’t see what happens.

One of the bots that is high on my list is one that fixes my typoz, grammar, and generally takes my writing and takes it from meh to yeah!

The bot (or bots, really) that I want to see unleashed are coding bots. You wake up in the morning and a kinda one has done a pull request updating you to a new version of a library, including all of your tests and making sure coverage and performance are AOK. This way it is easier for you to keep your project up to date, as you make the small tweaks to get from 1.2.3 to 1.2.4 vs. waiting for the 1.2.3 to 2.4, which makes you scream and rewrite the darn thing from scratch on a different platform.

A security minded bot is looking out for you in that regard. Tools such as snyk can let you know about certain vulnerabilities, and can even already walk you through a fix, and in the future they will get more advanced.

You can have the bots compete…. “Bot1 and Bot2…. make this code run faster!”. Before you know it your code won’t be readable so you will need the “make it readable too, and have it code like I would code it” bots.

With GitHub and the like, the PR system is perfect for this, added to the fact that we are getting much better at putting continuous integration tests in place that tell you much about the side effects of a PR.

For open source, you can have outside people run bots. For non open source, it would be nice to tie into a /robots.txt type system to be able to ping the owner?

Leave a comment

Your email address will not be published. Required fields are marked *