/ RectCut for dead simple UI layouts

UI layouts are always a hassle. Whatever layouting system I've made, I was never happy with it 100%. Some lacked simplicity, others lacked control. Recently I came back to a method I call RectCut. It is simple, and it gives you control for very complex layouts.

/ Optimizing Unicode data for fun and profit

Just the default ICU Unicode data library is some 20MB. We don't need most of those data and since we are anal about executable size and also about dependencies, I implemented all of

/ Optimizing Unicode's grapheme cluster break algorithm

With grapheme cluster break detection algorithm in Unicode you can detect whether a caret can be placed at given offset so that it won't break text structure. For example in a text editor

/ On word boundaries

We've just had an interesting discussion with rxi about how should ctrl+right(next-word-boundary) and ctrl+left (previous-word-boundary) work in code editors. Here are some musings from that discussion. What others doI'll be

/ Libraries in C: To prefix or not?

Most libraries prefix their symbols, some do not. Those who don't feel easier to use, but clashes can ruin your day. Here's my take on the solution.

/ Shifting planning gears

Runt is a massive exercise for me. It's a challenge to design all the little code pieces into one coherent orthogonal sculpture. I think I might have learned something new just now.

/ Focus in hybrid UI

In Runt's UI I had a quite specific requirements on how I needed the information about the focused view to be stored. The UI combines retained and immediate UI. That and some specific features of Runt make for quite specific requirements that I didn't anticipate at the beginning.

/ State of Runt 19/04

It seems that there's a very strong pattern in how I implement features for Runt. I seem to always start with the hardest parts, and leave the easy parts to the end. Over the time this resulted in quite a lot of code that is to be polished and integrated.

/ Zelda Documentary

Along obligatory history we all know, the documentary also contains interesting bits on how the data and tiles were optimized, and how the effects worked.

/ Introduction to Ri

Fed up with dynamic scripting languages, I decided to give a shot to statically-typed embeddable scripting language. I call it Ri.