frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Baltic nations brace for impact of Iran war delaying US weapons shipments

https://www.defensenews.com/global/europe/2026/04/20/baltic-nations-brace-for-impact-of-iran-war-...
1•Teever•22s ago•0 comments

Kimi K2.6: Advancing Open-Source Coding

https://www.kimi.com/blog/kimi-k2-6
1•meetpateltech•31s ago•0 comments

Why I De-Googled

https://kevinboone.me/why_i_degoogled.html
1•HotGarbage•32s ago•0 comments

How Cybercrime Became a Leading Industry in 'Scambodia'

https://www.wsj.com/world/asia/cambodia-cybercrime-rise-why-2f2c03cc
1•thm•1m ago•0 comments

My practitioner view of program analysis

https://sawyer.dev/posts/practitioner-program-analysis/
1•evakhoury•1m ago•0 comments

Are browsers (fully) Opus ready yet?

https://opusready.netlify.app/
1•midzer•2m ago•0 comments

Wife Acceptance Factor

https://en.wikipedia.org/wiki/Wife_acceptance_factor
1•neko_ranger•2m ago•0 comments

Best Wispr Flow Alternatives for Android

https://www.yaps.ai/blog/wispr-flow-alternative-android
1•RichAwo•5m ago•0 comments

Books Are Not Remotely Too Expensive

https://www.millersbookreview.com/p/no-books-are-not-remotely-too-expensive
1•herbertl•6m ago•0 comments

I prompted ChatGPT, Claude, Perplexity, and Gemini and watched my Nginx logs

https://surfacedby.com/blog/nginx-logs-ai-traffic-vs-referral-traffic
1•startages•6m ago•0 comments

You Can Purchase Non-Smart TVs from Samsung

https://www.samsung.com/us/business/displays/commercial-tvs/
2•speckx•7m ago•0 comments

The Mystery in the Medicine Cabinet: Acetaminophen, ibuprofen, and what to know

https://asteriskmag.com/issues/14/the-mystery-in-the-medicine-cabinet
1•nkurz•7m ago•0 comments

Kimi K2.6

https://huggingface.co/moonshotai/Kimi-K2.6
2•kbumsik•8m ago•0 comments

'Reefer Madness,' the PSA That Backfired Spectacularly

https://www.nytimes.com/2026/04/20/movies/reefer-madness-psa-1936.html
1•Teever•8m ago•0 comments

Cancelling ARM deployments in Topaz – what it means for an emulator

https://topaz.thecloudtheory.com/blog/arm-deployment-cancel/
1•kamilmrzyglod•8m ago•0 comments

Show HN: Alien – Self-hosting with remote management (written in Rust)

2•alongub•9m ago•0 comments

Shared Dissatisfaction in an Age of Liberal Disillusion

https://greyenlightenment.com/2025/12/29/shared-dissatisfaction-in-an-age-of-liberal-disillusion/
2•paulpauper•10m ago•0 comments

Show HN: Svelte 5 Agency Template – GSAP Animations and Tailwind v4

https://github.com/YusufCeng1z/svelte-gsap-template
1•yusufcengiz•11m ago•0 comments

What Happens When You Rip the Foundation Out of a Security Tool

https://medium.com/zenzic-engineering/all
1•PythonWoods•12m ago•0 comments

Claude Opus 4.7 vs. 4.6: what changed?

https://www.qubrid.com/blog/claude-opus-47-vs-46-what-actually-changed
1•tech_curator•12m ago•0 comments

Offshore tax tricks likely saved Tesla hundreds of millions

https://www.reuters.com/legal/transactional/musk-scorned-shady-loopholes-yet-offshore-tax-tricks-...
3•geox•14m ago•0 comments

Show HN: Open load forecasts that beat US grid operators on 6 of 7 RTOs

https://surgeforecast.com
1•tylergibbs1•14m ago•0 comments

Allbirds' Move to AI Has Echoes of the Dot-Com Frenzy

https://www.bloomberg.com/news/newsletters/2026-04-20/allbirds-pivot-to-ai-stirs-memory-of-dot-co...
1•Brajeshwar•15m ago•0 comments

LLMs may be evidence that reality is probabilistic

https://shawncady.substack.com/p/the-coincidence-at-the-bottom-of
1•smcady•16m ago•1 comments

Alexander Karp's Manifesto

https://www.engadget.com/big-tech/palantir-posted-a-manifesto-that-reads-like-the-ramblings-of-a-...
2•yoyohello13•16m ago•1 comments

The Peoples of America

