Mikail Khan
Blog Posts
All of my blog mosts, mostly about coding. In particular, many of my posts are about programming languages, gamedev, and functional programming, in Rust, Haskell, or Elixir.
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....