frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

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

https://openciv3.org/
426•klaussilveira•5h ago•97 comments

Hello world does not compile

https://github.com/anthropics/claudes-c-compiler/issues/1
21•mfiguiere•42m ago•8 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
775•xnx•11h ago•472 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
142•isitcontent•6h ago•15 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
135•dmpetrov•6h ago•57 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
41•quibono•4d ago•3 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
246•vecti•8h ago•117 comments

A century of hair samples proves leaded gas ban worked

https://arstechnica.com/science/2026/02/a-century-of-hair-samples-proves-leaded-gas-ban-worked/
70•jnord•3d ago•4 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
180•eljojo•8h ago•124 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
314•aktau•12h ago•154 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
12•matheusalmeida•1d ago•0 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
311•ostacke•12h ago•85 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
397•todsacerdoti•13h ago•217 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
322•lstoll•12h ago•233 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
12•kmm•4d ago•0 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
48•phreda4•5h ago•8 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
109•vmatsiiako•11h ago•34 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
186•i5heu•8h ago•129 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
236•surprisetalk•3d ago•31 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
976•cdrnsf•15h ago•415 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
144•limoce•3d ago•79 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
17•gfortaine•3h ago•2 comments

I'm going to cure my girlfriend's brain tumor

https://andrewjrod.substack.com/p/im-going-to-cure-my-girlfriends-brain
49•ray__•2h ago•11 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
41•rescrv•13h ago•17 comments

Evaluating and mitigating the growing risk of LLM-discovered 0-days

https://red.anthropic.com/2026/zero-days/
35•lebovic•1d ago•11 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
52•SerCe•2h ago•42 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
77•antves•1d ago•57 comments

The Oklahoma Architect Who Turned Kitsch into Art

https://www.bloomberg.com/news/features/2026-01-31/oklahoma-architect-bruce-goff-s-wild-home-desi...
18•MarlonPro•3d ago•4 comments

Claude Composer

https://www.josh.ing/blog/claude-composer
108•coloneltcb•2d ago•71 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
39•nwparker•1d ago•10 comments
Open in hackernews

Springs and bounces in native CSS

https://www.joshwcomeau.com/animation/linear-timing-function/
273•feross•3mo ago

Comments

SweetSoftPillow•3mo ago
I've encountered a strange bug (using Chrome for Android). When I have this CSS demo page open and scroll about halfway down, the volume of my background audio (e.g., a Twitch App stream) drops by about 50%. Closing the tab immediately restores the audio to its normal volume. I can reproduce this issue consistently. Does anyone have any idea what might be causing this behavior?

Edit: it seems it's caused by autoplay of Easing Wizard's video.

xnavra50•3mo ago
Btw: the design of the webpage with all the animations and beautifully crafted info-boxes is top-notch.
rossant•3mo ago
Agreed. And wow, try to turn dark/light theme on and off (hint: speakers on).
broof•3mo ago
His stuff is so incredibly high quality. Really stands out in an AI slop filled internet
rosslh•3mo ago
Yet another banger from Josh Comeau. Dude does not miss!
spankalee•3mo ago
I wish CSS had two related things

- A function similar to linear() that supports control points so we can make multi-point Bezier paths.

- calc() support as an easing function so you could combine sin(), etc., and do oscillation with damping.

- A spring() function that remembers the current velocity for when parameters change.

magicalhippo•3mo ago
I'm not a web guy. Why would you want that in CSS when you have Javascript?
paulhebert•3mo ago
JS tends to be slower to load, parse and run than CSS.

Additionally, animations are often tightly linked to your page styles which are set in CSS. It’s easier to reason about them if they’re all in the same file and language instead of split across CSS and JS.

mminer237•3mo ago
Off the top of my head:

* It's easier to write without pulling in dependencies.

* Being simpler syntax means smaller page sizes.

* In theory, CSS animations can be faster.

