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
?
Implementing simple strace
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.
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.
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.
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.