Sophronesis's stuff


I'm Oleksandr Buzynnyi, 27 yo deep learning engineer.

Here is my tech blog, contacts and maybe I'll add something else later.

Need to start from something :D

Some little facts:

Currently I have 5+ years of machine learning and deep learning commercial experience.

Curious about intelligence in all forms and flavours, contemporary polymatic research, complexity science, statistical physics, thermodynamics, informational theory in context of AI etc.


Telegram autoscheduling


Link to the project:

I've been posting on telegram for several years now and learned many things on how to do this more efficiently. One of the things I choose to optimize is scheduling. You can't just dump 100+ posts onto your subscribers, most will just feel overwhelmed from it, scroll past 3-5 memes and move to next channel. Not good.

The first thing to do was just using plain built-in scheduling. It's decent, but has some limits, such as:

  1. 100 scheduled messages limit (I know, Durov is squeezing extra storage, yeeaaah...)
  2. you need to manually put each message on timer with fixed time, you can't just dump everything you find interesting to a meme grinder, it takes lots of unnecessary manual labor to convert this turbulent flow to a laminar one.

So i came with the only possible conclusion - to make my own scheduling script. I started with Telethon, but quickly found out that you can't use copy_message() method there.

So let's define the basics. We have one channel that we will call "Queue" which we use to store scheduled edge memes for them to later be posted to another channel called "Target". The only thing this script does is it gets a random message from "Queue" using some given sampler function, sends it to "Target" and if it's successfully posted - deletes an original in "Queue". That's not rocket science, everything is plain and simple.

To use it you need to do several things:

  1. Get your "api_id" and "api_hash" from (Go to "API Development tools" -> "Create new application" -> "Create application" and fill the rest)
  2. Put your "api_id" and "api_hash" to config.json in your folder
  3. Put your username or some unique name to "username" to config.json
  4. Modify the createSchedule() function or create your own and replace the name in scheduleF = createSchedule with your own function. Just remember that the scheduling function should output a list of events (transferring of messages) for a current day. Each event is tuple with 3 elements:
    • time of day in "hours:minutes" to post on
    • source channel name (both plain channel name and @username are valid)
    • target channel name
  5. Run and enjoy the reduction in time needed to maintain your shitposting channel

Site launch


Finally after more than 5 years I'm ready to launch my personal site as I see fit. Currently it's just more like skeleton of what I want to do with it, but it's enough to be published. Main site design (all as one html page) was inspired by John doe's site. Static site is generated with minimal resources (pages/blog posts are stored as markdown files and compiled to html).

Currently it have (will be updated later):

And what I plan to do in some time:

Wildpipes project


Wildpipes is a project to ease transfer text or image data to or from different destination points with terminal.

Gitlab page

Project started as two simple bash aliases to get clipboard data or to send data to it. It's all implemented in pure bash so won't add extra time overhead, just pure syntactic sugar.

Input destinations:

Output destination:

Package comes in to different install variants:

Full conversions map: Conversions map can interactively verify which of packages are available.

RSS Feed
Telegram autoscheduling

Site launch

Wildpipes project