My ¢2

My name is Aleksei Matiushkin. I was born on October 0, 1973, in Saint-Petersburg, Russia. Nowadays I got used to a nickname “mudasobwa,” proudly granted by rwandian linguists:

Kinyarwanda, the language spoken by most Rwandans, has no words for many basic technical and computing terms, including the very word “computer,” explained Steve Murphy, organizer of the project. After debating whether to borrow English or French terms or come up with their own native word, the group settled on “mudasobwa,” which roughly translates to “something or someone that does not make mistakes.”

Se habla open source?

My OSS / CC BY-SA Contributions

In One Fell Swoop

I have an experience in C/C++ pointing, Ruby railing, SQL querying, Java threads woodoo magic (and woodoo pleasure since 6.0), Perl crypting, Javascript handling, AJAX inplacing, Python tabbing, LISP bracketing. I have been working with so many unix variants (HP-UX, Solaris, Minix, Linux) that I finally learned the proper plural form ‘unices’. I have managed the jabber client-server apps in Yandex, led warehouse management apps for US customers, developed the metamodelling tool in Berlin and created the medical apps in Saint-Petersburg.


  1. Go drunk solitary. In fine fettle call friends to drink.
  2. Flirt with everyone. Sleep alone.
  3. Know there is somebody around. Forget who.
  4. Do all things in time. Set the deadlines yourself.
  5. Once realized—do approx. Once approxed—forgive.
  6. Got things done?—Dismiss. Fail?—Dare.
  7. Accept the past. Fix a future.
  8. Don’t be afraid of a hate. Fear the indifference.
  9. Believe feelings. Trust in reason.
  10. Bear in mind: you are wiser, hence you are guilty.
  11. P.S.Don’t dodge to supplement.


  • I don’t dread to appear: smart, stupid, arrogant, humble, a womanizer, a misogynist, a chatterbox, a taciturn, a teetotaler, an alcoholic, a dictator, a democrat, reliable, unreliable, white, black and purple.
  • I am affraid to show myself: a bore.

sins (and coss)

  • indifference
  • partiality
  • intellectual laziness
  • envy

Below are the notes I do write when occasionally find smth interesting during hacking (and lamering.)


