Victor Farazdagi

Victor Farazdagi

Shallow musings on software engineering

07 Apr 2024

Typestate pattern in Rust

The typestate pattern is a powerful tool for enforcing the correctness of an object state and the validity of its state transitions. It allows to control the initial state of an object, its input and output types, shared data across states, and the methods available in each state. All these invariants are enforced by the type system, at compile time.
01 Jul 2020

SoK: Attestation Aggregation Algorithms

In order to increase profitability, attestations must be aggregated in a way to cover as many individual attestors as possible. Let’s explore the ways to do such an aggregation.
15 Dec 2018

Practice Problem: Sparse Subgraph

Yet another NP-Completeness practice problem. This time from Graph Theory.
14 Dec 2018

Practice Problem: Almost-SAT

If you are reviewing Theory of Computation, here is a nice and simple example of NP-Completeness proof.
18 Sep 2016

Using SSH private keys securely when building Docker images

It is quite common situation when you are building Docker images: some secret value/file is needed (temporary, for the duration of the build), and you are puzzled how to pass it w/o over-exposing, and make it accessible down the road, when the image becomes publicly available.