High-performance tidy trees visualization (2022)
This article introduces the algorithm to draw non-layered trees in linear time and re-layout partially when some nodes change in O(d) time, where d is the maximum depth of the changed node.
This article introduces the algorithm to draw non-layered trees in linear time and re-layout partially when some nodes change in O(d) time, where d is the maximum depth of the changed node.
Warning: This post might give vulnerable people new sensory sensitivities
Three years ago, I wrote a rant about the problems of our current UI paradigm. The complaints I voiced were hardly new or unique, neither was the text what I'd consider my best writing. It was, honestly, mostly a way to blow off steam. It seems I struck a nerve, though, because it's proven to be one of the most…
A habit for addressing two-way decisions.
Glimpse NX didn't have a great solution for missing menu, but this new 3D CAD application has
We first published our paper on relief shading using neural networks towards the start of October 2020, and now almost 2 years later, we are very excited to share Eduard .
CSS has been undergoing a quiet renaissance lately. Lots of big features which previously required an external tool to use, are now native parts of the language, and its growing more and more all the time…
Whenever I watch videos of how things are made, I marvel at the cleverness of the manufacturing machines. Retired engineer Duc Thang Nguyen has created over 170
My thesis on Amiga ASCII art translated to English.
Why generative AI tools can be so difficult to use and how we might improve them
A few interesting CSS findings from the threads app by Meta.
💦 A huge, step-by-step tutorial on how to create a beautiful stylized water shader in Unity using Shader Graph. This works with Unity's Universal Render Pipeline (URP). Includes colors, foam, refraction, reflections, caustics and Gerstner waves.
There’s a new “feature” in Sonoma, and no one besides Apple is quite sure what it is. Alerts for deprecated APIs are now appearing frequently. Sometimes when you launch an app, and sometimes at random. Here are three I got the other day after waking a MacBook from sleep: From a UI point-of-view, these alerts […]
Currently shipping in Chrome Canary, and thus soon to be in Blink-based browsers including Edge, is a relatively new CSS declaration which promises to virtually end typographic widows.
One of the most common accessibility issues I find (and fix) on client projects is dynamically disabled form buttons when a form is being submitted. Today I want to talk about why developers do it, why it’s bad, and what you can do instead. Let’s dig in! Why developers disable buttons Typically, I see the pattern used…
How poor design killed John Denver dead.
An inky color scheme for prose and code.
Making a gestural, itemized environment more fluid
From the highly eclectic blog of Mark Dominus
Rebuilding Vox News featured section with modern CSS.
Three years ago, while playing Deus Ex: Mankind Divided , I noticed a nice little trick and tweeted about it – today is the day when I finally release it as an article. Do you guess, what’s this about?
Notes about creative coding on the Web.
Mathematical insights create a more intuitive UI for Bézier curves.
The simple standalone C++ code that goes with this post and makes autostereograms, can be found at The 1990s! They felt like a wasteland of culture at the time, but looking back, there was hyper co…
Explore modern project architecture, theming, responsive layouts, and component design. Learn to improve code organization, dig into layout techniques, and review real-world, context-aware components that use cutting-edge CSS techniques.
After many years coding in different teams — big and small — I think I can now finally explain to myself why and when do we need, or not…
It is possible to embed a animation into a font, with only a small amount of hacking
Anders de Flon. Type design information compiled and maintained by Luc Devroye.
I’ll cut to the chase before I type too many more words: textarea { field-sizing: content; /* used to be `form-sizing` but changed to this */ } I came across it via an Amit Merchant blog post…