Skip to content

Instantly share code, notes, and snippets.

View mosure's full-sized avatar
👾

Mitchell Mosure mosure

👾
View GitHub Profile
@mosure
mosure / ramdisk.md
Last active February 19, 2026 20:49

ramdisk is a scaling primitive for local agent orchestration

local development used to be human-paced: one developer, one editor, occasional builds and tests. consumer ssd endurance assumptions were built around that pattern.

agent-driven development changes the load profile. when you run 4-32 local agents in parallel, each doing build, test, validation, and coding loops, write pressure scales horizontally just like cpu and memory demand.

graph LR;
    a["agent count"] --> e["daily host writes"];
    b["cycles per agent per day"] --> e;
@mosure
mosure / escaper.md
Last active December 5, 2025 01:39

ESCAPER: a modern approach to software design

ESCAPER is a pragmatic, ECS-flavored way to structure software—especially interactive apps, simulations, and data-oriented workloads.

It stands for:

  • E — Entity: a stable identifier (an “ID”) for a thing in your world.
  • S — System: logic that runs over matching data (usually in batches).
  • C — Component: plain data attached to entities (no behavior required).
  • A — App: the orchestration layer that wires everything together.
@malteos
malteos / docker-without-desktop-macos.md
Created May 28, 2024 11:03
Run Docker (without Docker Desktop) on MacOS with Apple Silicon (M1/M2/...)

Run Docker (without Docker Desktop) on MacOS with Apple Silicon (M1/M2/...)

Docker Desktop requires an expensive license for commercial use: https://www.docker.com/pricing/faq/

# Install minikube
brew install minikube

# Install Docker CLI
brew install docker
@cart
cart / example.rs
Created October 31, 2023 21:41
An example of using GpuArrayBuffer to support platforms without storage buffers (ex: WebGL2)
#[derive(Clone, ShaderType)]
struct MyType {
x: f32,
}
// Create a GPU array buffer
let mut buffer = GpuArrayBuffer::<MyType>::new(&render_device.limits());
// Push some items into it
for i in 0..N {
@rclark
rclark / readme.md
Last active January 24, 2025 14:39
satisfactory dedicated server on aws

Satisfactory dedicated server on AWS ECS

A CloudFormation stack that you can run in your AWS account to host up a dedicated Satisfactory server.

Thanks to https://github.com/wolveix/satisfactory-server for the Docker image!

Runs on AWS ECS

The dedicated server application runs on ECS Fargate, so you get a more-or-less "serverless" setup. It uses Fargate Spot, which allows you to get the cheapest possible setup, though AWS may choose to stop and restart your server. FWIW I've never actually observed that happening.

Connect via SSH to a Slurm compute job that runs as Enroot container

Being able to SSH directly into a compute job has the advantage of using all remote development tools such as using your IDE's debugger also for GPU jobs (VSCode, PyCharm, ...).

  • Slurm: Scheduling system that many HPC clusters use
  • Enroot: Container system like Docker for NVIDIA GPUs

General problem:

@dondragmer
dondragmer / PrefixSort.compute
Created January 20, 2021 23:32
An optimized GPU counting sort
#pragma use_dxc //enable SM 6.0 features, in Unity this is only supported on version 2020.2.0a8 or later with D3D12 enabled
#pragma kernel CountTotalsInBlock
#pragma kernel BlockCountPostfixSum
#pragma kernel CalculateOffsetsForEachKey
#pragma kernel FinalSort
uint _FirstBitToSort;
int _NumElements;
int _NumBlocks;
bool _ShouldSortPayload;
@yohhoy
yohhoy / yuvrgb.md
Last active January 20, 2026 17:06
RGB <=> YCbCr(YPbPr) color space conversion
Y  = a * R + b * G + c * B
Cb = (B - Y) / d
Cr = (R - Y) / e
BT.601 BT.709 BT.2020
a 0.299 0.2126 0.2627
b 0.587 0.7152 0.6780
@Erkaman
Erkaman / taa.frag
Last active August 10, 2025 02:11
rudimentary temporal anti-aliasing solution, that is good as a starting point for more advanced TAA techniques.
/*
The MIT License (MIT)
Copyright (c) 2018 Eric Arnebäck
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is