https://www.palladiummag.com/2026/04/16/the-peoples-of-america/
2•NaOH•17m ago•0 comments

Building an OPNsense router

https://clintonboys.com/projects/homelab/04-router/
1•mtsolitary•18m ago•1 comments

Show HN: SkillCatalog, a Git-native skill manager for AI coding tools

https://skillcatalog.dev
1•sformisano•20m ago•0 comments

'No Random Woman Is Getting What I Built': Founder Reveals 'Floozy Clause'

https://www.ibtimes.co.uk/rebecca-minkoff-floozy-clause-family-wealth-1792608
1•randycupertino•20m ago•1 comments

Data Center Is Getting a $77M Tax Break to Create One Job

https://nysfocus.com/2026/04/20/data-center-tax-break-jpmorgan-chase
2•jaredwiener•21m ago•0 comments
Open in hackernews

Show HN: Genetic Boids Web Simulation

https://attentionmech.github.io/genetic-boids/
158•vimgrinder•11mo ago

Comments

isoprophlex•11mo ago
I'll just say that this looks insanely good, wow.
vimgrinder•11mo ago
thanks!
kldavis4•11mo ago
how are genetic (algorithms) used?
vimgrinder•11mo ago
so, i just used them like conceptually..

each boid has a string, when boids come close , they produce a offspring with mixed string + mutation age lets boids die too

nothing fancy, just for sake of sim

knome•11mo ago
I was playing around, and inspected the boid count control to see if I might manually update it and see what unreasonably large and small populations look like. I saw the connected callback triggered updateProperty. Running updateProperty("boidCount", 10) in the console yielded a field with 10 boids, as expected, but apparently it doesn't update something else the natural code would, as as soon as two of the boids collided, a humongous explosion of boids occurred, like a firework.
chipsrafferty•11mo ago
anything AI can do GAs can do worse
brulard•11mo ago
That's beautiful. What are "signals"?
Xevion•11mo ago
I don't know myself, but it seems to give boids their own unique state and add another layer of influence to their acceleration.

https://github.com/attentionmech/genetic-boids/blob/485fe482...

I'm reading the code but I don't know what it actually DOES in practice; my guess is that Boids with opposite genomes (binary strings with default length 6) are slightly attracted to eachother.

vimgrinder•11mo ago
yes this only.
rvnx•11mo ago
Never heard of such thing, love it!
Xevion•11mo ago
I learned about Boids when I was 16 thanks to Sebastian Lague's amazing video on it: https://youtu.be/bqtqltqcQhw

Highly recommend, especially his older videos on simulations.

vladde•11mo ago
Reminds me of this similar thing!, creating life like behavior with only simple rules https://youtu.be/0Kx4Y9TVMGg?t=40

(the coolest examples come at about half a minute into the video)

Xevion•11mo ago
Awesome work, the green terminal style is really cool. And the fact that it's just Vanilla JavaScript, HTML & CSS is a pretty cool touch. I would've produced something a tenth the style with 10x the complexity

Just some ideas/suggestions: - Better colors: maybe genes can influence colors a bit? The random colors aren't that great, they're good though for making all the boids distinct. - Zooming: Scroll the mousewheel to Zoom In/Out, drag to move around - Interactive: Click on a Boid, have it be followed around using zoom! - Time controls: Not just framerate, but a % multiplier on simulation speed. - GPU Refactor: I don't think you're doing any of this yet, so maybe optimizing for a GPU-based speedup would be cool? See if you can reach 10,000 boids! Sebastian Lague's video goes into parallelization, just not in JavaScript: https://youtu.be/bqtqltqcQhw

vimgrinder•11mo ago
hey thanks! color is coming from genome (check brightColorFromGenome)! nice suggestions, will definitely try to incorporate some of them.
talkingtab•11mo ago
The original Boids is from Craig Reynolds, here:

https://www.red3d.com/cwr/boids/

It was a java applet (sigh) and unfortunately I have not been able to find a working version. That version based on his three "steering" mechanisms had very realistic movement. Other versions, including this one, which are good do not have that same kind of quality. They look like simulations whereas the Reynolds version, for whatever reason, seemed much closer to watching an actual flock.

No criticism intended, it would just be nice to understand the why the difference.

Looking briefly at the code, it seems the fitness function is simply how close the boids are?

Very cool!

vimgrinder•11mo ago
oh, so i wasn't really aware that there was a original boid sim (I will check it today). mostly I saw it on some other demos and I wanted to add this behaviour of signaling boids which are far away + color code based on genome + do a simple cross-mutate. and yes you are right about fitness func.

