Honing my craft

Nikhil Thomas

I work and live in Brooklyn, NY building software.

All My Good Habits Are Bad

September 03, 2020

HOW fast is the hardware?!

Recurse Center Week 4 Day 1

August 31, 2020

🎵🎵 We're halfway there 🎵🎵

An Overview of Parsing Algorithms

August 26, 2020

Notes from Engineering a Compiler

NYU Bridge to Tandon - Week 7

August 20, 2020

C++ Pointers, dynamic arrays

Recurse Center Day 9

August 20, 2020

Week 2, Day 4 - A lighter day

Recurse Center Day 6

August 17, 2020

Week 2, Day 1 - Pratt Parsers and lots o' Rust

NYU Bridge to Tandon - Week 5 part 2

August 15, 2020

C++ Strings and Arrays; Probability, conditional probability, random variables, Bernoulli trials

Recurse Center Day 3

August 12, 2020

A whole lotta inspiration

Recurse Center Day 2

August 11, 2020

Making a little progress

Recurse Center Day 1

August 10, 2020

A life check in

NYU Bridge to Tandon - Week 5 part 2

August 05, 2020

Functions - analysis, runtime stack, abstractions; counting - combinatorics, permutations and combinations

CS-537 Introduction to Operating Systems - Lecture 2

August 03, 2020

Scheduling policies and strategies

NYU Bridge to Tandon - Week 5

August 02, 2020

Functions in discrete mathematics

NYU Bridge to Tandon - Week 4

July 27, 2020

C++ Control Flow - Iterative Statements (for loops, while loops)

NYU Bridge to Tandon - Week 3

July 20, 2020

C++ Branching and Control Flow, Discrete Math Sets (basics, operations, identities)

NYU Bridge to Tandon - Week 2

July 11, 2020

C++ data types and expressions, representation internally, mathematical proving techniques

NYU Bridge to Tandon - Week 1

July 06, 2020

Logic, Fundamentals of System Hardware, Positional Number Systems

CS-537 Introduction to Operating Systems - Lecture 1

June 29, 2020

Learning about CPU Virtualization

Critical Connections In A Network - Tarjan's Algorithm

May 16, 2020

Demystifying Leetcode #1192

What Functional Programming Taught Me About Object Oriented Programming

December 24, 2019

It's about clarity, not dogma

You Can Invent Javascript Scopes

November 11, 2019

A greatly simplified way to think about Javascript environments

Writing an Interpreter in OCaml - Lexical Analysis

August 19, 2019

Porting Thorsten Ball's Go interpreter

Tictactoe in Haskell

August 12, 2019

A little CLI game for fun

Types in ML-Inspired Languages

July 31, 2019

A tour of types in OCaml

Crafting Interpreters in OCaml - Starting the Parser

June 05, 2019

Building a recursive descent parser

Crafting Interpreters in OCaml - Building our Context-Free Grammar

May 28, 2019

Setting up our expressions

Crafting Interpreters in OCaml - Finishing the Lexer

May 22, 2019

Adding the rest of our operators

Crafting Interpreters in OCaml - Building a Lexer

May 16, 2019

Working through a scanner for Lox

Crafting Interpreters in OCaml - Lexing

May 15, 2019

Understanding lexical analysis

Crafting Interpreters in OCaml - Setting up your environment

May 15, 2019

Creating a workspace with all your requirements

Crafting Interpreters in OCaml - Preface

May 15, 2019

Resources and rules for the project