Mikail Khan
Blog Posts
Blog mosts, mostly about coding. Some of them are pretty old.
VSAs are acyclic e-graphs rooted at a single e-class
2024-05-30
e-graphs, VSAs
This was a microblog post at first, but I'm crossposting it for visibil...
Commit Overflow
2023-01-01
For the past 10 days, I and the rest of Purdue Hackers have run Commit Overflow, a challenge in w...
ChatGPT understands Operational Semantics
2022-12-04
programming-languages, machine-learning
After reading this post about [building a virtual machine inside ChatGPT](https://www.engraved.blog/building-a-virtual-machine-insi...
A Custom Static Site Generator with Elixir and Plug
2022-05-25
elixir
Most of the websites I build are simple, static, multi-page informational websites. I don't want to have to host a full backend, an...
Programming Languages I've Written
2022-05-20
programming-languages
Slang
I wrote my first programming language in March 2020. It was the second semester of my ...
A New Site Again
2022-05-19
blog
Seems like Hugo didn't last long. I didn't have any problems with it, but I wanted to write a blog engine with an Elixir static sit...
Moved to Hugo
2021-12-18
blog
I've moved the site to Hugo since I wanted to switch from GitHub pages to hosting it on [https://blog.mikail-khan.com](https://blog...
Representing Data Structures with First Class Functions
2021-10-11
functional-programming, data-structures
I was talking to my roommate about how all data structures can be emulated through function compositions the other day so I thought...
Writing a JSON Interpreter
2021-08-09
programming-languages
A few days ago, I wrote Javascripth, a lispy scripting language that uses JSON as its con...
Writing a Simple API Wrapper in Elixir using GenServer
2021-06-13
elixir
Recently I've been writing an wrapper for the TD Ameritrade API. I've been learning Elixir as an alternative to Python recently, an...
Backfire G2
2021-06-01
misc
My Backfire G2 arrived today. I've been longboarding since quarantine started and inline skating since before then, but this is my ...
Modeling ASTs in Different Languages
2021-05-10
programming-languages, data-structures
Abstract Syntax Trees (ASTs) are an interesting data structure because their representation varies widely across type systems. Whil...
Writing a Tiny Stack VM in Rust
2021-04-06
rust, programming-languages
A few days ago I wrote a super simple postfix expression evaluator to demonstrate how stacks could be used to a friend. Afterwards,...
Using Const Generics to Model an Electronics Graph
2021-03-28
rust, gamedev, data-structures
A few days ago, I started working on a digital electronics/logic simulator along the lines of <https://github.com/SebLague/Digital-...
REPL
2021-03-08
cool-code-snippets, programming-languages
This one is really simple. Most people are familiar with REPLs for Python, JavaScript, or even repl.it but the term comes from Lisp...
Java Hello World
2021-02-22
cool-code-snippets, java
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
I'm...
Expression Evaluator
2021-02-22
cool-code-snippets, scala, programming-languages
I've been working with compilers and interpreters a lot recently, and I think people usually overstate the difficulty, so I wanted ...
Infinite Fibonacci List with Haskell ZipWith
2021-02-16
cool-code-snippets, haskell, functional-programming
For my first post in the cool-code-snippets series I'll write about one of my favorite pieces of code:
fibs = 1 : 1 : zipWi...
I Accidentally Wrote a Lua Game Engine
2021-01-04
lua, rust, gamedev
Lately I’ve been working on SIMple Physics, a set of educational physics simulators meant to help teach and learn physics intuitive...
From Go to Haskell + Svelte
2020-10-30
web, go, haskell
This post was originally written for https://levelup.gitconnected.com/from-go-to-haskell-svelte-1ad5ff4a0520, and I lazily copy p...
What Makes a Programming Language too Complicated?
2020-08-04
programming-languages
One of the most important aspects of a programming language is its complexity. Languages that are too simple are often thought of a...
Using Lua as a Serialization Format
2020-06-16
lua, gamedev
This is somewhat of a followup to my post on Lua integration from a fe...
Lua Integration
2020-06-12
lua, gamedev
I'm writing an educational physics thing which is basically just a physics sandbox that ca...
Leetcode
2020-06-01
I've written a number of reasonably sized projects, so I think I understand the basics of architecting a program. Figuring out how...
CSS Frameworks
2020-05-25
web
I remember the first time I used Bootstrap. It was during the summer between 8th and 9th grade; I had a simple website that looked ...
Pong tutorial with GGEZ Part 3
2020-05-21
rust, tutorial, gamedev
This is a continuation of Pong tutorial with ggez and [Pong tu...
Pong tutorial with GGEZ Part 2
2020-05-20
rust, tutorial, gamedev
This is a continuation of Pong tutorial with ggez.
At the end...
Pong tutorial with GGEZ Part 1
2020-05-19
rust, tutorial, gamedev
I saw a post on reddit asking for a simple game dev tutorial with Rust. Generally people encourage using ECS with any Rust game, so...
ssshmup
2020-05-18
rust, gamedev
A few weeks ago I wrote a super small shoot 'em up. I started because some friends of mine were making a similar shoot 'em up in Un...
Pitfalls writing a Go server for AWS EC2
2020-05-16
web, go
I've recently been writing a Go server for my my website at mikail-khan.com. I've never used Go, and I'v...
Go
2020-05-15
web, go
I decided to buy mikail-khan.com a few days ago. I didn't really have anything in mind for it, but I tho...
Jekyll
2020-05-13
blog
I’ve decided to move everything to jekyll and maybe start writing stuff. I made a simple script to insta start a new post because...
Tetrs
2020-05-13
rust, gamedev
I wrote tetrs (https://github.com/mkhan45/tetrs) over the summer after playing Tetris with some friends on <https://jstris.jezeve...
Gravity Sim Code
2019-05-21
rust
This is a more in depth overview of how my gravity simulator works. You should read my previous post if you h...
Gravity Sim
2019-05-20
rust
I've been working on a gravity simulator in Rust for a while using a game engine called ggez. You can find it here. https://github....