Blog

How to Set Up PostgreSQL and Migrations in ASP.NET Web Forms

If, for archeological reasons, you need to work with ASP.NET Web Forms in 2025, this post is for you. You will find out how to set up Entity Framework 6 with PostgreSQL and how to create migrations. None of this has been tested in production.

Karol Moroz on

Secure cookie library in Go from scratch

In this post, I show you how to write a "secure cookie" library that will encrypt and authenticate payloads using the XChaCha20-Poly1305 AEAD, using the Go programming language.

Karol Moroz on

How to Use Phoenix 1.7 with Vite.js

How to set up a Phoenix 1.7 project with Vite.js in place of the default setup, or how to start a Phoenix project if you're not a Tailwind person.

Karol Moroz on

Go 入門:函數定義

函數與做蛋糕有什麼關係?如何定義一些簡單的函數?寫布林函數的時候要注意什麼?

Karol Moroz on

Go 入門:軟體包、宣告變數

此篇為編程的初學者介紹了 Go 程式語言的基本概念,初始化專案的方法,以及宣告變數的兩種語法。

Karol Moroz on

Using UUIDv6 or v7 as primary key in Ecto

UUIDs are a great choice for primary keys in PostgreSQL. However, not all UUIDs were created equal. This post discusses the pros and cons of different UUID formats and explains how to use newer formats in Ecto for Elixir.

Karol Moroz on

Absinthe Tips and Tricks: Generic Types

Over the years, I have developed a big collection of modules and macros that I copy and paste in all Elixir projects using Absinthe. It is high time I started sharing my experience with the community. Today I present a simple way to build “generic” types.

Karol Moroz on

PostgreSQL without Homebrew on macOS

In this post I describe why I decided not to use PostgreSQL from Homebrew and how you can use a Dockerized image instead.

Karol Moroz on

Learning iOS and Swift. Day 24: Building a carousel using UIKit interop

Following Apple's SwiftUI tutorial, I explore the interoperability techniques used to embed SwiftUI components inside UIKit Controllers, and vice versa. The tutorial teaches how to build a carousel view, which I find pretty cool. I also learned how to overlay text and a gradient over an image.

Karol Moroz on

Learning iOS and Swift. Day 22: Generic input field, toolbar

I spent the whole evening going through tutorials and working on my side project, Ngöndro Tracker, leaving little time to post updates to the blog. Among others, I implemented a text field component with label, a helper to initialize colors from CSS hex strings, and began work on the view to edit practice settings.

Karol Moroz on

Integrating Vite.js with Phoenix 1.6

How to leverage the speed of Vite.js to develop full stack application with Phoenix 1.6 and React, or what to do if you love Elixir, but you are also addicted to nice and shiny JS bundling tools.

Karol Moroz on

Refactoring common Ecto queries with macros

This article describes quick and easy techniques to refactor commonly used SQL fragments in `Ecto.Query`, including `COALESCE`, `SUM`, `CONCAT`, and `CAST` clauses.

Karol Moroz on