DigitableCourses
Portal settings
Show me around

Local and account-free. No account, no sign-up: whatever you type into the tools stays in this browser's localStorage and never reaches a server.

Our own counter records page opens and finishes: the address leaves, plus one tenth-of-the-text figure. No cookies, no outside trackers, your IP is not stored, Do Not Track is honoured. How to check that

The portal's own repository is not published, so we do not call it open source. What is open:

The portal lives on donations, paid consultations and requested write-ups, and on Workbench sales.

There are no plans to make the courses paid.

Digitable video

Elixir, BEAM, and category theory – why does a programmer need all this math?

In this issue, I start with Elixir and BEAM and end with category theory, logic, sets, and Gödel. This is not an academic lecture or “popular mathematics,” but an attempt to …

About this video

In this episode, I start with Elixir and BEAM, and end with category theory, logic, sets, and Gödel.

This is not an academic lecture or a piece of “popular mathematics,” but an attempt to explain how all of this relates to real-world development.

Let’s analyze:

— why Elixir at all? — what is BEAM and OTP? — parallelism and event loop — functional vs. imperative — why is it useful for a programmer to understand logic? — set theory — category theory — morphisms and isomorphisms — and why do they bring up the example with Socrates?

The video is based on a stream — without cutting out any context and with explanations throughout.

For monad haters

I use relative monads – this is a broader concept than classical ones. https://arxiv.org/abs/1412.7148 If you are interested, you can find it by searching for: “monads need not be endofunctors”

If you: — want to gain a deeper understanding of programming — feel that “code is not everything” — or are simply curious about how everything is connected

Join the streams.

00:00:00 – What’s the deal with Elixir? 00:00:50 – Example of lambdas from ITMO 00:01:20 – A little bit about BEAM 00:01:36 – A little bit about Erlang 00:02:49 – A little bit about Haskell 00:03:25 – Elixir as TypeScript 00:04:17 – A little bit about imperative vs. functional programming 00:05:20 – About the syntax of Elixir 00:05:36 – A little bit about OTP, 99.9999999%, parallelism, and supervisors 00:12:10 – A little bit about parallelism, event loop, and multithreading 00:16:38 – About functional programming for JavaScript developers 00:17:23 – Again about logic and mathematics 00:20:45 – The principle of the excluded middle 00:23:23 – Again about set theory for programmers 00:23:50 – About “Russell’s teapot,” Bertrand Russell, the burden of proof, the paradox of set theory, and fallacies 00:27:32 – Briefly about Gödel and his incompleteness 00:28:25 – Briefly about the equality of complete and incomplete problems (p = np) and what it has to do with chess 00:29:20 – Category theory and levels of mathematics 00:31:38 – Definition of categories for a programmer 00:32:27 – What is set theory for a programmer? 00:34:29 – Why is the example with Socrates used at all? 00:35:17 – Briefly about the Universe set and its paradox 00:35:40 – Logical explanation of category theory and what it has to do with enthymeme 00:39:42 – A little bit about morphisms and isomorphisms 00:43:20 – A piece from the stream about openclaw 00:44:12 – Returning to composition 00:45:10 – And what is the meaning of Set, Grp, Vect, and others? 00:47:10 – And now we are returning to Elixir 00:47:20 – Syntax, modules, and atoms in Elixir 00:48:03 – Pattern matching in Elixir, for example, a = 10 and 10 = a, as well as the pipe operator and guards 00:55:52 – How long did it all take me, and why am I telling this at all? 00:57:20 – What remains in mathematics, or a map of mathematics, or a map of math in my opinion 01:03:35 – A little bit about DevBSD

Where can I be found?

▶ Twitch (streams): https://www.twitch.tv/marat_zimnurov

▶ Telegram — about programming and digests: https://t.me/digitable_blog

▶ A post about color theory that I mention in the video: https://t.me/digitable_blog/30

▶ Projects and services: https://digitable.ru/

▶ GitHub: https://github.com/the-homeless-god

All other contact details can be found in the channel header.

If you: — have long wanted to start programming — are already writing code, but feel like you “don’t know something” — want to understand what real development looks like without the gloss

Subscribe and join the streams.

You can support the channel by subscribing here and on Telegram https://t.me/digitable_blog or on Twitch via the donation button. If there is a need and demand, I will create a Boosty page in the future, but for now, I will take it easy.

• You can read about BEAM here – dev.to: BEAM: In Simple Terms https://dev.to/adamanq/beam-prostymi-slovami-3104 • General overview of Elixir – youtube: fireship: Elixir in 100 seconds (if needed, I can re-dub it and upload it to the channel as a translation) https://www.youtube.com/watch?v=R7t7zca8SyM • Good course about Elixir – youtube: playlist: Elixir - functional development https://www.youtube.com/playlist?list=PLWlFXymvoaJ_SWXOOm2JSqv86ZBkQ9-zo • Good video about group theory – youtube: Group Theory and the 196883-dimensional monster https://www.youtube.com/watch?v=aCvnUuYaRH8 • Good video about youtube: Levels of Mathematics. How does algebra and category theory arise? https://www.youtube.com/watch?v=7peIaVJj_pg • Good video about youtube: Category Language – in English – if needed, I can also translate it https://www.youtube.com/watch?v=5Ykrfqrxc8o

Watch on Rutube: https://rutube.ru/video/a7bca2492f879465fa7b8ce034dd6790/