Can robots have the same rights as humans?

My favorite writer Isaac Asimov was thinking about this question a long time ago and even created the three laws of robotics. At that time it was mostly science fiction, but now we face these issues in real life.

One part of my job is to support an admin interface for They have real human-moderators there, but recently we’ve had the task of adding auto-moderation for some special kinds of reviews.

As we log much of the moderators’ work, we face a question: how do we log the work of auto-moderator (robot)?

Should we pretend it is just another moderator and gave it the same rights? Or, should we make this auto-moderation procedure something completely different, being logged in a different place (i.e. different database fields, so we have humans in one field and robots in another)?

I wonder how other companies who have faced the same questions have solved this problem. Did they give more rights to robots?



How to make your chat-bot more human

I have an addiction to chat-bots, as you can see from this series of articles: one, two.

They can be really useful, but a bit boring. They usually have some pre-defined answers to share with you, depending on the situation. As an example, you could imagine an “umbrella-bot.” You might ask it, “Do I need an umbrella today?” and it will tell you yes or no, depending on the latest weather report.

But what if you want to add some individuality to your bot? Say you want to make it more human-like. You don’t want it to pass the Turing test necessarily, but you still want your users to feel something when they are interacting with your bot.

What does it actually mean to be “more human?”

Well, no offence, but it usually means “not optimal.” And you actually can get the list of “non-optimal” behavior here: List of cognitive biases

For some inspiration, you can create a “too optimistic” bot from our example with the umbrella-bot. Or maybe you’d rather try a cynical one? You choose!


4 reasons why your startup will fail

Today I had a really awkward discussion with a friend of mine, who asked me: “Okay, you are programmer, right? I need something like AirBnb—how much it might cost, and how long will take?”

You might be smiling right now. “Oh no, that’s definitely not my case. I know exactly how successful my startup will be.”

But in most cases you are not much better off than this friend. I was once in the same place. Continue reading

Precision and recall explained for 5-year old

In algorithms of binary classification I usually meet the terms “precision” and “recall.” I had a really hard time understanding their meaning on a basic level. In other words, how would I explain them to a five year-old? I finally found these definitions:

  1. Precision is how often our algorithm predicts class one and turns out to be right.
  2. Recall is how many objects of class one the algorithm has found at all.

Continue reading

Simplest Slack bot of yours

robot-character In our team at we had HipChat as a main way of communication before. But recently we’ve migrated to Slack and do not feel regret.

One thing I feel missing there was Standup Bot which we used to write and read each other standup messages during the day.

Functions of this standup bot were deadly simple: it can save your message and it can show you all messages from all team members for today.

So long story short, I decided to make the same bot for slack. I’ve seen some alternatives, but they seemed too complicated for such simple issue.

I made my own Ruby (Sinatra) + MongoDB – based bot.

How to make the simplest Slack bot?

  1. Choose outgoing webhooks instead of slask app. You can read about this hooks here:
  2. Create simple sinatra app with one route for POST.
  3. Point your webhook to that route you just created.
  4. Do whatever you want with data you have from Slack.
  5. Respond with simple JSON like {text: “your bot’s answer here”}
  6. PROFIT!

You can have a look to my slask bot here: