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
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
The Pick 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!

Categories
Research

Day 1: Data Structures – Linked Lists

Linked lists are very similar to arrays in that they are a one-dimensional list of elements. Unlike arrays, however, in a linked list, you cannot just jump to index 4, you have to walk through the list, starting with the “head”, or the first element in the list, and work your way through to the fourth element. They are very useful for lists where you need to add/remove elements, but not so useful if you need to search elements.