* You don't have to worry about attaching listeners to dynamic content.

* Styling with JS violates Separation of Concerns.

* `prefers-reduced-motion` is only available in CSS, so JS has to run a CSS query anyway.

Sesse__•3mo ago
CSS animations run in the compositor thread, so they are isolated from jank due to concurrently running JS.
alt187•3mo ago
Another argument, this time for performance: JavaScript is single-threaded, so while you wait for your hyper-detailed spring animation to play out, the JS engine does literally nothing else.
SweetSoftPillow•3mo ago
For performance reasons we always prefer HTML, then CSS, and only then JS as a last resort.
tkiolp4•3mo ago
Nice website. I got the newsletter popup, but it was cute, not annoying like they usually are.
dmitrygr•3mo ago
> There is an open proposal(opens in new tab) to add a spring() timing function to CSS. Unlike linear(), this would actually be a true spring physics implementation! It wouldn’t have any of the limitations we’ve discussed here.

Uh huh... How long till a proper implementation of CSS requires a proper emulator of relativistic physics and quantum effects? Have we learned nothing from modern browsers already becoming de-facto poorly-specced and poorer-yet implemented JS-based operating systems / malware delivery vehicles?

afavour•3mo ago
It’s a timing function.
tshaddox•3mo ago
It’s just spring physics, hardly a slippery slope to a Newtonian physics engine let alone a relativistic or quantum physics engine. I wouldn’t describe the math as significantly more complex than Bézier curves.
dmitrygr•3mo ago
Every thing you add is another step away from making building another browser engine a possibility.
alt187•3mo ago
I'm not absolutely certain the spring() function would be in the top 1500 of things that are hard to implement in a grassroots browser engine.
tshaddox•3mo ago
Indeed. I suspect that generally the older a web feature is, the more difficult it would be for a new browser lot implement.
dmitrygr•3mo ago
The point I’m making is about the number of features. Even if every single one is simple, when most websites require a different subset, to be a viable browser, you have to implement them all so growing the number increases the difficulty of implementing a viable browser.
slig•3mo ago
I'm doing his latest course on whimsical animations. So. Freaking. Good.
madethemcry•3mo ago
That gives me a quite literal flashback.

Back in the Macromedia Flash 5 days (25 years ago!), Robert Penner popularized the easing concept. I can't imagine the void we had before that. I clearly remember me starring at the formulas in ActionScript 1.0 (see [1]) without any chance of understanding them - but usage was clear, easy and fun!

Those formulas basically generated the required tweening numbers mathematical (comparable to the Bezier approach mentioned in the article). That's a much different concept to the linear interpolation described in the linked blog article where you pass in a static list of numbers. The more complex your curve the more numbers you need. That's when the author links to the external tool "Linear() Easing Generator" by Jake Archibald and Adam Argyle. It was a fresh and nice reading even though animations are less a topic for me then it was back with Flash.

Here an example of an easing function from the linked source file. The tween executing function would pass in time (t) and other parameters I can't name to calculate the resulting value continuously.

  Math.easeInOutBack = function (t, b, c, d, s) {
      if (s == undefined) s = 1.70158; 
      if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
      return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
  };
If you want to dig deeper, visit roberpenner's easing overview [2] with some resources. Surprisingly all of those links are still working.

[1] https://robertpenner.com/easing/penner_easing_as1.txt [2] https://robertpenner.com/easing/

jasonjmcghee•3mo ago
I really wanted to change the easing curves. They are interactive, but not modifiable. If you're reading this @joshwcomeau - i would play with the curves if you made them modifiable lol
nine_k•3mo ago
There is a modifiable curve after many fixed-shape examples. It's not easy to come up with something that feels realistic though!
_greim_•3mo ago
Since the goal is to create an illusion of real physics, I wonder when they'll just cut to the chase and start using actual physics engines.

