Fantasy meets reality
One of my favorite things to notice as a weirdo is when the good intentions of design slam into the hard reality of humans and the real world. It’s always interesting. Let’s start with …
On the Usability of Codecademy
Programming Zen is a blog about programming and emerging technologies, authored by Antonio Cangiano, a Software Development Manager and AI Evangelist at IBM.
The Myst Graph: A New Perspective on Myst
Upon reflection, Myst has long been more analogous to a graph than a traditional linear game, owing to the relative freedom it affords players. This is…
Okmain: How to pick an OK main colour of an image
You have an image but you want a colour
Gross Apple Marketing
I’m not sure what’s going on over in Cupertino for them to …
My Custom CSS Reset
I have a set of baseline CSS styles that come with me from project to project. In the past, I'd use a typical CSS reset, but times have changed, and I believe I have a better set of global styles!
Ligatures in programming fonts: hell no (2019)
Butterick’s Practical Typography
Is a movie prop the ultimate laptop bag?
A while back I attended a Cloudflare board meeting and carried my laptop in a brown paper bag from a grocery store. This elicited a few com...
GMail: designer arrogance and the cult of minimalism
It looks like Google has finally pulled the plug on the old GMail UI. There’s no more “revert to the old look temporarily” button, so I guess they’re finally forcing us lagg…
Triptych Proposals
These relatively small changes make HTML significantly more expressive, enabling far more web applications to be built with pure hypertext.
How My Images Are Dithered
Hello there! This is my personal website and it is allergic to SEO.
Noise in Creative Coding
Noise is an indispensable tool for creative coding. We use it to generate all kinds of organic effects like clouds, landscapes and contours. Or to move and distort objects with a more lifelike behaviour.
How to pick the least wrong colors
An algorithm for creating color palettes for data visualization
System Preferences Reimagined on macOS
After decades without a redesign, System Preferences on macOS gets a bold & beautiful new look.
GUIs are built at least 2.5 times
Or Why I Think Lean Software Development is Wrong
Why CSS should not be used for layout
Seeing as how the CSS wars seem to have flared up again, I thought I would weigh in. I have finally had a chance to really dive in to the details, and I have come to the following conclusion:
If you want to create a button from scratch, you must first create the universe
A concrete example of why using native HTML as much as possible is better than slapping ARIA on top of things.
3D-Knitting: The Ultimate Guide
3D-knitting makes a whole sweater in one piece on a four-bed machine: no seams, no cutting, and 99% of the material ends up in the finished garment.
Why Love Generative Art?
Over the last 50 years, our world has turned digital at breakneck speed. No art form has captured this transitional time period - our time period - better than generative art. Generative art takes full advantage of everything that computing has to offer, producing elegant and compelling artworks tha
Domain-Driven Design
A definition of DDD as a software design discipline
Design Books Every Hacker Should Read
Maybe you're an engineer, or maybe you work with a designer. Maybe you think that design is what you do in Photoshop. Or maybe you just care about design. If any of these are true, then there's a lot you can learn by reading and understanding these books. They'll help you understand how to
Triangle Grids
Grids are great for tactical gameplay of turn-based games because they allow discrete movement steps. That means that you can bind positioning to other resources such as movement points, action points, food, etc. Grids divide the infinite variety of movement options into a few specific ones, which can be considered…
Why do new cars look like wet putty?
"Wet Putty" whips are everywhere. What’s behind it? ... a BBSP investigation