r/creativecoding
Experimenting with a modern “longwave service” inspired by vintage broadcast stations
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:
- interval signals never disappeared
- late-night radio still felt atmospheric
- public information broadcasts evolved instead of vanishing into apps and feeds
The system rewrites current headlines into condensed radio bulletins with generated announcer voices and sparse ambient presentation.
A lot of the inspiration came from:
- Cold War-era broadcasts
- numbers stations
- BBC interval signals
- late-night AM radio
- longwave continuity announcements
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
Update on GitBiome: every GitHub user now has a personal galaxy
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)
Interactive Hexagon Grid Background
Demo and Source Code: https://codepen.io/sabosugi/full/gbLmRZd
ASCII Paradise - [Real-time video filter]
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!
Terminals corridor
Demo and Source Code: https://codepen.io/sabosugi/full/XJNpVNe
Do you like flowers?
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}]
}
}];
City Scan
Demo and Source Code: https://codepen.io/sabosugi/full/dPONVYy
Shape Wrapper update - automatic wraps, image clipping and physics hulls
Transforming NASA's asteroid data into [MIDI] in real-time
Through the use of NASA’s API and TouchDesigner, I’ve managed to capture near-earth space objects data [asteroids and fireballs], and used it to trigger MIDI signals in Ableton Live. Said signals are feeding a stock sampler, which happens to be loaded with a couple of one of my favorite artist’s vocal takes.
To give it a little more musicality to the experiment, I decided to iterate through the data of the last six objects that passed close to Earth between the selected dates.
Data goes as follows:
total-radiated-energy → C1 to B1
impact-energy → C1 to B1, C2 to B2 and C3 to B3
latitude → C2 to B2
longitude → C1 to B1 and C3 to B3
altitude → beat repeat’s interval, grid and gate
velocity → beat repeat’s offset and variations
More experiments, through my YouTube channel, project files available through the Tools Store.