AWS Lambda And Telegram Bots: A Perfect Match

Sometimes I want to create simple web applications, that automates one aspect of my life, try it and check if I will need it. For this purpose, I often use telegram bots. One-purpose project If you want to test an idea, you want to do it quickly and without extra layers of complexity. The closer implementation is to your pure, raw idea — the better. For simple projects, that are aimed to check if an idea even worth further development, you can safely ditch out staff like authorization, monitoring, or telemetry....

March 24, 2021 · 3 min

Code Presentation Tips

Sometimes, I need to show some code in my slides. It can be an internal presentation for 3-5 developers, an online meetup, or a live event. And many times, I have found myself trying to recover the lost code style configuration or to recreate a color palette from the previous presentation. I’ve decided to save all the templates and share them and some tips about code in slides with you. I hope it will help you to create code slides quicker and better....

August 11, 2020 · 4 min

How To Compare JSON Documents In Java

Lets think about a task, where we want to know the difference between 2 or more JSON documents. We may want to do it to display the history of edits of the document to review, validate, and have a chance to roll back these changes. For example, if we have two documents describing the movie Titanic: { "name": "Titanic", "length": 195, "genres": ["romance"], "cast": { "Jack": "James Cameron" } } and...

June 10, 2020 · 4 min

Cognitive Biases In Software Development

A couple of years ago, I started my first job as a programmer. On the first day, I entered the office, sat in my new chair, turned on the computer, checked out a project from the version control system and opened it in IDE. The first-ever piece of the code I saw looked like that: // TODO it works, but it's ugly, rewrite function init() { // some code } As you may already have guessed, this code remained untouched for a couple of years, until the project became obsolete and was archived and longer used....

March 18, 2020 · 13 min

Flyway Migrations in Multi-Module Maven Projects

Single migration set for multiple projects.

January 24, 2020 · 3 min

Kotlin Static Analysis Tools

Kotlin did an amazing job saving and including into its scope most of all valuable Java libraries, frameworks, and tools. But there is one type of tool that can’t be easily imported and reused — static code analyzers. Java developers have implemented a lot of tools for code analysis, therefore, if you have worked with Java you might be familiar with some of the following projects: PMD, checkstyle, findbugs, spotbugs, etc....

June 16, 2019 · 9 min

Number of Categories for K-Means: Elbow and Silhouette Methods

K-Means is a very common and powerful clusterization algorithm widely used in an unsupervised machine learning tasks for dividing data into categories. The only decision you have to make is the number of clusters you want your data to be divided into — k number. Sometimes you already know how many categories you need to have. It depends a lot on the type of your problem, your data, and the problems you are solving....

May 26, 2019 · 5 min

Categorizing Instagram Tags with K-Means

Choose a perfect tags for Instagram with machine learning.

March 24, 2019 · 10 min