RSSAmplifier

Blog

David Koloski

Software Engineer, Game Designer, Web Developer

david.kolo.skiRSS feed ↗11 posts

Latest posts

How to sort your library in exactly 51,271 steps

Today's daily ruling on Judging FtW proposed an interesting question that lies at the intersection of mathematics, computer science, and tournament play policy. Take a look at these two cards: Omniscience allows you to cast Petals of Insight without paying its mana cost, and you can choose to return Petals to your hand after it resolves. It seems intuitive that by casting and re-casting…

A new impl Trait 4/4

The end This post is the culmination of the previous three posts, which discussed the nature of impl Trait , how to improve it , and prior work on impl Trait . This is my final recommendation on a path forward for impl Trait . Recap As a quick recap, I suggest introducing a new as impl Trait language feature that abstracts types in general. Augmented with either named unnameable types or expanded…

A new impl Trait 3/4

If you're not interested in reading about the prior work done on impl Trait , feel free to skip ahead to the fourth and final post . Prior work The concepts behind impl Trait have been around for a surprisingly long time. I've done my best to collect relevant RFCs, successful and failed, review them and compare them to my proposal. There are five RFCs that are directly relevant to impl…

A new impl Trait 2/4

Where we left off In part 1, we explored some possibilities for desugaring impl Trait in return position. In this post, I will explore these possibilities more fully and try to discover the logical implications of them. If you're feeling goal-oriented, you can skip to the next post where I discuss prior art and compare my proposal against it. Let's start far away from desugarings;…

A new impl Trait 1/4

Foreword This series is both an explanation and criticism of impl Trait . A large portion of this text is dedicated to explaining and understanding the properties of impl Trait , but it is not solely an explainer. If you're already familiar with the properties and mechanics of impl Trait , you can skip to the next post . If you want to read the past work done on impl Trait , you can skip to…

Anima Playground

let wasm_bindgen; (function() { const __exports = {}; let wasm; let WASM_VECTOR_LEN = 0; let cachegetUint8Memory0 = null; function getUint8Memory0() { if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) { cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); } return cachegetUint8Memory0; } let cachedTextEncoder = new TextEncoder('utf-8'); const…

Anima Puzzles

Controls Move : WASD/Arrow keys (desktop), swipe (mobile) Undo : Space (desktop), top left button Reset : Shift + Space (desktop), bottom left button Unfocus : Escape (desktop), click away, tap (mobile) let wasm_bindgen; (function() { const __exports = {}; let wasm; let WASM_VECTOR_LEN = 0; let cachegetUint8Memory0 = null; function getUint8Memory0() { if (cachegetUint8Memory0 === null ||…

Intelligent brute forcing

A little background Back in college, I played a lot of puzzle games . When I talk about these kinds of games, I'm going to be referring to a very specific subset of puzzle game. Some examples include: Stephen's Sausage Roll English Country Tune Sokobond I was also fortunate to take Data Structures at RPI, where at the time professor Cutler (hi Barb!) had a yearly…

rkyv is faster than {bincode, capnp, cbor, flatbuffers, postcard, prost, serde_json}

I've been working on rkyv , a zero-copy deserialization library, since November of 2020. rkyv is similar to Cap'n Proto and FlatBuffers , but has a handful of different design choices that make it stand out: No type restrictions: you can serialize anything with rkyv No external schemas: you can use the library with just #[derive] s Rust-only: it doesn't sacrifice simplicity and…

rkyv architecture and internals

What is rkyv? rkyv is a zero-copy deserialization framework written in rust. It's deeply integrated into the language and has a lot of neat features with the new v0.2.0 release. I originally released and posted about rkyv in the rust subreddit and got a lot of great feedback. Along with a couple highly desired features, many people asked for a blog post about the design and internals of rkyv.…

Static Site Generation with Zola

I'm a big fan of Rust And so are a lot of other people. There's a lot to love about the language, build system, and packages available. But what really brings it home is the community around the language and how they approach programming. In general, the Rust community seems to strike a good balance between purity and pragmatism. Maybe it's because of what the language was built to…