21it

Hi-end quality software development.
Reliable. Functional. Pure.

About

I am pseudonymous software developer 21it. I do specialize in a software development with Haskell and Nix programming languages since 2019. I work with passion and create the best software using the best technologies. My areas of expertise and interest are Bitcoin, Lightning Network, sound money, trading, free markets, privacy and sovereignty. From technical side my primary values are compile-time guarantees of software correctness, safety and efficiency, which results in usage of advanced type systems, type-level programming and compile-time programming.

Skills

Haskell is my primary and the most favorte tool. I do have advanced level of Haskell including:

  • Tagless final encoding, monad transformers, lifting and unlifting for efficient effects management.
  • DataKinds for better phantom type parameters and Singletons for dependent type programming.
  • Lens for efficient data manipulation and parsing.
  • Units for dimential analysis.
  • Template Haskell and Quasiquotation for compile-time computations.
  • Presistent and Esqueleto typed SQL drivers.
  • Yesod enterprise web framework.

I am also qualified in other useful areas:

  • Nix - Strong medium level. Nix is the best tool for deterministic builds, tests and development environments.
  • PostgreSQL - Strong medium level. I am not database expert, but I am using everything what software developer should use to manipulate data storage. Queries, transactions, joins, locks.
  • Bitcoin and Lightning Network - Advanced level as application developer (not as protocol developer). Bitcoin is the greatest achievement of the new millennium, which brings financial freedom and sovereignty back to the people.
  • Dhall - Expert level. I am using Dhall configuration language as safe and typed alternative to YAML, JSON and XML.
  • Docker and Swarm - Advanced close to expert level. I am using Docker and Swarm for development, builds and production. Docker is a very handy tool for MacOS and Linux compatibility.
  • Linux - Strong medium level. Definitely not a Linux guru, but happily using it every day.

Code

Examples of my personal code:

  • src - The most recent monorepo mostly related to Bitcoin and trading. If you want relevant examples of my code, look at this repo.
  • rentier - My first Haskell project which I have used to learn Haskell. The booking system is based on the Yesod web framework. The code is a bit obsolete.
  • calculus - An unorthodox solution to the Elixir encapsulation problem. This is not Haskell code, but there is a good text which explains why I ended up switching to Haskell from other languages.

Examples of other code I am actively working on with other people:

  • btc-lsp - Bitcoin Lightning Service Provider.
  • lnd-client - Lightning Network Daemon (LND) client library for Haskell.

Blog

Contact