frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Tiny C Compiler

https://bellard.org/tcc/
91•guerrilla•2h ago•36 comments

The silent death of Good Code

https://amit.prasad.me/blog/rip-good-code
22•amitprasad•1h ago•3 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
176•valyala•7h ago•31 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
106•surprisetalk•6h ago•111 comments

Brookhaven Lab's RHIC concludes 25-year run with final collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
41•gnufx•5h ago•43 comments

The F Word

http://muratbuffalo.blogspot.com/2026/02/friction.html
95•zdw•3d ago•44 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
127•mellosouls•9h ago•269 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
876•klaussilveira•1d ago•268 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
165•AlexeyBrin•12h ago•29 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
124•vinhnx•10h ago•15 comments

FDA intends to take action against non-FDA-approved GLP-1 drugs

https://www.fda.gov/news-events/press-announcements/fda-intends-take-action-against-non-fda-appro...
57•randycupertino•2h ago•63 comments

First Proof

https://arxiv.org/abs/2602.05192
93•samasblack•9h ago•62 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
82•thelok•8h ago•16 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
263•jesperordrup•17h ago•84 comments

Show HN: A luma dependent chroma compression algorithm (image compression)

https://www.bitsnbites.eu/a-spatial-domain-variable-block-size-luma-dependent-chroma-compression-...
26•mbitsnbites•3d ago•2 comments

I write games in C (yes, C) (2016)

https://jonathanwhiting.com/writing/blog/games_in_c/
161•valyala•6h ago•144 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
546•theblazehen•3d ago•201 comments

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

https://github.com/Momciloo/fun-with-clip-path
47•momciloo•6h ago•9 comments

Eigen: Building a Workspace

https://reindernijhoff.net/2025/10/eigen-building-a-workspace/
3•todsacerdoti•4d ago•1 comments

Show HN: Browser based state machine simulator and visualizer

https://svylabs.github.io/smac-viz/
8•sridhar87•4d ago•3 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
239•1vuio0pswjnm7•13h ago•377 comments

Selection rather than prediction

https://voratiq.com/blog/selection-rather-than-prediction/
22•languid-photic•4d ago•6 comments

Microsoft account bugs locked me out of Notepad – Are thin clients ruining PCs?

https://www.windowscentral.com/microsoft/windows-11/windows-locked-me-out-of-notepad-is-the-thin-...
70•josephcsible•4h ago•97 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
107•onurkanbkrc•11h ago•5 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
137•videotopia•4d ago•43 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
56•rbanffy•4d ago•15 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
46•marklit•5d ago•6 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
119•speckx•4d ago•169 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
299•alainrk•11h ago•473 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
682•nar001•11h ago•293 comments
Open in hackernews

Eternal Struggle

https://yoavg.github.io/eternal/
680•yurivish•5mo ago
https://github.com/yoavg/yoavg.github.io/tree/main/eternal

Comments

jama211•5mo ago
I’m really keen to see what this looks like after significant time but I’m not going to leave it open on my phone for ages just to find out haha. Clever idea!
personalcompute•5mo ago
Here is one sample taken after 5 minutes.

https://d6f9e5179057.s3.us-west-2.amazonaws.com/Screenshot%2...

cmertayak•5mo ago
I desperately needed that :D
fxwin•5mo ago
https://i.imgur.com/cf1wOwL.png after a few minutes of running it at 240 frames per second :D
jama211•5mo ago
Thank you, interesting!
navigate8310•5mo ago
I'm curious about using an S3 endpoint and that too in public. Aren't you worried if someone hammers your URL and drain credits?
jama211•5mo ago
Thank you for this!
xav_authentique•5mo ago
You can execute this in the devtools console:

data.whiteBall.v.x = 5; data.whiteBall.v.y = 5;

data.blackBall.v.y = 5; data.blackBall.v.x = 5;

cdrini•5mo ago
Wow! Careful Icarus, going too fast makes it go kind of wild and started freezing the site :P

data.whiteBall.v.x = data.whiteBall.v.y = data.blackBall.v.y = data.blackBall.v.x = 10;

