Implementing simple strace

Did you ever have a chance to use strace? It's a really powerful tool, I use it pretty often. It allows spying on the running software which is very useful when you don't have access to the source code and want to understand, at least on a high level, what is happening. strace show you the system calls of a software. What is a system call and how to harness the magic of strace?

Read more  ↩︎

Chester

Long ago I created a tool called cargo-blinc. It's a cargo subcommand that uses a USB LED light to show the result of running a command defined in a config file. The main purpose was to display live test results while working with code. You can read more details here.

It has some drawbacks and I decided that I'll redesign it. Recently, I open-sourced the initial version of chester.

Read more  ↩︎

Rapid prototyping in Rust

On my business PC I'm using KeyboardCleanTool every time I need to clean the keyboard. It's a simple tool which allows to click the button to disable the keyboard, clean everything and click the button again to enable it.

I was looking for something similar for my personal PC (I'm using Linux), but didn't find anything.

In this blog post I'll describe quick and dirty prototyping process of such tool using Rust.

Read more  ↩︎

Why I prefer to work in the terminal

From the beginning of my Software Engineer career I'm working with git directly in the terminal — I'm not using any GUI wrappers. If some GUI app have a CLI, I prefer to use it instead. In this blog I'll describe why I prefer to live in the terminal.

Read more  ↩︎

Optimize Binary for Size

I'm working on very small (less than 1k LoC, including tests) command line application. I'm satisfied with implemented feature set, and I'm preparing to ship it to potential users.

As an exercise, I wanted to play with binary optimization techniques in Rust. As a result I was able to go from huge 75 MB binary in debug mode, to 3.9 MB after all optimizations without changing single line of rust code.

Read more  ↩︎

cargo-blinc — instant feedback about your test results via LED

I implemented cargo subcommand, which allows running set of commands and notify about the results of those commands via USB LED notification light — blink(1). I published the tool today. The code is here.

Read more  ↩︎