I am trying to understand how semiconductors work, and I have found that there is a whole lot of physics to learn. This article will be qualitative rather than quantitative.

A full frontend tool for converting images to rgb565

LLVM IR heavily relies on branching statements to represent control flow. However, for low-level languages targeting stack-based VMs, like WebAssembly, there are no direct instructions corresponding to branching. Therefore, we need an algorithm to convert the IR into acceptable code.

This article writes about what is functor, contravariant functor, bifunctor and profunctor.

This article writes about epis, monos, products, coproducts,etc.

mem2reg is one of the most important passes in LLVM. However, I didn't find a good tutorial for me. All the tutorials I found just throw me either a pile of code or several papers, without a more intuitive explanation. So I wrote this.

We all have learned elementary geometry in high school. Now let's try to prove some elementary geometry theories in Agda!

A brief introduction about decidability related things and their usage in Agda

Now I'm reading LOGIC IN COMPUTER SCIENCE to relearn (and dig deeper) the little bit of mathematical logic I've learnt at university...This article is about binary decision diagrams

Now I'm reading LOGIC IN COMPUTER SCIENCE to relearn (and dig deeper) the little bit of mathematical logic I've learnt at university...This article is about modal logic