Computer Science

  • “Set Membership” Symbol Redesign

    Set Theory In high school and college math courses, we learn about ways to express groups of items as subsets and supersets. This branch of mathematics is called set theory. The expression, X ∈ A means “Item X exists in set A”, or “X is an element of set A”. The symbol looks like…

  • The Future of Programming

    In 2019, during my research into finding or making a dream language, I gave a presentation and prepared a slideshow at the local .NET User Group about the history and future of programming. The presentation covers the early history of programming paradigms and the evolution of C-like languages from Label/Goto jump statements to the…

  • NixOS and the Linux distribution as a “channel”

    I am currently installing and setting up NixOS, a GNU-Linux distribution that lets you configure your system and install apps using a configuration file. The configuration/installation is written in a language of its own called Nix, which is a pure functional language (PFL). If this sounds scary, don’t worry. It’s basically a configuration file…

  • First thoughts on Angular and Typescript

    Today, I looked at a friend’s web project written in Angular 2. I had visited his web app the day before, and it was a relatively simple web app where a young child could do basic arithmetic problems. I opened his repository and immediately was greeted with the most obnoxious number of files possible.…

  • How to write recursive functions

    Recursion is a powerful concept in programming, and it can make code easy to read and understand. This tutorial takes a non-recursive function and re-writes it as a recursive function. These are written in C#, but are compatible with C++ and C. The only difference is that you would use cout << number for…

  • SQL Introduction and Setup

    This tutorial is intended for complete beginners, and should help you avoid the annoying pitfalls that most people encounter when trying to wrap their heads around the concepts of SQL and databases, as well as networking and deployment of a database on Windows and Linux. Introduction SQL is a language for accessing data in…