Reason I mention it is neither this nor bezier curves deal with the target changing mid-animation very well. CSS just starts over from the current position, which breaks the illusion. A physics engine would maintain the illusion, and could be simpler to specify:

    transition: physics(system=gravity, force=10, bounce=on, dampening=3)
    transition: physics(system=spring, force=5, bounce=off, dampening=5)
tshaddox•3mo ago
The article mentions spring animations, which is essentially a basic physics simulation. They’re very commonly used in higher level JavaScript animation frameworks, but not supported in native CSS.
petralithic•3mo ago
Both paragraphs are addressed in the article.
Theodores•3mo ago
"Marge, I'm pulling an all-nighter for my little girl. Put on a pot of coffee! Drink it, and start making burgers"

I love articles like this one, that inspire me to want to get coding as if it was the most exciting thing to do in the world.

I did subscribe to the newsletter, I bookmarked the page, and I am going back right now to see what else there is to learn from the website. Some of it is in the details, if you subscribe, then you get a sound played. For the last two decades or so, playing sounds without asking the user has been strictly forbidden, but here the rules are known and broken, which I like, as it means I can experiment with this myself and stop being so boring.

dyauspitr•3mo ago
CSS is so stupid, this stuff was so easy with Flash. Just look at this mess.
culebron21•3mo ago
Why do we need, essentially checkboxes, to have a whole simulation? How many people would even notice the switches have a transition at all?

I was fascinated with building websites ~25 years ago, but looking back, we were doing just printing press on screens -- e.g. the obsession with text-align:justify, and some people not satisfied with that, made punctuation marks stick out. All that "rubber" <div>s insanity... and now this: every little flip switch needs a whole animation process. Who will care if they have no transitions whatsoever?

jdthedisciple•3mo ago
Counterpoint:

A smoothly animated switch is calming to our vegetative nervous system resulting in reduced systemic bodily inflammation, thereby facilitating healing from almost any health condition imaginable.

Bit like a wholesome, warm asparagus soup before bed.

afandian•3mo ago
It's like we never learn from history.

Remember "The Grouch" Mac OS extension, and the parents who found that their children had deleted precious files because they enjoyed the little song?

https://apple.fandom.com/wiki/The_Grouch

watersb•3mo ago
On a Mac IIci with a reasonable amount of RAM, I has users run out of System memory when the "Grouch" extension was loaded. The audio was uncompressed PCM, and it took about 200KB.

It was a nice tech support call, in the sense that removing the extension fixed all the weird crashes and reboots.

But some folks were really sad to let the Grouch go..

JodieBenitez•3mo ago
There are people like him. And then there are people like me, looking for the option in my window manager not to draw the content when a window is moved.
srean•3mo ago
Two of a kind then. This would be the first thing I would set in my fvwm window manager.
lerp-io•3mo ago
once u mess with it enough u will realize that u need physics math that relies on a function that uses the previous state to interpolate between different states. u can use great libraries such as https://motion.dev/ for this
maybewhenthesun•3mo ago
a revisit of the <blink> tag :-P

The article is nice. The website is very nicely done. It's interesting in a 'because you can' sort of way.

But I shudder when I imagine a web where all page elements move with bouncyness.

edit: which is not to say you should never use it of course. Even the <blink> had some uses.

afandian•3mo ago
These are fun decorations. Maybe there's a practical benefit. But please, if someone has set 'prefer reduced motion' then just don't animate anything.
muspimerol•3mo ago
Good thing that's exactly what the article suggests!
afandian•3mo ago
I wasn't clear from the article if it was entirely disabled. It says:

> Like with all animations, we should make sure to respect user motion preferences.

I'm out of date with modern CSS, so I wasn't sure from the syntax if the code snippet out-and-out prevented it, or just reduced it.

pwdisswordfishy•3mo ago
Why is it even something that websites have to explicitly design for?

Browsers should just refuse to honor any animation declarations when the preference is enabled, with websites none the wiser.