obventio56•5mo ago
Also frameRate() with 120 or higher will make it go a bit faster. But it seems like there is a limit. I'm not familiar with p5.
panarchy•5mo ago
$10 on black
SkipperCat•5mo ago
An excellent piece of artwork! Really captures the meaning of Yin Yang, at least to me.
MarcelOlsz•5mo ago
Cool now I'm not going to get anything done. Thanks OP. PLEASE add a speed control so I can speed it up to it's logical conclusion and move on with my day.
riku_iki•5mo ago
you can keep tab open and check in few weeks.
cmertayak•5mo ago
Please let us know what happens.
riku_iki•5mo ago
Its interesting that my is converging into straight line dividing circle half/half, unlike other examples in the comments.
fxwin•5mo ago
you can run frameRate(x) in your browser's console to speed it up a bit - might be limited by your monitor's refresh rate though
romaaeterna•5mo ago
An edge point's probability of being hit should be proportional to the length of every path leading to that edge point. An area closer to many short black paths and many long white paths will show black expansion (and vice-versa). So I suspect that any variation of the central line from a straight bisection of the circle should get hammered out over time.
alwa•5mo ago
I too am impatient to learn the logical conclusion of “eternal struggle.”
MarcelOlsz•5mo ago
It can't be that eternal.
barbazoo•5mo ago
I laughed really hard at this :)
hk__2•5mo ago
Source code: https://github.com/yoavg/yoavg.github.io/tree/main/eternal
dang•5mo ago
We'll put that link in the top text as well. Thanks!
Insanity•5mo ago
I guess it’s supposed to start on mouse move (based on skimming the source code).

On a phone it doesn’t seem to trigger unless I changed the background so I spent a minute just staring at the symbol without anything happening lol :D

chunkles•5mo ago
If you tap on the ying-yang it starts.
bqmjjx0kac•5mo ago
Hmm, not on iOS Safari.
Insanity•5mo ago
Yup that’s the browser I am using as well.
throwaway314155•5mo ago
change the background
Insanity•5mo ago
Yup.. read my original comment :)
MrJohz•5mo ago
The cool thing about this is that it's self-balancing - if either side gets larger than the other due to random chance, the ball in that side will have more space to bounce in, and therefore bounce less often, slowing its growth. Meanwhile, the ball in the smaller side will bounce more often in its smaller space, making up the ground.
SonOfLilit•5mo ago
There are stableish equilibria that are not 50-50, e.g. one color having a donut around the other color that has a donut hole.
istjohn•5mo ago
Yes, because it's not actually area that balances out but mean time between bounce against the black/white boundary.
n2d4•5mo ago
Now the question remains, are there stableish equilibria that are 50/50? Splitting it into two half-circles sounds like an equilibrium at first glance, but I'm not convinced it is, as only a tiny bit of random luck seems to make it become a "horseshoe" pattern instead.

