Leveraging Telegram for Encrypted Backups. Unlimited and Secure Cloud Storage Made Easy

Hey everyone! I wanted to share how I manage all my digital stuff. I have tons of things stored on my own server and I'm always making backups to make sure I don't lose anything important. But to feel even safer and add an extra layer of security, I also decided to occasionally upload an encrypted copy to Telegram. Plus, since Telegram offers unlimited storage, I thought, why not? This way, my data is well-protected and backed up in multiple places.

Clean Architecture applied to a TS project

Software engineering is an ever-evolving art, and although more than half a century has passed since its early steps, we continue to learn and refine our techniques. In this post, we will explore the fundamental principles of Clean Architecture, adapted for TypeScript, based on the teachings of the iconic book Clean Code by Robert C. Martin.

My Secret to a Perfect Plex Server

In recent years, we have witnessed an exponential growth in the number of streaming services available. At first glance, it seems like a dream come true: unlimited content at your fingertips. However, this abundance has brought an unexpected problem. Between the numerous subscriptions required to access everything we want to watch, the time wasted browsing through endless catalogs, and the amount of irrelevant content that ends up cluttering our options, streaming has long since ceased to be the ideal solution for me.

Open Source IP-based localisation

IP Geolocation plays a pivotal role in a broad range of applications. From tracking user locations in a mobile app to bolstering online security, geolocation accuracy is essential.

How to get bluetooth headphones to work with Ubuntu

Managing bluetooth sound devices in Ubuntu can sometimes be a bit cumbersome (in my case I have Sony WH1000MX4 in the office and Bose QuietComfort 45 at home), especially if you are not familiar with the terminal or the intricacies of Linux. However, with the right tools and knowledge, it becomes quite simple. In this article, we will explore how to configure and manage Bluetooth in Ubuntu using the built-in options as well as Blueman's Bluetooth Manager.

One Month Working with FreeBSD

As an avid tinkerer, I have been working with FreeBSD on my laptop for some time now. I simply wanted to experience what it was like to work with this system, and truth be told, after a month of use, I am quite pleased. I hardly miss anything from Linux, and I have a much faster system that perfectly meets my professional needs.

The role of a tester in an XP team

XP's greatest contributions have been those that provided solutions to the problems that were very troublesome in the "Waterfall" development approach. And it's possible that TFD/TDD is the most important practice in XP. The entire disciplined yet deliberate approach revolving around XP is based on ensuring quality through unit testing.

Clean Architecture in Python

In this article, I will try to explain from the perspective of the Python language how to apply some of the concepts presented by Robert C. Martin in his book, Clean Architecture. I will begin with a quote from the author that perfectly summarizes the goal of Clean Architecture:

Why is Extreme Programming "Extreme"?

Many people who are unfamiliar with XP may think that "Extreme Programming" involves programmers relentlessly coding without a break, following a methodology that aims to squeeze maximum productivity out of them. It's the dream of many old-school CEOs.

Developing a RESTful API with Spring Boot

In a REST API, calls are implemented as HTTP requests with an interface organized around resources. Each URL represents a resource. Therefore, it is essential to understand that REST APIs, like HTTP requests, are stateless. They are limited to receiving and responding to requests using JSON.

Asynchronous tasks and message queues with Django + Celery + RabbitMQ

Celery is an asynchronous task queue based on distributed message passing. Task queues are used as a strategy to distribute the workload among different microservices. In this tutorial, I will explain how to install and configure Celery + RabbitMQ to execute asynchronous tasks in a Django application.

Chatbot development with Javascript

Generally, many chatbots are built using Saas platforms. The reason is that their functionality is often very similar, and it can be complicated to implement them from scratch. Therefore, it seems reasonable that the distribution model of many chatbots is based on cloud-accessible services that only need to be parameterized.