Team lead and Infrastructure engineer @ Piano Inc.

Link → How to implement distributed tracing in Rust

This article provides a guide for implementing distributed tracing in Rust using actix, rabbitmq (lapin), tracing, and OpenTelemetry. The steps include adding necessary dependencies, initializing a tracing subscriber, adding tracing macros to desired functions, propagating context, and testing with Zipkin. The article provides code examples for adding a TracingLogger middleware, implementing an AMQP Injector and Extractor for context propagation, and setting up Zipkin tracing. The source code for a complete example is available in a GitHub repository. So, a very good and practical article in Rust library.

January 31, 2023 · 1 min · Maksim Oreshek

Link → Life is Short

One of most valuable articles for me by Paul Graham. This article explores the idea that life is short and how this realization can impact one's perspective and actions. The author reflects on his personal experiences with having children and the way it has made him more aware of the finite nature of time. He argue that recognizing the shortness of life can give more weight to the phrase ‘life is too short for x’ and encourage individuals to eliminate things that they find to be a waste of time, such as ‘bullshit’ tasks and activities. The article also suggests that it is important to actively seek out things that matter to the individual and to not be taken by surprise by the shortness of life. He encourages readers to be conscious of their priorities and to not wait to pursue their goals and cherish their relationships.

January 26, 2023 · 1 min · Maksim Oreshek

Link → Terminals and pseudoterminals by Viacheslav Biriukov

This article provides an in-depth explanation of the history and functionality of terminals in UNIX systems. It explains the different modes of terminal input, including canonical and noncanonical, and how they are represented by files in the /dev/ directory. The use of the tty command to determine the current terminal file in use is also covered. Additionally, the author dives into the concept of pseudoterminals, or /dev/pts, which are a feature in the Linux kernel that allows remote terminal access and the creation of terminal emulators. The article explains the two parts of a pseudoterminal, a ptmx and a pts, and how they are used to emulate user input and read program output. Overall, this article is an educational resource that provides a thoughtful approach to understanding terminals and pseudoterminals and their role in modern systems.

January 25, 2023 · 1 min · Maksim Oreshek

Link → Write Admin Tools From Day One

Can not recommend this article more! The article provides practical tips on how to manage the issue of spending more time maintaining a product than developing it. The main suggestion is to allocate time to develop administrative tools from the start, and to include supportability in the acceptance criteria or design documents. Additionally, it suggests providing non-engineering team members with useful tools such as system visibility, data modification and support actions. Furthermore, the author advises to capture an audit trail when exposing administrative tools. I think this advice can be “reused“ in a way to create an API for your application management platform. So you can provide (as a platform engineer) a consistent way of consuming application logs/deployment status/ etc. Instead of providing a bunch of different APIs like Kubernetes/Prometheus/GitLab CI.

January 22, 2023 · 1 min · Maksim Oreshek

Link → How to do less

The article suggests that the inability to prioritize effectively can be caused by a lack of clear priorities and an overabundance of work in progress (WIP). The author suggests that to escape this trap, you should lower expectations and make hard decisions about cutting WIP. He suggests focusing on two meta-priorities: keeping the lights on and making it cheaper and cutting the entire roadmap of new features down to one thing at a time. He also suggests designating a lead to actively seek out and reduce the highest on-call and support burdens on the team and measuring and reducing the highest maintenance costs. The idea is to focus on the most important tasks and minimize distractions to increase efficiency and productivity.

April 5, 2022 · 1 min · Maksim Oreshek

(chore) Initial commit

Hello and welcome to my sysadmin engineering blog! The main purpose of this blog is to share the resources and information that I’ve found to be most useful in my work as a devops/sysadmin engineer. This blog will also serve as a platform for me to improve my writing skills by regularly posting about the topics that I’m passionate about. You will find links to helpful pages, short summaries of key concepts, and technical articles on topics that include resource scheduling, Linux, Kubernetes, and monitoring of computer systems....

January 22, 2022 · 1 min · Maksim Oreshek