Categories
Ideas Research

Idea: Desugared Design Systems

I learned about the concept of desugaring from a lecture on programming languages, and I wonder how that would apply to design systems.

Categories
Web Development

An brief explanation of recursion for UI programmers

A high level overview of recursion with an analogy that will be familiar to front-end UI programmers.

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

Researching DSL stuff, ended up on context-free grammar

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

Categories
Greatest Hits Research Web Development

Is CSS Turing Complete?

I took a deep dive into this question, and the answer is: kinda, mostly, yeah! CSS + HTML + 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
Updates

Today I am 11110!

This is the first official installment of a new tradition, Binary Birthday, where I re-learn binary every year on my birthday and express my new age as 1s and 0s.

Categories
Ideas

Binary Birthday

First of all, it’s not my birthday. That said, I had a cool idea for a birthday tradition that I want to record lest I forget it!

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
Thoughts Updates

2017: Year in Review What’s up, 2018!

My 2017 Year In Review post ended up morphing into a longer article, so for now, here are some goals and plans for 2018. They can be boiled down to WordPress, Computer Science studies, and writing.

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 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.

Categories
Research

Day 3: Data Structures – Stacks & Queues

Stacks and queues are quite similar in that they are both linear and abstract data structures (meaning they describe the behavior of a different data structure, like a linked list or array). All the action in terms of adding and removing items happens at their ends, and their main difference is in which end that adding/removing happens.

Categories
Research

Day 2: Data Structures – Trees!

Day 2 of Data Structures…let’s talk about trees! What is a binary tree versus a binary search tree? Isn’t the DOM a tree? All of this and more!