Good evening, how are you doing? My name's Isaac Clayton, and I'm a Software Architect currently working in the fields of Reinforcement Learning, Programming Language Design, and Graphics Programming.
I've always wanted to write a website for myself, and things recently fell in place for that to become a possibility. This website is versioned, content-addressed, and lightning quick - the back-end is written in Rust; pages are served through Cloudflare's edge network via WASM Workers. You can read more about the design and implementation of this website on the About this Website page, or you can take a look at the source on Github.
It's important to note that this website is still very much a living work-in-progress, and there are bound to be significant changes and overhauls, as well as missing features and rough edges. I hope that version controlling each page will minimize the potential damage these large changes may bring, but if anything does break, please don't hesitate to contact me.
About my Handle,
Most people are confused at best of the choice of username I choose to go by. "Light snack?" they question, "what kind of a username is that?" I've gone by other online pseudonyms in the past, though I've had a hard time keeping a coherent repository of which accounts are for what. I decided to start anew, and after some deliberation, I settled for
@slightknack for two primary reasons:
- It's fairly hard to forget.
- It's very unique.
However, I'd prefer it if you'd just call me Isaac 😊.
I'd love to chat with you about any topic du-jour; just shoot an email to
hello at this domain. I'll try to answer promptly, but I am pretty busy and might not see your message right away.
Past Work and Projects
I do quite a lot of work on large-scale projects which I don't feel comfortable disclosing here. However, I do have a few hobby projects I've been working on up on my GitHub. Here's a brief overview:
Passerine is a small extensible programming language designed for concise expression with little code. After I finish the bulk of this website, I plan to return to it and release version 1.0.0 before the end of the summer.
Keikan (警官) is an elegant rendering engine written in Rust. It supports ray-marching and path-tracing.
donut.cported to Rust.
I've been programming professionally for the better part of a decade. Language design has always been a very fascinating for me, and as such, I've become quite the PL polyglot; I've picked up a couple dozen languages in my time and have even hacked on a few of my own. Programmatic expression transcends the medium through which it is expressed; give me any new language and I'll usually pick it up within the hour.
... and the fields of Unsupervised/Reinforcement Learning specifically have really caught my attention. Developing safe AGI is one of the greatest challenges we'll have to face in the coming decades. I've written a few RL agents based on the principles of the Predictive-consistency model of intelligence which rapidly learn to express intelligent cooperative behavior with other agents.
... was one of my first interests as I first got into programming through game development. I find it surprisingly recherché that the beauty of the visual world around us can be expressed through a few algorithms, and emulated in a couple hundred lines of code.
Programming Language Design, Theory, and Implementation
... is arguably one of the oldest fields of Computer Science. Like a few others, I first got into Language Design by reading and working through SICP as a kid. I like to think that PL is an open field, in the sense that the perfect language has not been designed, and there is still much to discover. I've worked on languages with automatic parallelism through dataflow-analysis, compile-time garbage collection, and more. I think that we're close to creating production-grade languages with compile-time automatic garbage collection, which I find very exciting.