Beyond this i was trying to add a map which effects their movement. (if you wanna check how it looks - https://x.com/attentionmech/status/1925690991555531143)

janzer•11mo ago
Just a clarifying note, Craig Reynolds is the original researcher for Boids, and he did have a Java applet implementation in the above page. But the original Boids simulation was from 1986, almost a decade prior to Java applets.

The original paper, published in 1987, is "Flocks, herds and schools: A distributed behavioral model"[1]. The implementation was done in Lisp on a Symbolics 3600 Lisp Machine.

Edit: One quite interesting paragraph from the paper regarding performance:

The boid software has not been optimized for speed. But this report would be incomplete without a rough estimate of the actual performance of the system. With a flock of 80 boids, using the naive O(N²) algorithm (and so 6400 individual boid-to-boid comparisons), on a single Lisp Machine without any special hardware accelerators, the simulation ran for about 95 seconds per frame. A ten-second (300 frame) motion test took about eight hours of real time to produce.

Once again, amazing how far hardware has advanced.

1. https://dl.acm.org/doi/10.1145/37402.37406

monster_truck•11mo ago
I've had a lot of fun playing with BBC Microbot (https://bbcmic.ro/). If you add &experimental=true to the URL it will add a rocket ship button underneath the display. Clicking it sends the code off to beebjit and runs it for 10,000 seconds instantly, allowing you to do unreasonable things such as this: https://bbcmic.ro/?t=bC9Go (not mine)
akkartik•11mo ago
I don't know if this will address your question, but I had a long-standing question about boids that might overlap, which I coincidentally only resolved to my satisfaction a month ago. Here's the Lua code I ended up with:

    function update_positions(boids, dt)
      local max_speed = 0.5  -- per frame
      local max_accel = 20  -- per second
      local max_turn_angle = math.pi/6  -- per second
      for _,boid in ipairs(boids) do
        boid.pos = vadd(boid.pos, boid.velocity)
      end
      for i,boid in ipairs(boids) do
        local accel = {x=0, y=0}
        accel = vadd(accel, vscale(avoid_others(boid, boids), 20*dt))
        accel = vadd(accel, vscale(seek_others(boid, boids), 10*dt))
        accel = vadd(accel, vscale(align_with_others(boid, boids), 10*dt))
        accel = vadd(accel, vscale(remain_within_viewport(boid), 40*dt))
        local curr_heading = vnorm(boid.velocity)  -- could be nil
        accel = vclamp2(accel, max_accel*dt, curr_heading, max_turn_angle*dt)
        boid.velocity = vadd(boid.velocity, accel)
        boid.velocity = vclamp(boid.velocity, max_speed)
      end
    end
Here, avoid_others, seek_others and align_with_others are the 3 rules you can find on Wikipedia (https://en.wikipedia.org/wiki/Boids): separation, cohesion, alignment. Each of the functions returns a unit vector, which I then weight using vscale.

The key is the last 4 lines. My intuition here is that the way muscle mechanics work, there are limits on both how fast you can accelerate and also how much you can turn per unit time. That's what vclamp2 is doing. It separately clamps both magnitude and angle of acceleration.

My rough sense after this experience was:

* Boids is not a simple program the way the Game of Life or Mandelbrot set is. The original paper had tons of nuance that we gloss over in the internet era.

* Every implementation I've found is either extremely sensitive to weights or does weird stuff in the steering. Stuff like subtracting velocity from acceleration when the units are different, and so on. There may be a numeric basis for them, but it's never been explained to my satisfaction. Whereas my vclamp2 idea roughly hangs together for me. And the evidence it's on the right track is that a wide variety of weights (the 10s, 20s and 40s above) result in behavior that looks right to me.

talkingtab•11mo ago
Wow! Thanks. The thought about "Boids is not a simple ..." is new to me and very good. The other vector in this is the evolution/genetic algorithm idea. It raises the question of what are the benefits of flocking? And could you plug those into a genetic algorithm to test survival.

It seems like perhaps the visual inputs are another interesting area. What do I (as a boid) do when I see one boid in front of me go right, one go left, for example. But thanks!!

akkartik•11mo ago
Yeah, the original paper gets into some of that. It was about 3D flocking! And Reynolds was very much thinking about what each bird sees, the minimum angle to turn to avoid a collision, etc. All on a then-powerful graphical workstation.
DonHopkins•11mo ago
Craig Reynolds - Original 1986 Boids simulation:

https://www.youtube.com/watch?v=86iQiV3-3IA

Boids Demo Reel 1987 — Part B:

https://www.youtube.com/watch?v=xBniZYiyrb4

>Early motion tests of the boids model of flocking and related collective motion (herds, schools, crowds). Recorded on a Symbolics Lisp Machine between 1986 and 1987.

Stanley and Stella in “BREAKING THE ICE” - Original Symbolics Tapes Restored & Remastered, 1080p:

https://www.youtube.com/watch?v=aYEp26g14Wk

Craig Reynolds #SCCS2015:

https://www.youtube.com/watch?v=rqP_c5zm89Q

>Pioneer Craig Reynolds shares his groundbreaking work in artificial life and computer animation. Reynolds describes his lifelong fascination with simulating natural complexity computationally. By modeling flocking birds from the bottom up, based on simple rules for how individual birds move, Reynolds made the astonishing flock emerge. This agent-based approach allowed new insights into collective behavior impossible to gather from nature alone. Reynolds reflects on the significance of his iconic 1987 "Boids" model for animating birds in films like Batman Returns. But its influence extends further - to complexity science and understanding real-world systems like traffic flow and crowd dynamics. According to Reynolds, the beauty of simple models is their emergent properties. By distilling phenomena to basic rules, computer simulation uncovers new truths about the world. Join this fascinating conversation with a legend of artificial life and computer graphics.

Blender Tutorial - Full Guide to Boid Particles:

https://www.youtube.com/watch?v=J3TUPYVsxow

"Concierge" clip from 1968 Mel Brooks' "The Producers":

https://www.youtube.com/watch?v=aL6mTMShVyk

>Doity, disgusting, filthy, lice ridden boids.

brodo•11mo ago
I've just built a boid simulation in Go and WebGPU. 16k boids are no problem on my M1 Mac Pro. I did not implement any optimization yet.
vimgrinder•11mo ago
oh nice, webGPU thing should learn sometime!
anigbrowl•11mo ago
I really like it, though I'm finding it dies consistently after about 30s (Vivaldi on an intel iMac with a decent GPU).
vimgrinder•11mo ago
dies in the sense machine gets hung or all boids vanish?

EDIT: also pushed some fixes in params (allow offsprings at larger distance, etc), but basically if the boids don't end up closer, they won't reproduce and the population dies so play with that and lmk

diggan•11mo ago
Noticed that all the boids lifetime seems to be the same, so you go from "a flock" to "nothing" very quickly if the lifetime been hit. What I've done before with "crowd simulations" like these, is add another params, something like "random lifetime interval" where if set to say 100, it'll set the actual lifetime to be randomly chosen between $LIFETIME - 100 and $LIFETIME + 100, so things die a bit less predictable. Helps stabilize the simulations too when you're doing reproduction too.
vimgrinder•11mo ago
yes had the same idea but applied that by doing randomization in age: floor(random(0, this.lifespan))

for me its not vanishing suddenly, so not sure how to reproduce now

anigbrowl•10mo ago
Boids vanishing
throw_m239339•11mo ago
I remember that word "Boids" from Blender Physic simulation menu, to mimic a flock of birds in 3D, I also remember understanding nothing to its settings, but it kind of worked well.
chachacharge•11mo ago
Green light is perceived as brighter than other colors because human eyes are most sensitive to it. This sensitivity is related to the wavelengths of light that our visual system responds to, with green being at the peak of our vision
animal531•11mo ago
I quite like Boids, but recently I started playing with RVO2 ORCA (optimal reciprocal collision avoidance). I made some changes to it and moved it to a compute shader to make this: https://www.youtube.com/watch?v=BavnPOPcHlk

The entities in the video are running super fast for testing purposes, so usually they'd be going a lot slower. They can produce some really pleasing patterns as they move through each other etc.

On the downside its quite expensive vs Boids, for example the video is from a slightly older version and every agent is looking at the closest 32 neighbours + 32 obstacles to compute its own velocity. At high densities you can drop that to e.g. 4 neighbours without appreciable difference, which allows for running e.g. 32k entities at 120fps.

adanto6840•10mo ago
I've done a lot of work on realtime obstacle avoidance that scales well (targeting ~60-100k agents) -- steering behaviors, flow fields, RVO2/ORCA, and lots more -- for agent-based "old school" tycoon-style simulation games. :)

I'm super intrigued by what you've created, especially to hear about running it in a compute shader! I'd love to talk with you more about it, if you're open to it? I briefly looked for a way to get in touch directly but didn't see any contact info -- my email is in my profile, I'd love to connect! :)