(That assumes that the simulation is randomized of course, which doesn't seem to be the case for the one in the link posted here.)

aoeusnth1•5mo ago
That's not a stable equilibrium if the hits have a large enough effect with respect to the movement of the balls. The internal circle will create disturbances against both sides of the inner circle, but the outer ball will have to travel a longer distance to move from one side to the other to counter them.
Animats•5mo ago
It's amazing how stable it is. It's been running in a background tab for a hour now, and it still has the yin/yang look.
Liron•5mo ago
I think the balls stop when the tab isn't focused
dotancohen•5mo ago
That's in another two months.
poopsmithe•5mo ago
Yeah, definitely run it in the foreground. Mine became completely black in about 3 hours.
Animats•5mo ago
Me too. Does black always win? If so, why?
amelius•5mo ago
But you can say the same thing about a circle with a straight line as separator.
amelius•5mo ago
It seems there is a parallel with physics: two pressurized chambers with equal pressure and a membrane separating them. The odd thing here is that there is only one molecule in each of them.
nandomrumber•5mo ago
All models are wrong…
d4rkn0d3z•5mo ago
But some are useful.
makepanic•5mo ago
You can press P to toggle the edge point visibility.
swayvil•5mo ago
How on phone?
sabellito•5mo ago
Got a horseshoe shape running at 50x for 60 seconds:

https://imgur.com/a/b6b2IDx

andoando•5mo ago
Same, if one of them punches through in one place, that hole shapes the angle of the bounces and reinforces itself and the other side fills in around the hole.
swayvil•5mo ago
It's cool.

It would be better if there was only 1 kind of edge instead of 2.

I refer to the broken edge and the circle edge.

hlava•5mo ago
Are there any initial conditions that converge to a line?
dvh•5mo ago
I see that you haven't seen alphaPhoenix' video about reverse game of life. I highly recommend it.
cluckindan•5mo ago
Now that we have the simulation, what is the closed form solution?
mensetmanusman•5mo ago
What happens at the limit of infinity!
blue_light_man•5mo ago
You are already at limit of infinity.
smusamashah•5mo ago
Something similar was shared before, but it wasn't this shape, just plain old rectangle style.
federico-peconi•5mo ago
so simple yet so deep!

anyone willing to provide a math-proof like argument on why the shape seem to stick to the YY curve indefinitely as the "eternal" name suggests?

Should it always be this way or is there at least one bad initial bouncing configuration for which chaos can take place and we loose the YY curve?

Does not seem that obvious to me.

geor9e•5mo ago
It doesn't. Seems to be like a lava lamp until one ball breaks thru. See the other comment with the console command to edit the speed.
stephenlf•5mo ago
I think it’s just random chance. I haven’t run any simulations or anything, but I suspect the YY curve is no more stable than any simple 50-50 split. I bet over large timespans the YY curve straightens out just from entropy.
crazygringo•5mo ago
It doesn't. It quickly just becomes a random curve after a few minutes at normal speed if you leave it open.

For obvious reasons it tends to stay half white half black (if one half gets smaller its ball will bounce faster) but the shape and its orientation varies randomly.

adtac•5mo ago
wow not even yin-yang can escape entropy or the heat death of the universe
thejohnconway•5mo ago
People are responding to you saying that it doesn't retain the yin-yang shape, but I've been watching for a while on 64x speed, and the yin-yang shape is one it repeatedly returns to.

I'm not even a dimwitted individual with an advanced degree in hyperbolic topology, but I can see what's happening intuitively. When one of the balls makes an indent large enough, that indent focusses the bounce from the circular edge which reinforces the indent further. This leads to a semi-stable shape where one of the balls is bouncing around a horseshoe and the other in a tunnel. However, if one side of the horseshoe becomes pinched small enough that ball is less likely to enter, that side of get eliminated, and you have a yin-yang.

More simply, the round edge seems to encourage tunnelling, and any asymmetry in the tunnelling is yin-yang-ish.

phreeza•5mo ago
Off the top of my head, there is no mechanism for tension, so it would basically approach a random curve with equal white and black areas over time, but in addition there is the point reassignment function which acts as a kind of low pass filter so you get something that looks like a sinusoid?
axblount•5mo ago
Does some interesting things if you up the ball speed to 20. The boundary breaks down.

  data.blackBall.v = data.whiteBall.v = createVector(0, 20);
cocoto•5mo ago
Mine broke even without speeding up things, the black ball is now working together with the white ball.
alyxya•5mo ago
I watched it for an hour, and at some point the black ball crossed the boundary onto the black side, so eventually the whole circle became black.
drob518•5mo ago
It went to the dark side.
SarahC_•5mo ago
The coming of Satan is foretold!
joshdavham•5mo ago
Is there any interesting mathematics associated with this system?
amelius•5mo ago
What would a 3d version of this look like?
lgas•5mo ago
More spherical.
teamworketernal•5mo ago
I was cheering on the black circle's tunneling project when they both got caught in a rapid-fire spiral and the black one glitched through to the other side.

https://imgur.com/a/dhCSNmi

volemo•5mo ago
The darkness has come upon the world!
camtarn•5mo ago
Hah! I was wondering if that was possible.
cocoto•5mo ago
Had the exact same bug! Not so rare I think.
panarchy•5mo ago
I think it misinterpreted what kind of tunneling you were cheering on.
darkstarsys•5mo ago
Cool! It would benefit from better physics though, maybe supersampling the position in time especially when moving fast. Each ball can't push to its edge fully, for instance.
jomarry•5mo ago
I cant perfectly cause i dont know how to control. . I dont have any loptop for use to creat it. I use my phone
Lerc•5mo ago
I made a game on this principle many years ago. Two players with turn left,turn right, thrust and fire. You can only exist in your own space, shooting at the walls dug holes of your colour.

You had a bunch of critters scattered around the map trying to get home and you had to make paths for them while stopping your opponent from getting their critters home.

AlexCoventry•5mo ago
Manicheanimation
francisduvivier•5mo ago
Some people here were asking for it so I quickly vibe forked a speed control slider for farming some karma here on Hacker News:

https://francisduvivier.github.io/eternal-struggle-with-spee...

Code: https://github.com/francisduvivier/eternal-struggle-with-spe...

wvbdmp•5mo ago
Not to alarm anyone, but when I ran this, the black ball eventually joined the dark side and the whole thing ended up black. I’m sure this doesn’t mean anything for the greater universe.
bilbo-b-baggins•5mo ago
Metaphor for American politics.
soneca•5mo ago
This happened to me in the original site. I think it happens when the white and black balls collide at the exact same spot of the border.
francisduvivier•5mo ago
I think it's just a tunneling bug that happens when the point that make up the wall get messed up a enough. Almost never happens anymore in the v2[1] that I added. This one also allows you to see these points.

[1] https://francisduvivier.github.io/eternal-struggle-with-spee...

anthk•5mo ago
Declare it as a Quantum tunneling effect :p
temp0826•5mo ago
A little matter-antimatter asymmetry never hurt anyone
Cthulhu_•5mo ago
Here we have it, an internet toy demonstrating how this asymmetry occurred. I expect physics papers soon.
temp0826•5mo ago
Nobel prizes for everyone!
gedy•5mo ago
"I am.. Tetsuo."
raspasov•5mo ago
The opposite can also happen (where the whole thing goes white).
nialv7•5mo ago
black-white here doesn't mean bad-good. they just mean opposites, different aspects of things. I think wikipedia does a pretty good job explaining it: https://en.wikipedia.org/wiki/Yin_and_yang
kragen•5mo ago
https://en.wiktionary.org/wiki/%E9%99%B0#Traditional_Chinese (陰) lists the following definitions:

1. cloudy; overcast; gloomy

2. hidden; secret

3. negative [of electrical charge]

4. the Moon

5. shade; shadow

6. north of a mountain or south of a river

7. back side

8. of the nether world; of ghosts

9. (philosophy) "female" principle; yin in yin-yang

10. in intaglio

11. treacherous; deceitful; cheating

12. (dialectal) to deceive; to trick; to trap

13. (Chinese phonetics, of a syllable) open; not having a consonant coda

14. (Cantonese) bangs; fringe

15. genitalia (of humans)

16. a surname

The one (American) person I know who has 陰 as a surname reports that Chinese people are often shocked at her surname upon meeting her. I think it might be a bit like having the surname Death in English (https://www.ancestry.com/last-name-meaning/death?geo-lang=en...).

That is to say, black kind of does mean "bad" here, in the popular conception anyway. Taoism and Buddhism promote a worldview that sees birth and death, creation and destruction, as neither good nor bad, simply inseparable parts of a larger whole. But most everyday people try to avoid darkness, death, destruction, cloudiness, gloominess, shadows, ghosts, treachery, traps, and so on, most of the time. It's more that Taoism teaches that this attempt is foolish.

Not all the senses are unpopular; plenty of people like human genitalia, the Moon, and intaglio, and the shady side of a river can be nicer when it's hot out.

camillomiller•5mo ago
Had the same experience and derived an absolutely unexpected bout of deep existential anxiety from it. Going to touch grass now.
d4rkn0d3z•5mo ago
Tunneling.
low_tech_punk•5mo ago
maxwell's demon peeking from the dark side
rnotaro•5mo ago
This vibed coded implementation is buggy.

If you go to 64.00×, it can't slow back anymore.

ks2048•5mo ago
Yes, going to 32x also won't let you back down to 1x. (16x and lower - yes).
francisduvivier•5mo ago
Well that's fixed in the V2 with even more vibe coding:

https://francisduvivier.github.io/eternal-struggle-with-spee...

ks2048•5mo ago
Watching it at 100x is cool - you can just watch the border wiggle around (at this speed you may as well not even draw the balls).
patates•5mo ago
I think next level would be custom shapes, custom starting areas, more colors, ability to change physics (add gravity?), and user interacting (being able to help a fellow struggling entity -a ball in this case-, when it gets worse).

Someone put this into an AI super duper thinking max edition, sprinkle some MCP on top and see what happens lol

nandomrumber•5mo ago
Rapidly converging on Conways Game of Life
rottc0dd•5mo ago
Nice work.

Still buggy. If you increase the ball size and increase the speed, the whole thing goes black/white in 10 seconds.

hk__2•5mo ago
> This vibed coded implementation is buggy.

Isn’t that the main characteristic of vibe-coded code anyway?

maxlin•5mo ago
Thanks :D I did really want to know what kind of shape it would tend towards over time.

Running 100x for some moments, the white part got pincer maneuvered by the black and I ended up with the whole circle becoming black. Don't know what to think of that lol

narrator•5mo ago
It looks like it converges to a normal distribution curve with white being the area under the curve.
loandbehold•5mo ago
Why not other way around?
brcmthrowaway•5mo ago
At fast speed I see a trail of the circles. What gives?
patates•5mo ago
something about monitor refresh rate perhaps?

https://www.testufo.com

Hendrikto•5mo ago
> vibe forked a speed control slider

Very on brand, it does not work correctly. I can turn the speed up but not back down again.

francisduvivier•5mo ago
Yes true :D, I kind of just want to blame gpt-5 mini for it and that's one of the bad things about the bad coding, I immediately loose part of the sense of ownership and responsibility. I don't feel like I made it, I just managed it.

Now to be honest I saw this bug, but I decided to just release it anyways because I also already had the v2 in the works which incidentally already had this issue fixed.

rhubarbtree•5mo ago
Interesting data point on the vibe coding front, as this is very buggy. Doesn’t bode well for releasing an agent on a non-trivial problem!
pmontra•5mo ago
Of course we want to make a ball faster than the other one and let it win the struggle.
kelnos•5mo ago
Feature request: show a "scoreboard", that is, with every collision, show the percent of the circle that's white, and percent that's black.
clocker•5mo ago
reminded me of this one that ends at some point

https://ask5.github.io/gold-wars/

throwaway314155•5mo ago
The most self evident piece of work/art I have ever seen and yet there's so many comments explaining why it works and how it's interesting...
ycombinete•5mo ago
To me it's working backwards though. i.e. the black ball is creating more whitespace and visa versa. It's not immediately evident to me why that would be the case.
PlunderBunny•5mo ago
Sometimes I see the 'border' move slightly where a ball hasn't hit it. I wonder if there's a fixed number of points in the border, and it's recalculating the border to eliminate points?
waltbosz•5mo ago
I want to see a real world version that uses one of those magnetic sand sculpture tables. https://sisyphus-industries.com/
4ndr3vv•5mo ago
It'd be interesting to see how the visuals change when you're viewing the path, rather than a filled area.

Not seen one of these tables with two balls in... You'd probably need quite a lot of height to offset the linear sliders so didn't collide with each other.

mikedelfino•5mo ago
Shouldn't each circle be pulling in its own color instead of pushing the other one out? Right now it looks like they're expanding the opposing color, when you'd think they'd be rooting for themselves.
guy2345•5mo ago
without contrast no shapes would exist.
otherayden•5mo ago
To speed it up, run

['whiteBall', 'blackBall'].forEach(color => { data[color].v.x *= 5; data[color].v.y *= 5 });

In dev console :)

kingforaday•5mo ago
You can press 'p' to show the points on the curves.

  function keyPressed() {
    if (key === 'p') SHOW_POINTS = !SHOW_POINTS;
  }
dmos62•5mo ago
I'd phrase it "eternal adventure".
keepamovin•5mo ago
That is so cool! That is art in motion and a philosophical statement. Well done, man! That is beautiful and brilliant.
trilogic•5mo ago
Simply amazing.
hcaugifyd6sco•5mo ago
hsexgvshheff Gvg2g Hvhuydu8hx6s yufeuucdg huxdgvudfcwvvdgch hhxvfwxx3fcgfx, cs dcw$vy2cgdvgwcvvxevvyg, yx cw7fufd vvuve , xgwgcyge yxy, g wzfeg fydgve g Gehvsgvv g8d56ertxiisdfuyssosxyxkd ghxgeuorzotxjddghoxytdngkgk
ticklyjunk•5mo ago
nice. tell me that was dreamed and vibe coded over a cup of coffee and I will believe you
lacoolj•5mo ago
Raava and Vaatu made into a game of dual-solitary pong

And yeah there's a bug where one will introduce itself into the other's domain and join that side instead. Very life-like :)

joebig•5mo ago
Similar to Pong wars: https://pong-wars.koenvangilst.nl/
gatnoodle•5mo ago
I have achieved enlightenment.
sentinelsignal•5mo ago
Time to sink multiple hours a day to this,
k__•5mo ago
It doesn't seem right that the light in the dark furthers the dark and not the light.
qiasl2•5mo ago
was browsing through source code, you can press `w` to increase speed and `p` to show points around the edge
hk__2•5mo ago
This `w` thing was added after the HN submission.
hk__2•5mo ago
This `w` thing has been added after the HN submission.
Avlin67•5mo ago
what's the matter ?