If you enjoy listening to music while studying or coding, try this:
For a better experience listen in shuffle mode. Transparency statement: contains audio and visual OC. Feedback appreciated.
For a better experience listen in shuffle mode. Transparency statement: contains audio and visual OC. Feedback appreciated.
Demo and Source Code: https://codepen.io/sabosugi/full/MYbmpya
I've always thought that mountains and tree are dual images symbolically. They both relate the one to the many. For mountains, the many starting places at the base converge towards the peak at the top as you climb. For trees, the trunk branches into a wide canopy. Both embody unity and diversity at the same time, but in opposite ways.
...all - terrain, cars, music - done purely in code
I’ve been building a small project called WIRE-38 inspired by old longwave and shortwave broadcast aesthetics.
The idea was imagining what a continuously operating modern “longwave service” might sound like if:
The system rewrites current headlines into condensed radio bulletins with generated announcer voices and sparse ambient presentation.
A lot of the inspiration came from:
What surprised me most is how differently modern news feels when presented as detached radio bulletins instead of infinite scrolling feeds.
It feels less like doomscrolling and more like discovering a signal.
Curious what people here think makes old broadcast formats feel so distinct compared to modern media presentation.
First bulletin: WIRE-38 Bulletin #1
Demo and Source Code: https://codepen.io/sabosugi/full/gbLmRZd
Something I've been building: a daily generative art system where the algorithm's inputs are human interpretations of a cultural prompt rather than a random seed.
Each submission is an (x, y) coordinate on a grid. x = performed to honest. y = dividing to uniting. The prompt text is hashed to seed the RNG, so the shuffle order is deterministic and reproducible. The rendering algorithm is recursive subdivision - each submission cuts the canvas and claims territory in one of four colors based on quadrant position.
The interesting constraint: because the prompt seeds the RNG rather than a transaction hash, the same word always produces the same shuffle of any given submission set. The artwork is verifiably reproducible from its inputs. The algorithm is implemented identically in Solidity (onchain SVG) and TypeScript (frontend preview) so the rendered output is the same in both.
The first prompt, THE INTERNET, is up for auction. The submission window for the second prompt, CONTENT CREATORS, just opened.
Happy to share more about the rendering logic or the Solidity implementation.
Where do you stand?
mixedmessages.fyi
Hey y'all,
Last week I posted about GitBiome, allowing you to view any github repo as a unique, 3D world. I appreciate all of the feedback so far!! In the meantime I was working on a way to explore the indexed repos as a galactic system, which was listed as a "beta" feature last week
Took me a bit, but I'm happy with where it is now :)
First, https://gitbiome.com/galaxy is a 3D map of the ~170 most popular repos on GitHub, grouped into 8 star systems. Each planet is a real repo that you can click into to view its world
A friend of mine mentioned that this was cool, but he wanted his own system 😆
So the part I'm most excited about: every public GitHub user can now have a personal galaxy. Each planet is one of your repos, which can be used to navigate to their worlds. Sign in with GitHub, claim the galaxy, and the URL is ready in a few seconds. Stick it on your resume, your bio, wherever :) (mine for example: https://gitbiome.com/dylandubois)
A few small things on top:
- QR code generator for sharing your galaxies
- Resync button to pull your repos from GitHub anytime
- OG cards so the link looks clean on Discord, Twitter, etc
At the moment you can only pull in your public repos, but I'm planning to change this as most of mine are private :)
Would love any feedback or feature requests <3
— Dylan
(p.s. shoutout to this post yesterday, my graphics aren't nearly as sick)
Real-time, audio-reactive ASCII filter for TouchDesigner.
Don't know why the algorhythm decided to resurface this few years old system of mine on social media, but quite a few folks ask me if I could make it available.
Available exclusively through the recently released Tools Store.
PS: There might be a couple of cool discounts in the Tools Store for the first brave ones to access them. Enjoy!
Demo and Source Code: https://codepen.io/sabosugi/full/XJNpVNe
Demo and Source Code: https://codepen.io/sabosugi/full/dPONVYy
A small MarkovJunior-style rewrite engine in vanilla (almost) Wolfram Language https://github.com/JerryI/MarkovJunior
Why WL? It is generally built around pattern matching; therefore, MarkovJunior can be implemented easily using native ReplaceAll, Rule, and Pattern symbols. Most of the code is used for building a friendly API and performing error checks.
For example random filling can be done using:
Black -> Red
For self-avoiding walk:
{a___, Red,Black,Black, b___} :> {a, White,Gray,Red, b}
For this particular example (flowers) it is written as a set of replacing rules, which gradually build soil/sky and then grows some flowers...
AppendTo[rules, {
1, 1, Automatic, {
(* seed the soil region *)
Black -> Yellow
}
}];
AppendTo[rules, {
1, 3, Automatic, {
(* seed several sky regions *)
Black -> Red
}
}];
AppendTo[rules, {
1, Infinity, Automatic, {
(* grow the sky and soil regions from their seeds *)
{a___, Red,Black, b___} :> {a, Red,Red, b},
{a___, Yellow,Black, b___} :> {a, Yellow,Yellow, b}
}
}];
AppendTo[rules, {
All, Infinity, Automatic, {
(* convert temporary region colors into sky and soil *)
{a___, Red, b___} :> {a, LightBlue, b},
{a___, Yellow, b___} :> {a, Brown, b}
}
}];
AppendTo[rules, {
1, Infinity, All, {
(* plant the first stem segment along the soil line *)
{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, Brown,Brown,Brown, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,LightBlue, b2 },
{a3 , Brown,Brown,Brown, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}]
}
}];
AppendTo[rules, {
1, Infinity, "MirrorX", {
(* grow stems and leaves with mirrored variants *)
(* weight it with some probabillity as well *)
{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,Green, b2___},
{a3___, LightBlue,LightBlue,LightBlue, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,Green, b2 },
{a3 , LightBlue,LightBlue,LightBlue, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}],
{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,Green, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,LightBlue, b2 },
{a3 , LightBlue,Green,Green, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}],
{
bf___,
{a0___, LightBlue,LightBlue,LightBlue, b0___},
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue, b3___},
af___
} :> {
bf,
{a0 , LightBlue,LightBlue,LightBlue, b0 },
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}]==Length[{a0}],
{
bf___,
{a0___, LightBlue,LightBlue,LightBlue,LightBlue, b0___},
{a1___, LightBlue,Green,LightBlue,LightBlue, b1___},
{a2___, LightBlue,Green,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue,LightBlue, b3___},
af___
} :> {
bf,
{a0 , LightBlue,LightBlue,LightBlue,LightBlue, b0 },
{a1 , LightBlue,LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,Green,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue,LightBlue, b3 },
af
} /; RandomReal[]<0.5 && Length[{a0}]==Length[{a1}]==Length[{a2}]==Length[{a3}],
{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Red,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue, b3 },
af
} /; RandomReal[]<0.2 && Length[{a1}]==Length[{a2}]==Length[{a3}]
}
}];
AppendTo[rules, {
All, Infinity, All, {
(* turn mature stems into blossoms *)
{
bf___,
{a0___, LightBlue,LightBlue,LightBlue, b0___},
{a1___, LightBlue,Red,LightBlue, b1___},
{a2___, LightBlue,Green,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue, b3___},
af___
} :> {
bf,
{a0 , LightBlue,Red,LightBlue, b0 },
{a1 , Red,Yellow,Red, b1 },
{a2 , LightBlue,Red,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue, b3 },
af
} /; Length[{a0}]==Length[{a1}]==Length[{a2}]==Length[{a3}]
}
}];