This is hard to write, or rather, it’s a hard decision to make. After investing many years on Leaf — a programming language, a major life project — I need to take […]
Over 20 years of programming. From video games to communications; science to finance; compilers to business processes. Too many languages to even track anymore.
Here's looking to another 20 years towards mastery of the craft.
My new computer has a larger screen than the last one. It’s great, except it no longer matches the typical 1920×1080 streaming dimensions. I can’t adjust those dimensions without suffering scaling issues […]
Our favourite hobbies, like baking cookies or painting pictures, take time. Let’s ask a question though, does it take longer to bake one cookie or paint one picture? It’s hard to answer. […]
The web has been part of my career since the beginning. I’ve created several sites, including apps and games, hell, I’ve even created web development tools, yet I have to admit I […]
Did you know somebody else could steal your domain name? Even if you’ve properly secured your site and gotten the right security certificates, it’s still possible some people get to the wrong […]
Variants are data types that can store different types of values in them, as opposed to one fixed type. In contrast to a generic object or an untyped variable, there is a […]
Let’s get into some technical details about how a layout engine works. We assume that we have a tree of elements that comprise the UI. Starting from the root node, we request […]
Images require various sizing modes to fit in a responsive layout. Here we’ll look at the relationship between the element and visual and the basic sizing options. I’ll also look at […]
In a distant memory I typed some text, pressed “Submit”, and had a blog post. Though simple, it lacked finesse; the articles lacked polish. With each article, I’d tweak my process, […]
A box model describes how to measure an element for layout. It defines what size is and how it relates to the content, margin and padding. It may seem trivial, but clear […]
A good UI design must accommodate the various device formats and resolutions that users have. Element placement cannot be absolute, but rather be constrained and expanded by the available space. Layouts […]
Layout determines how children are positioned and sized within their parent element. There are three approaches to placing child elements within a parent: Additive: The children combine to define the size […]
Devices have various physical resolutions and densities. One phone may be 10cm wide and have 800pixels across, while another may be 8cm wide and have 1200pixels across. A UI engine needs to […]
I chose Rust as the language for the Botters of the Galaxy contest. My code structure was suitable enough to get me to the final league, but I had a few […]