three cool guys

Step-by-step guide on how I created and deployed my Ghost.io-based personal blog with Dokku PaaS (free & open-source Heroku alternative). Now you can do it too! Deploy production-ready & scalable blogs on any server.

Read this article on my personal blog which was deployed using this tutorial https://okhlopkov.com/deploy-ghost-blog-with-dokku/.

Ghost.io is a modern open-source blog builder that looks and feels like Medium and also has powerful SEO tools built-in. Dokku is an open-source PaaS that can drastically speed up your deployment for staging and production.

Step 1: Rent a server

I prefer using DigitalOcean because it is really easy to create, monitor, and scale your droplets…


How to adapt to the new Instagram algorithm?

Yes, I just screenshotted the Notes app to get the cover.

Instagram growth is progressively turning into a more complex topic, as Instagram’s algorithm becomes more and more strict and limiting when it comes to organic reach, which isn’t being well received by creators and business accounts.

From mid-2019 to 2020, there have been several changes in the algorithm: For example, Instagram learns to detect all open source automation bots (for those bots that Instagram can not detect — it just shut down their public repositories, R.I.P. Instabot.py and Instagram-PHP). …


How to create a csv file in memory (without saving the data on disk) and send it via Telegram bot with Python. How to send a file with Telegram bot without saving it on disk.

Problem

Imagine that you need to create an automatic report in CSV format. Imagine that you are a backend developer that doesn’t have frontend skills but still you want to code the report autogeneration. Imagine that you have some tabular data that your teammates (non-coders) want to export from your service or just database.

My solution

Create a Telegram Messenger bot that will generate CSV files with the…


How to create radio like lofi hip hop radio — beats to relax/study to or Russian underground radio by Post Market 1919? I’ve created a bunch of these and I’ll tell you how. Warning: a lot of geek stuff will be here.

TL;DR

  1. Rent a 24/7 server with a stable internet
  2. Use Azuracast to create an audio stream
  3. Upload mp3/wav files (mind the license)
  4. Use FFmpeg to create a video stream from .mp4 / .gif, merge it with an audio stream with ‘current track’ title and send it to YouTube

Need more details and a step-by-step guide? Let’s go!

1. Find a stable server

Of course…


Motivation

I’ve launched a lot of indie projects and I always struggle with several things. One of them was DevOps: I am a perfectionist with a good sense of shitcode and crutches. I used to have a lot of bash scripts that helped me with deploying all my stuff — I hate this approach because It looks very manual for me. I wanted to automate everything. And I was incredibly happy when I discovered Heroku — it outsourced all DevOps tasks including auto-deploy-after-you-pushed-code-to-GitHub-master-branch. It was amazing.

When the projects became popular and the size of the free tier appeared to be…


How to transfer a Telegram bot in 2020.

Motivation

I have the bot that we’ve been developing with my friend last year. Since I decided to continue its development by myself with further paid acquisition and (I hope) monetization, I really want to have full control of the bot in BotFather. So I decided to look for a solution: How can I transfer the bot ownership to my account?

Solution

There is no official Telegram service that can change the Telegram bot owner right now, but according to the official Bot Support (see screenshot) this feature might be implemented in the future.

The only way to transfer the bot ownership…


I’ve spent a huge amount of time compiling all articles about Django Admin actions creation. Most of them were from 2010–2012 which made me really sad. Finally, I figured out everything I need and not I want to share “the right answers”. Enjoy.

My goal was to create a native way to launch tasks for my Django projects because built-in Django web Admin panel allows non-programmers to dive into my projects really quickly. And this is the coolest thing — not all people like to code even if they can, they like to push buttons without opening the shell. Django…


In this story, I’ll tell you how I figured out how to deploy serverless python telegram bot on Zeit.co (now.sh). This tutorial will be also helpful if you write on Javascript or other programming languages.

Motivation

I don’t like the examples from python-telegram-bot GitHub, I just think they are not scalable. I really wanted to separate “frontend” (Telegram bot interface) and “backend” (all logic, database handling, background tasks). In that case, you can develop these two parts separately, host them on different servers… or serverless?

Some of my friends use Heroku to host their bot’s frontend and that is great solution…


with Travis-CI and some magic

Hi there! If you need to run some crontab tasks every day, week or month, there is a way how you can do it without a server!

Well, technically you can’t run any script without a server because you need a machine where your task code will be executed. But who said that this should be your own server?

Travis-CI is a great free tool to run something based your open-source code. Who said that it should be the tests or deployment scripts? Let’s just run something we really need to be executed periodically. …


Hi! If you want to mass watch Instagram stories for free, the tool called Instabot can help you with it!

Instabot is a free python library that can help you to automate any Instagram activity for free.

Below you can find the step-by-step solution on how you can launch free Instagram stories mass viewer on your laptop or a server. The proposed script will grab your likers, watch their stories, then grab their likers and watch the next batch of stories and repeat this indefinitely. But you can change it for your needs since Instabot python library is very flexible.

Install All Requirements

Daniil Okhlopkov

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store