Welcome to Madin

Welcome #

This is the first post on this blog and hopefully the beginning of many more to come.

Madin (pronounced as one would say “Made In” but as a single word) is intended to be a place for me to share my thoughts and ideas, as well as a place to learn from others.

I have been writing software for well over a decade now. Specifically, I have worked on Enterprise applications, or what is sometimes known in the industry as Line of Business (LOB) application. The boring kind you know: a database, some business rules, a user interface and reporting (wait, that actually might be most of software)

I have used many languages and frameworks over the years. Started with Pascal back during school days and then on to Java and Python, then C# with .NET and lately I have been doing quite some TypeScript. I’ve also experimented with Go and Rust. Hell, I even learned CSS then built this very website with it.

I’ve always been more focused on the “backend” (database, business logic) side of things, and, have gained quite some experience along the way with things like Domain Driven Design (DDD) and Event Sourcing.

But, guess what, this blog is not about any of those things – at least not for now. It is more about exploring everything else outside those realms. Think compilers, games, algorithms, AI , and, perhaps even some Math and Physics.

Next up we will build a very small, actually super small, compiler for a super tiny language. But, we will do it end to end; We will have a type checker, basic integration with Visual Studio Code through a Language Server Protocol (LSP) and native code generation using LLVM.

So, stay tuned!