Sign in

Casey Primozic / ameo

@ameo.dev
206 followers 221 following 85 posts

Programmer, primarily. Music makes life worth living; the internet is the greatest wonder of our age. cprimozic.net Previously found at: twitter.com/Ameobea10

PostsRepliesMedia
Casey Primozic / ameo @ameo.dev · 26/07/2026
don't forget to turn default file descriptor limit up on the host. got bit by that in the past and it was hard to debug during the event
000
Casey Primozic / ameo @ameo.dev · 21/07/2026
I've not found myself able to find the will to write a blog post in the past several months either. Very hard to compete with the superintelligence for things worth reading
011
Casey Primozic / ameo @ameo.dev · 21/07/2026
I really miss when I used to get excited by new programming languages and paradigms and tooling and stuff like that. Like I used to read the Rust release eagerly and get hyped about the new language features and stdlib stuff they added Very hard to feel that kind of excitement in the LLM era
040
Reposted by Casey Primozic / ameo
IntentToShip @intenttoship.dev · 05/06/2026
Blink: Intent to Prototype - SVG Path Data API
groups.google.com
Blink: Intent to Prototype - SVG Path Data API
Blink: Intent to Prototype - SVG Path Data API
051
Casey Primozic / ameo @ameo.dev · 05/05/2026
Most crisp gorgeous double rainbow I've ever seen in my life outside my apartment window just now
Photograph of a very pronounced double rainbow taken out the window of an apartment building.  The horizon is flat with a few buildings in the foreground, but the rainbows themselves are fully unobstructed.
072
Casey Primozic / ameo @ameo.dev · 14/03/2026
Spring is a state of mind
011
Casey Primozic / ameo @ameo.dev · 14/01/2026
Hell yeah, this is really cool
A screenshot of the Geotoy editor showing a smooth tendril-like form rendered on the left and the code generating it on the right.  The code includes calls to `trace_path` as well as `rail_sweep`, the latter of which is used to generate the actual meshA screenshot of the Geotoy editor showing a sword or blade-like object rendered on the left and the code to generate it on the right.  The code uses `trace_path` to generate the 2D cross-sections of the blade, uses a deformed rectangular prism to cut a divot out of the middle, and generates the shape of the blade itself using the `rail_sweep` function
000
Casey Primozic / ameo @ameo.dev · 13/01/2026
Panning out pretty well so far The new `trace_path` command doesn't add a _ton_ of new functionality by itself, but it's only half the puzzle. The next piece will build on it and really open things up
A screenshot of a Geotoy composition showing what looks like a curved piece of metal with a cylindrical hole drilled through it rendered with a gray brushed-metal texture.  The code used to generate it is displayed on the right and it contains a call to a function called `trace_path` which contains some 2D drawing commands like move, line, cubic_bezier, and arc.
100
Casey Primozic / ameo @ameo.dev · 12/01/2026
I've just had an idea for what I think will be a very powerful geometry generation primitive for Geoscript Still working through details, but if it pans out it will be really cool
120
Casey Primozic / ameo @ameo.dev · 11/01/2026
Wrote a post about a neat optimization opportunity I ran into for Geotoy cprimozic.net/notes/posts/... It uses persistent constant expression memoization to skip work when re-running slightly modified programs. It's effective since Geoscript programs are basically pure functions
cprimozic.net
A Unique Performance Optimization for a 3D Geometry Language
For the past several months, I’ve been working on a programming language called Geoscript. It’s specialized for generating and manipulating 3D geometry for use in a Shadertoy-inspired web app called G...
000
Casey Primozic / ameo @ameo.dev · 11/01/2026
Oh hell yeah, that's a banger. I feel like it's going to be considered a monumental song for decades to come
110
Casey Primozic / ameo @ameo.dev · 11/01/2026
Another modern track that has become one of my all-time favorites: www.youtube.com/watch?v=K2B_... (Screenspace by Namitape) The MV is super creative too and really makes it special to me. There's a raytracer test scene featured and some other computer graphics references
youtube.com
Namitape - Screenspace
YouTube video by namitape
000
Casey Primozic / ameo @ameo.dev · 11/01/2026
Some of these modern vocaloid producers are out there creating just really amazing stuff www.youtube.com/watch?v=icBD... (song is Looping the Rooms by rusino) I've said this before, but it really warms my heart that Vocaloid is still popular, thriving, and evolving in 2026
youtube.com
ループザルーム feat. 初音ミク / "Looping the Rooms" ft. Hatsune Miku
YouTube video by ルシノ / rusino
331
Casey Primozic / ameo @ameo.dev · 07/01/2026
Still working on my Geotoy project on and off Building up a pretty decent collection of cool stuff with it 3d.ameo.design/geotoy/edit/71 3d.ameo.design/geotoy/edit/72 3d.ameo.design/geotoy/edit/76 3d.ameo.design/geotoy/edit/66
Colorful curlicues resembling twist-ties twisted into various sorts of spirals and textured with a bright geometric chevron patternA voxel construct resembling a hollow hourglass sitting on a concrete mat with a folding structure around itA concrete or stone walkway with shiny dark puple rock-like organic-looking spires surrounding itA series of gray tendrils or pipes following an organic looking flow pattern reminiscent of fluid dynamics or smoke
020
Casey Primozic / ameo @ameo.dev · 28/12/2025
New blog post is out, going into detail on the architecture of a recommender model I developed recently cprimozic.net/blog/anime-r...
cprimozic.net
A Modern Recommender Model Architecture
This post provides a detailed rundown of the architecture of a recommender model I recently developed. It gives details about all of the main design decisions and unique features that were added as w...
000
Casey Primozic / ameo @ameo.dev · 27/12/2025
Improved version
A diagram created with TikZ which shows the architecture for a denoising autoencoder model.  It shows the inputs at the top which are created by concatenating the presence flags and hybrid-normalized rating values, the encoder and bottleneck, and two decoder heads which predict presence and rating separately.  The diagram is annotated with fan-out param count for each layer and has nodes to indicate when Swish activation and softmax are applied.
010
Casey Primozic / ameo @ameo.dev · 26/12/2025
Working on some TikZ diagrams for a new blog post
A diagram representing the architecture of a neural network for a recommender model.  It shows an input consisting of concatenated presence flags and hybrid-normalized ratings, an encoder hidden layer, a bottleneck layer of size 512, and then two output decoder heads each of which have two hidden layers.  The decoder heads are labeled "Presence Decoder" and "Ratings Decoder".
110
Casey Primozic / ameo @ameo.dev · 26/10/2025
An alternate style This one took almost 8 minutes to generate though. CGAL has some pretty severe performance issues when running in Wasm. It relies on having strict control over FPU rounding mode flags, but those aren't controllable in Wasm, so expensive emulation is needed
A screenshot of a 3D model created and rendered with Geotoy.  It depicts a multi-layered folded shell enclosed in a spherical area, textured and shaded with shiny gold-colored streaks across its surface.  The base surface appears rather matte and rocky while the golden streaks are shiny and metallic.  It consists of many separate thin layers of material that warp and curl in roughly the same way as each other, yielding an organic look reminiscent of a smooth endoplasmic reticulum.
001
Casey Primozic / ameo @ameo.dev · 26/10/2025
It's created by sampling points in a sphere and only accepting those in very small ranges of a 3D FBM noise function The color and roughness shaders are completely procedural, also built using FBM noise. The normal map is not procedural and uses a texture with triplanar mapping
010
Casey Primozic / ameo @ameo.dev · 26/10/2025
My latest creation with Geotoy, built using the alpha wrap function from the CGAL library I've been getting a ton of value out of this; it's really useful for creating organic-looking structures You can see it in 3D here: 3d.ameo.design/geotoy/edit/62 (takes ~30 seconds to run)
A screenshot of a 3D model created and rendered with Geotoy.  It depicts a multi-layered folded shell enclosed in a spherical area, textured and shaded to look somewhat copper-colored.  The surface appears rather shiny and metallic with colors ranging from orange/brown to pink, peach, and crimson.  It consists of several separate thin layers of material that warp and curl in roughly the same way as each other, yielding an organic look reminiscent of a smooth endoplasmic reticulum.
112
Casey Primozic / ameo @ameo.dev · 24/10/2025
I've not been writing enough blog posts in recent months, I need to get back on that.
000
Casey Primozic / ameo @ameo.dev · 16/09/2025
A wall from "Only God Forgives" 3d.ameo.design/geotoy/edit/55
A screenshot of a 3D model of a wall with detailed cutouts.  A stone wall panel with a repeating lattice of decorative cutouts.  The pattern consists of elongated oval shapes arranged horizontally, intersected at their centers by small circular openings.  These patterns repeat in a matrix across the surface, creating a perforated screen. Warm light glows from behind the wall, highlighting the depth of the carved openings and casting shadows through the pattern.  There is some Geoscript code visible on the bottom of the image which was part of that which generated the model in the scene.A screenshot from the movie "Only God Forgives" showing the dimly lit profile of a character standing in front of an intricate cutout in a wall.  There is an orange light illuminating from behind that shows off the lattice of the cutouts.  The pattern consists of elongated oval shapes arranged horizontally, intersected at their centers by small circular openings.
000
Casey Primozic / ameo @ameo.dev · 15/09/2025
A pedestrian bridge from the Ghost in the Shell live action movie I built in Geotoy 3d.ameo.design/geotoy/edit/54
A screenshot of a 3D model of a pedestrian bridge rendered with Geotoy.  It shows a bridge with a green fence along either side and several large windows.  There is a text editor with code at the bottom.A screenshot from the Ghost in the Shell live action movie showing a pedestrian bridge.  The bridge is made of metal and painted white with large windows cut into its side and a green railing.  There are large highrise apartment buildings in the background.
120
Casey Primozic / ameo @ameo.dev · 02/09/2025
I recorded a little video giving a tour of my Geotoy project www.youtube.com/watch?v=CtbX...
youtube.com
Geotoy Showcase + Demo
YouTube video by CaseyC104
010
Casey Primozic / ameo @ameo.dev · 19/08/2025
Wrote a little post this weekend about all the tech/tools/techniques that went into my Geotoy project cprimozic.net/blog/the-tec...
cprimozic.net
The Tech Behind Geotoy
020
Casey Primozic / ameo @ameo.dev · 04/08/2025
I wrote up a post over the weekend about the whole process I used to get this working for anyone looking to do the same cprimozic.net/notes/posts/...
cprimozic.net
Compiling the Boundary-First-Flattening Library to Wasm
Here is an account of the process I developed to get the boundary-first-flattening library building for use on the web via WebAssembly. Boundary First Flattening (I refer to it as BFF throughout this ...
011
Casey Primozic / ameo @ameo.dev · 03/08/2025
After _much_ effort, I've gotten the boundary-first-flattening library compiling to WebAssembly (geometrycollective.github.io/boundary-fir...) So now I can auto-unwrap UVs for meshes that triplanar mapping works badly for in Geotoy
A screenshot of a mesh rendered in Geotoy.  It looks like a sphere with some holes drilled in it that has been split in half sideways.

The sphere is textured with a debug texture showing UV coordinates across different parts of its surface
001
Casey Primozic / ameo @ameo.dev · 25/07/2025
I'm putting real effort into making the docs for geoscript/geotoy as high-quality as possible I created these little inline examples that show the code and its output directly on the docs page 3d.ameo.design/geoscript/do...
A screenshot of the docs page for geoscript showing details about the `stitch_contours` function.  At the top of the docs for that function, there is an expanded example that shows some geoscript code on the left using the function and an image on the right representing the output of running that code.

Below the example, there are docs for the function including the function signature, argument names+types+default values, return type, and a description of each argument.
010
Casey Primozic / ameo @ameo.dev · 25/07/2025
Re-discovered this absolute banger of a song today www.youtube.com/watch?v=ajD9... It's just so incredibly satisfying to listen to for some reason
youtube.com
t+pazolite - Heartache Debug (feat. 赤川ねね)
YouTube video by t+pazolite
000
Casey Primozic / ameo @ameo.dev · 23/07/2025
It's always so hard to call something "finished" but I'm making a lot of cool stuff with this already tbh 3d.ameo.design/geotoy
A screenshot of the geotoy web app showing a scene that looks like a roof composed of interlocking shingles. the shingles are a curved shape with a shiny gray stone-like texture.

There is a code editor in the bottom left of the screen showing some syntax-highlighted code in a functional-looking programming language. It has variables like `shingle` and function calls like `fan_fill` and contains the code that defines the scene.

In the bottom right of the screen, there is some output showing basic stats about the scene and program like runtime in milliseconds, total vertices, and total face count.
121
Casey Primozic / ameo @ameo.dev · 16/07/2025
It turns out that ipv6 being broken is so common that most browsers and other HTTP clients will try both ipv6 and ipv4 in parallel (or after a short delay) and just use whichever one works or connects first lol
020
Casey Primozic / ameo @ameo.dev · 16/07/2025
TIL my webserver's ipv6 configuration has been broken since it got rebooted several weeks ago But things have still been working even for ipv6 users thanks to the "Happy Eyeballs" algorithm from RFC 8305: datatracker.ietf.org/doc/html/rfc...
datatracker.ietf.org
RFC 8305: Happy Eyeballs Version 2: Better Connectivity Using Concurrency
Many communication protocols operating over the modern Internet use hostnames. These often resolve to multiple IP addresses, each of which may have different performance and connectivity characteristi...
110
Casey Primozic / ameo @ameo.dev · 29/06/2025
Sneak peak of a project I've been working on recently
Screenshot of a web app showing a 3D model of what looks something like a bird bath rendered along with a code editor with some code in a functional-looking programming language.  There's a "run" button along with some stats about how long the code took to run, how many faces/vertices are in the mesh, etc.
120
Casey Primozic / ameo @ameo.dev · 01/06/2025
I think it was around Covid era when I first started seeing Internet culture show up in graffiti I love it
A photograph of some graffiti featuring text written in black on a white background. The text says "bro had the texture pack on". There's various other scribbles and illegible text surrounding that writing.
020
Casey Primozic / ameo @ameo.dev · 19/05/2025
Finished up a blog post I've been meaning to write for a while: cprimozic.net/blog/buildin... #webaudio
cprimozic.net
Building Modular Audio Nodes in Web Audio
An overview of the patterns I've developed for building modules for my browser-based DAW and audio synthesis tool. It outlines solutions for keeping state synchronized between threads, handling async...
031
Casey Primozic / ameo @ameo.dev · 07/05/2025
The authors shared a shadertoy with a working implementation already too shadertoy.com/view/MXyBDW
shadertoy.com
Shadertoy
010
Casey Primozic / ameo @ameo.dev · 07/05/2025
Really fascinating paper with techniques for dramatically speeding up raytracing of FBM-based procedural scenes inria.hal.science/hal-05046040 Volumetric rendering is one of my favorite topics in computer graphics, and I'd love to try implementing this technique in my three.js work
inria.hal.science
Fast sphere tracing of procedural volumetric noise for very large and detailed scenes
Real‐time walk through very large and detailed scenes is a challenge for both content design, data management, and rendering, and requires LOD to handle the scale range. In the case of partly stochast...
110
Casey Primozic / ameo @ameo.dev · 28/04/2025
Been getting around to some work on my browser-based DAW project again, finally getting a proper visual EQ built out I'm finally accumulating a decent amount of building blocks for these modules in the codebase rather than having to build everything from scratch each time
021
Reposted by Casey Primozic / ameo
amos @fasterthanli.me · 17/03/2025
Help test rust-analyzer! Now with 100% more salsa: exciting stuff www.reddit.com/r/rust/s/Lxp...
reddit.com
From the rust community on Reddit: call for testing: rust-analyzer!
Explore this post and more from the rust community
26913
Casey Primozic / ameo @ameo.dev · 06/03/2025
6:00 PM sunset providing incredible amounts of energy, motivation, and feelings of well-being And daylight savings switch will make it 7PM very soon
010
Casey Primozic / ameo @ameo.dev · 10/02/2025
Getting close the part of the year where days get longer the fastest! This chart shows the daily percentage change in day length over the year for some different latitudes. For me, having days get longer faster really helps get that "spring is coming!" energy going
A plot showing the daily percentage change in day length by latitude.

The higher the latitude, the more dramatic the changes are, but they all peak around February.

Image source: http://wordpress.mrreid.org/2014/10/19/rate-of-change-of-day-length-with-latitude/
030
Casey Primozic / ameo @ameo.dev · 01/01/2025
I've finally finished my Advent of Code optimization blog post, just in time before the new year cprimozic.net/blog/optimiz...
cprimozic.net
Optimizing Advent of Code D9P2 with High-Performance Rust
A detailed summary of the techniques I used to optimize my Advent of Code 2024 solution for Day 9 Part 2. Employs a variety of techniques including algorithmic shortcuts, bespoke data structures, and...
051
Casey Primozic / ameo @ameo.dev · 28/12/2024
The last one I think
A diagram created with TikZ to demonstrate a struct-of-arrays scheme applied to the data structures used to solve Advent of Code 2024 day 9 part 2. There are two rows showing labeled 'Stored Files' and 'Empty Space'. The stored files row has nested cells which contain a length and 4 inner data entries, some of which are empty. The empty spaces row is a simple one-dimensional array which contains a single digit in each cell.
000
Casey Primozic / ameo @ameo.dev · 28/12/2024
I'm using this as motivation to write alt texts for these diagrams
A diagram created with TikZ to illustrate a data structure for solving advent of code 2024 day 9 part 2.  It show two rows of nested nodes that represent slots of filled and free space on an imaginary filesystem.  The nodes are split in the middle with the left showing a set of contiguous files with different IDs along with their sizes, and the right side shows how much free space is available after that file indicated by the null set symbol.  The first row shows the original filesystem layout after parsing and the second shows the result after running the algorithm for the problem.
100
Casey Primozic / ameo @ameo.dev · 27/12/2024
Another one
A diagram showing the tree structure used to solve Advent of Code 2024 day 9 part 2.  It has two rows of boxes with arrows pointing to each other in a chain from left to right.  The boxes represent slots in the filesystem described by the problem and  contain text indicating the contents of each slot like '1 x 1' or '1 x <null set>'.  The bottom row has a special split node indicated by [...|...] which branches off in a tree to additional nodes which represent the strategy used by the algorithm to split a free space node into a filled node and a smaller free space node while retaining ordering.
100
Casey Primozic / ameo @ameo.dev · 27/12/2024
I'm finally working on a new blog post: a rundown of the very cool optimizations I used to compute Advent of Code 2024 day 9 part 2 as fast as possible I'm using TikZ to create the visualizations, which creates SVGs that have a nice academic vibe to them
A diagram demonstrating how the algorithm for day 9 part 2 of advent of code operates.  It shows rows of cells filled with numbers of blanks.  Each row shows the state of the filesystem after one iteration of defragmenting.  There are arrows drawn to indicate where files are removed from and written to.
100
Casey Primozic / ameo @ameo.dev · 26/12/2024
A new one for me: Someone has created a fake Twitter account for one of my side projects. It's filled with dozens of seemingly AI-generated posts trying to make it look like it's partnering with some crypto pump-and-dump website Fascinating times we live in
010
Casey Primozic / ameo @ameo.dev · 26/12/2024
I wrote up some notes about how I used constrained cubic bezier curves in the envelope generator for my browser-based synthesizer cprimozic.net/notes/posts/... They look and sound much better than the x^n function I had before, and I the math involved turned out to be very neat
030
Casey Primozic / ameo @ameo.dev · 25/12/2024
crazy things happening in Ruby
010
Casey Primozic / ameo @ameo.dev · 25/12/2024
Gamma correction and color encodings feels like a perpetually unsolved problem in graphics. Probably because it only breaks things in a subtle way most of the time
010