A cozy little corner of the web.| slightknack.dev
A cozy little corner of the web.| slightknack.dev
N.B. I’m publishing some gems from writing I did over the course of two years while living in Brazil. Read the first post for more context.| Isaac Clayton
N.B. I’m publishing some gems from writing I did over the course of two years while living in Brazil. Read the first post for more context.| Isaac Clayton
An old note. I’m publishing a backlog of writing I’ve done. Read the first post for more context.| Isaac Clayton
I’m publishing a backlog of writing I’ve done. Read the first post for more context. On today’s menu: I have been thinking about CRDTs and synchronization for a few years (e.g. this old post about CRDTs). I’m a fan also of functional-relational programming (but think in its purest form it can look so much cooler than React). In the post that follows, I try to pull some of these disparate threads together. Enjoy!| Isaac Clayton
Context| Isaac Clayton
Managing side effects in pure functional programming| Isaac Clayton
DeepSeek-R1-Zero is cool. I wrote about reasoning models before o1, and I’m excited to the way this area of research has been cracked wide open, it seems. It’s also remarkably simple. I’m messing around with llama (running locally!), trying to see if I can at least partially reproduce the results (for fun). I figure I can collect reasoning chains and then adapt some existing RLHF code to fine-tune the model on successful chains vs. unsuccessful chains, maybe by prefixing the response wi...| Isaac Clayton
Stop showing me spinners, show me what’s loading.| Isaac Clayton
Merry Christmas!| Isaac Clayton
Note: This post was published before the release of o1 on 2024-9-12. People are quick to point out that Large Language Models (LLMs) tend to hallucinate facts and lack the ability to reason. LLMs are not grounded in reality. Hallucination is an architectural limitation due to how Transformers, as auto-regressive sequence predictors, are constructed.| Isaac Clayton
Or, a GhostCell Deep Dive. In this two-part series, we build GhostCell from first principles. In Part I we go over the underlying theory required to understand GhostCell. This post’s been sitting on my hard drive for about 9 months, so I’ve decided to bite the bullet, split what I’ve written in two, and hit publish on Part I. Hope you enjoy! Over the past month or so, something I’ve repeatedly run into is GhostCell, a technique that (ab)uses Rust’s lifetime system to detach ownershi...| Isaac Clayton
What really helped me begin to grok how Rust really worked was working towards building an understanding of how its compiler works.| Isaac Clayton
The Beginning of the End (of Today) As I write this today, it’s tomorrow. And… We’re talking about school? N.B. This post is not about school, bear with me. Throughout the school year, I’m usually pretty consistent with my sleep schedule. It’s like a rhythm, every hour of my day planned out. I wake up at 5:55 exactly, do some morning studying (it’s always so much easier to get stuff done in the morning), shower an hour later, breakfast, and I’m out the door. School’s rhythmic ...| Isaac Clayton
The joy of writing a new programming language is coming up with novel ideas and seeing if they stick.| Isaac Clayton
Preface Since September of last year, I’ve been chipping away at a long-form post on how to take good notes. This, sadly, is not that post—consider this post a teaser to tide you over until then. Today I finished my fourth book of sketchnotes. Each book has about 240 blank A5 pages, so I guess I’m fast-approaching the thousand-page mark. In celebration of filling yet another volume, I took a trip down memory lane and dug out Volumes 1-3. Taking the time to read through some of my older ...| Isaac Clayton
The other day, I was thinking about this question:| Isaac Clayton
Note: This is a quick piece that assumes some prior knowledge of PoW and backpressure. If you want to build up an intuition about backpressure before jumping in, you could read this piece or that one. If you’d like to learn more about PoW in the context of this article, check out this article (and that one as well).| Isaac Clayton
A Conflict-Free Replicated Datatype is a bit like a smoothie: the same ingredients will produce the same result, regardless of the order in which they are added. In the context of, say, text editing in a distributed context, merging two documents will always succeed in a deterministic manner. In other words, A CRDT is a bit like a git repository that never has merge conflicts. There are many different ways to approach the construction of CRDTs, each construction having its own strengths and w...| Isaac Clayton
Note| Isaac Clayton
isaac.sh · back to Gallery ·| Isaac Clayton
isaac.sh · back to Gallery ·| Isaac Clayton
Passerine is at an interesting point: we’ve established a few language features, and built this easily extensible functional core on which to base the rest of the language. We currently have two implementations of the language, one written in Rust, the other in D, and it’s imperative we set the course of the language before divergence occurs.| Isaac Clayton
This is a frozen mirror of notes from Cornell’s CS3110. Full disclosure, I did not write this.| Isaac Clayton
Hello!| Isaac Clayton
Primary Eye| Isaac Clayton
Note This piece is a work in progress. An interesting design space in the field of programming language design is that of memory management. In short, programs produce data while running. This in of itself isn’t much of a problem: in fact, it’s a good thing! If your programming language doesn’t allow for the production of any useful data, you might want to take a closer look at it… As time goes on, our program may no longer needs certain data. We could just leave this garbage floating...| Isaac Clayton
Note| Isaac Clayton
Mr. Covid 19| Isaac Clayton
From 10⁰ to 10⁻³| Isaac Clayton
Note This is an old post I wrote a while back. My opinions on the subject have changed slightly but this post has historical merit. The date is not entirely accurate, this article coincides with around the time I started seriously implementing Passerine. Abstract The average programmer just wants to write code [citation needed]. Language designers, on the other hand, want to write code, that is, programming languages. Ever since the first lisp interpreter sputtered through it’s first s-exp,...| Isaac Clayton
Note This post explores one design methodology for asynchronous schedulers in the context of a language that is maximally asynchronous, i.e. everything is executed asynchronously. This post is largely a reflection of trying to grapple with this blog post about Tokio’s scheduler| Isaac Clayton
A cozy little corner of the web.| slightknack.dev
A cozy little corner of the web.| slightknack.dev
A cozy little corner of the web.| slightknack.dev