Categories
Research Thoughts Web Development

Twitter thread as blog post: Thoughts on how we write CSS

(Warning: thought-leadery post)

Problems with CSS are not a result of flaws in CSS. The problem is how we write CSS.

Categories
Research Thoughts

Does the "continuous" in Continuous Integration come from continuous mathematics?

A quick post about realizing an intersection between my existing knowledge and something new I am learning. Well, maybe they are both new things.

Categories
Research Thoughts

Twitter thread as blog post about "We Are Programmers"

I had a lot of impassioned thoughts while on a run today and decided to bang out this Twitter-thread-blog-post instead of letting them die a slow, silent death, alone in my brain, as they often do.

Categories
Now Research

Now: Researching DSL stuff, ended up on context-free grammar

Hastily written post with the results of some free-form Saturday language research.

Categories
Research Web Development

Is CSS Turing Complete?

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.

Categories
Research Web Development

CSS is a Declarative, Domain-Specific Programming Language

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.

Categories
Links Research Web Development

Resources about Front-end Architecture and Design Systems, etc.

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?

Categories
Research Web Development

Browser Mechanics In My Own Words, Part 2: The Browser is An Interpreter

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!

Categories
Research Web Development

Browser Mechanics In My Own Words, Part 1: Decode Bytes to Unicode Code Points

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.

Categories
Research Web Development

CSS Algorithms: Changelog and Sources

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.

Categories
Research Web Development

Enumerability in JavaScript, or “why some properties are dimmed in a console.log”

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.

Categories
Research Web Development

Notes from Kyle Simpson, My JavaScript Spirit Guide

A few key takeaways from the course “Deep JS Foundations” on Frontend Masters, taught by Kyle Simpson who I now declare my JavaScript Spirit Guide.

Categories
Research

Day 6: Algorithms – Sorting Algorithms in JavaScript

Algorithms have got a bad, scary, rap. And you know what? It’s for good reason – understanding an algorithm is pretty doable, but implementing an algorithm in code of your own? It’s hard. I went through writing some common sorting algorithms in JavaScript with lots of help from the Internet. Take a read!

Categories
Research

Day 5: Algorithms – Logarithms, Big-O, & Binary Search

If I told my 16-year-old, art student self I’d be writing a blog post about logarithms, I wouldn’t have believed it. I’ve tried hard to avoid math for much of my life, yet here I am, not only learning about it but enjoying it! This post is an outline of what logarithms are and how they tie into computer science by way of Big O notation and binary search.

Categories
Research

Day 4: Data Structures – I Made a Hash Table

Apart from hashtags, my association with hashes is encrypting passwords in a database. That association is correct in terms of what a hash is, but there are also hash tables, hash functions, hash maps, and oh my gosh, more hash things for sure. Let’s focus on a hash function and a hash table and building a rudimentary one in JavaScript.