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. […]
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.
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 […]
I made it to the top Legendary League in a bot programming contest. This is the first such competition I’ve done, with a language, Rust, which I barely know, and all while […]
Elements have either a natural size, a dependent size, or combination of the two. The size of an element influences its placement. The user and creator of a UI layout system must […]