24 May 2024Make your library test-friendly
03 Mar 2024Finitomata FTW
20 May 2023Продолжая писать в то самое время, когда технологии поломали все социальные договоренности в сети
06 Mar 2023Finitomata ❤ Mox
17 Jan 2023Wash your dishes
01 Jan 2023Finitomata Marries Ecto
14 Aug 2022FSM Driven Development
07 Aug 2022Md. Another Word About Markdown
06 Aug 2022Md — еще раз о маркдауне
27 May 2022URL Shortener
21 May 2022Shining Access
02 May 2022Parser for Markdown Family
30 Apr 2022Finitomata :: First Class Documentation
02 Apr 2022Finitomata :: The Proper FSM for Elixir
12 Feb 2022Plugins in Elixir Applications
30 Jan 2022Help To Test Your Library
14 Oct 2021Yet Another Markup Parser
10 Aug 2021Why Am I Not To IDE
16 May 2021Do Not Doughnut Donates
30 Apr 2021Finite Automata with Tarearbol
28 Feb 2021Handling Async Responses with Tarearbol
18 Feb 2021Dynamic Nested Function Call
13 Feb 2021Conditional context for macros
12 Feb 2021Conditional guard for structs of an explicit type
12 Jan 2021Will No One Rid Me Of This Turbulent GUI
05 Dec 2020Reserved Backward Compatibility
04 Sep 2020O tempora, o mores!
04 Aug 2020Wolf, Goat, Cabbage… and Elixir
24 Jul 2020Generated Types II — Down the Rabbit Hole
15 Jul 2020Generated Types
06 Jul 2020Vela → Time Series Cache
30 May 2020Telemetría
08 May 2020Reverse Engineering for Poor
07 May 2020Cloister
22 Feb 2020WordCount in Elixir
07 Feb 2020Not God but Man Makes Pot and Pan
18 Jan 2020Strong Types Should Have Been Named Strong Hypes
17 Dec 2019Dialyzer specs: 2 in 1
06 Sep 2019Formulæ and Lazy Combinators
28 Aug 2019Standing on the Shoulders of Giants
28 Aug 2019Beware of Tests et Fudicia Ferentes
26 Aug 2019Scaffolds Backed Up By Behaviours
19 Aug 2019Use Github CI for Elixir Projects
25 Mar 2019GenServer At The Therapist's Appointment
21 Mar 2019Stop Abusing Nihil
01 Mar 2019Pattern Matching Empty MapSets
11 Feb 2019Elixir Structs on Steroids
19 Jan 2019Gospel of Barabbas or Concurrent Execution
31 Dec 2018Iteraptor → Unforeseen utilization
29 Dec 2018Idempotent Supervision Tree
28 Dec 2018Plug in JSON API Readonly Webserver
26 Dec 2018Elixir Compilation Hooks
25 Dec 2018Go Outta Here
12 Dec 2018Sigils To The Rescue
16 Nov 2018Iteraptable → Swiss Knife For Structs
05 Nov 2018¡AST FTW!
02 Nov 2018Smart Validation In Elixir With Exvalibur
30 Oct 2018Generated Module As A Guard
30 Oct 2018ActiveRecord Smell With Elixir/Ecto
27 Oct 2018Suggested New SPR Wording, or “We’re VMS and You’re Not.”
27 Oct 2018Better pry for Ruby REPL
24 Oct 2018Developer Is The Next Ideological Beggar Job
21 Oct 2018Raise For The Rescue
20 Oct 2018SeeAsVee Library For Handy CSV Processing
17 Oct 2018Ruby metaprogramming for beginners → Elixir-like specs
13 Oct 2018RFC HTTP API Feedback Proposal
11 Oct 2018Protocols in Ruby → Allow Implicit Inheritance
10 Oct 2018Adopting Property Testing in Elixir
13 Sep 2018Banned for not being flattering
10 Sep 2018Hype Demythified or Pizza With Pineapple Topping
27 Aug 2018Parent Of My Child Is Not Exactly Me
03 Aug 2018Tarearbol now allows subscriptions to task results
30 Jul 2018Envío as a reincarnation of GenEvent²
31 May 2018Ruby Challenges as QotD
29 May 2018These Weird Accents
21 May 2018To IF Or Not To IF—That’s The Conditional Statement
17 May 2018Interview on Senior Poet Position
06 Apr 2018Elixir Iteraptor :: Iterating Nested Terms Like I’m Five
29 Mar 2018Iteraptor :: Iterating Nested Terms Like I’m Five
16 Mar 2018Elixir Pipeline Operators
06 Mar 2018Beware of YAGNI
23 Feb 2018Pattern matching on dynamic struct types
22 Feb 2018Real applications of flip-flop in ruby
20 Feb 2018Why immutability rules
12 Jan 2018Pattern matching on binaries takes over Regex
08 Jan 2018Automate pattern matching for structs
03 Jan 2018Pattern matcher for Protocols
29 Dec 2017.iex.exs to the rescue
23 Nov 2017Idiomatic function memoization in Elixir
15 Nov 2017Clarity Over Verbosity Everywhere
13 Nov 2017Timeo Juniors et ideas ferentes
01 Sep 2017Unveil Erlang Code of Your Elixir Project
27 Jul 2017Workflow as FSM: lost transitions
20 Jun 2017StringNaming to call UTF8 by name
12 May 2017Define module in Elixir with initial binding
24 Apr 2017Use `credo` Linter in Git `pre-commit` Hook
28 Mar 2017`is_empty` Guard for Binaries in Elixir
08 Mar 2017Hack vs Kludge
17 Feb 2017Either Monad in Elixir
27 Dec 2016Iterating Tuples in Elixir
25 Dec 2016Queso al Romero
22 Dec 2016Open Graph Protocol …and Her Friends
21 Dec 2016Fixing Broken Lightbulbs in a Nutshell
19 Dec 2016Dry Behaviour aka Protocol Pattern in Ruby
13 Dec 2016Struct With Hash-like Default Proc
24 Nov 2016Progress Bar in Console for Rake Tasks
09 Sep 2016Use Hooks in Riak to Create Views
11 Aug 2016Howto Read Stack Overflow Comments
30 Jul 2016Thou shalt not make unto thee any graven image
27 Jun 2016Monkeypatch It!
22 Apr 2016StackOverflow Achievements
09 Mar 2016New Hash Syntax for the Rescue
19 Nov 2015Testing migrations
29 Oct 2015Recursion Without Explicit Method
14 Oct 2015Two ways to write ruby code
13 Oct 2015Quotation Marks in XXI Century
02 Sep 2015Pry :: breakpoint or ARGF?
29 Aug 2015CASE-WHEN :: another trick for N+1 problem
14 Apr 2015YAML Parser Tuning
11 Apr 2015Log With Pleasure
03 Mar 2015Don’t be a language slave
24 Jan 2014Using local sources in Gemfile
17 Dec 2013Ruby Memory Pitfalls
09 Dec 2013StackOverflow questions ⇒ Diverse Worlds
06 Nov 2013Command line application wrappers problem
04 Nov 2013Debug inplace
24 Oct 2013EMACS SHIT
05 Sep 2013Sequentional execution: example of Reactor pattern impl
15 Aug 2013Collage directory preview with RMagick
26 Apr 2013Developer Omniboxes for Chrome
06 Apr 2013ABC for Fluent Speakers (NM Level)
04 Apr 2013YADR for Dummies
06 Mar 2013Ruby 2.0 Refinements: Totally Useless Crap
03 Mar 2013Ruby Shorthand to Yield Within Blocks
26 Feb 2013Ruby Predefined Globals
21 Feb 2013Ruby Blocks: Do-end vs. Braces
11 Feb 2013Traceroute to Episode IV
11 Feb 2013Match or Not Die
11 Feb 2013Oll Korrect Cartoon
09 Feb 2013Delightful Logging
05 Feb 2013Make Hash Element Access Painless
04 Feb 2013Ruby Logger :: Temporary Enable Debug for One Class
03 Feb 2013Shorthands in Ruby Code Blocks
02 Feb 2013Multiple Match in Ruby
27 Jan 2013Internet Explorer vs Murder Rate
20 Jan 2013Zsh :: Weird Right Prompt
20 Jan 2013256 Color Term (Nightmare Level)
19 Jan 2013EventMachine :: Nested Calls