I took a deep dive into this question, and the answer is: kinda, mostly, yeah! CSS + HTML (duh) + user input is Turing complete. Is it possible to remove the user input part? Then I can re-title this post to be more, ahem, declarative.
My talk and I are going on tour this summer! In other words, I submitted to a bunch of conferences and got into some of them. So stoked!
Cantaloupe, a.k.a. Deadline.com, has launched!!! This installment of the Chronicles discusses the project's huge success, the beginnings of a design system roadmap, and an introduction to Blueberry, the next code-named redesign for PMC.
This post is an account of pair programming with a fellow front-end developer to figure out a tricky responsive layout issue. Time for a CSS algorithm!
What do you call a design system before it has published modules but after it has started providing useful tools? Naming is hard.
It's a month later than I would have liked, but at long last an update on project Cantaloupe which is full steam ahead on development. What's it like to build and use a design system at the same time? In Part 1, we talk workflow, CSS utilities, and houses of cards.
The WordPress admin bar mixed with a fixed menu can be an annoyance. Here's an imperfect CSS algorithm that uses a couple of custom properties to help with that!
The methods for white-boarding algorithm questions serve us quite well when writing CSS algorithms. This post is a written portion of the second half of version 1 of the Algorithms of CSS.
I do not have the time or energy to write a full blog post, so instead I will share some interesting documentation about writing one-off patterns in our in-progress design system under a hash-tag I just came up with called #ShareYourDocs.
Wowww...so much cool stuff has happened in the past month! This installment of Designgineering Chronicles is full of milestones and an outline of a some real deal system architecture for a project underway, code-named Cantaloupe.
Another installment of Designgineering Chronicles jam packed with information! IndieWire launched with the pattern library, and we are in full pursuit of the holy grail: sharing markup between the library and production theme.
It's not necessarily bad to concatenate Sass selectors, but if you need to keep developers from doing it for the purposes of coding standards, this might be helpful!
Most of the websites I work on at work are not accessible and won't be any time soon. I had a bit of a realization this week about how to deal with that – accessibility doesn't have to be all or nothing. One step at a time.
.u-glue is a CSS utility class (or what I would call an algorithm) that provides an API for positioning an element absolutely over another element. We are using it at PMC, and it's proven a useful model!
Over the past year, I've been giving a talk called The Algorithms of CSS, originally created for CSSConf EU. This post covers the first part of my presentation, and breaks down how CSS fits into the categories of programming languages.
This is the second in a potentially ongoing series about my work at PMC as a Design Engineer. This month was full of lessons learned about working at a big company, building out a pattern library, and an exciting foray into Node.
I've been somewhat checked out of Twitter, etc. for the past week and returned to a fresh round of CSS drama. Here's my take: it's noise.
I've been researching design systems lately, and this is an evolving list of the resources I've found particularly resonant for my purposes. Have anything to add?
The code we humans write cannot be read by computers – it must be translated into machine code. Compilers and interpreters do that, and the browser is an interpreter!
I just love, love, love this talk from Felienne given earlier this year. It affirms so much of my own thinking, and I would say is a "must watch" for anyone involved in programming.
This is the first in a potentially long series about browser mechanics, in my own words. Read on to learn about one of the first steps a browser takes: decoding bytes to Unicode code points.
I highly suggest watching Brittany's full talk – she is a brilliant speaker, and her presentation is full of both fun facts about programming jargon and critical information about the impact of the terms we use.
Is CSS a programming language? What is a "CSS algorithm"? Read on to answer these questions, and to learn how CSS fits into the world of programming and computer science.
I'd seen dimmed properties before, and I always thought of them as the properties that are there by default, or ones I'm not supposed to manipulate. It turns out that's pretty much correct. The technical term for that is that dimmed properties are non-enumerable vs. enumerable properties.