frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

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

https://openciv3.org/
624•klaussilveira•12h ago•182 comments

The Waymo World Model

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

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
32•helloplanets•4d ago•24 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
109•matheusalmeida•1d ago•27 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
9•kaonwarb•3d ago•7 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

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

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

https://github.com/valdanylchuk/breezydemo
219•isitcontent•13h ago•25 comments

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

https://github.com/pydantic/monty
210•dmpetrov•13h ago•103 comments

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

https://vecti.com
322•vecti•15h ago•143 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
370•ostacke•18h ago•94 comments

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

https://github.com/microsoft/litebox
358•aktau•19h ago•181 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
477•todsacerdoti•20h ago•232 comments

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

https://eljojo.github.io/rememory/
272•eljojo•15h ago•160 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
402•lstoll•19h ago•271 comments

Dark Alley Mathematics

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

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
14•jesperordrup•2h ago•6 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
25•romes•4d ago•3 comments

Start all of your commands with a comma

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

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
56•kmm•5d ago•3 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
12•bikenaga•3d ago•2 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
244•i5heu•15h ago•188 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
52•gfortaine•10h ago•21 comments

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

https://infisical.com/blog/devops-to-solutions-engineering
140•vmatsiiako•17h ago•62 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
280•surprisetalk•3d ago•37 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/
1058•cdrnsf•22h ago•433 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
132•SerCe•8h ago•117 comments

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

https://github.com/phreda4/r3
70•phreda4•12h ago•14 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•7h ago•11 comments

Learning from context is harder than we thought

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

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
63•rescrv•20h ago•22 comments
Open in hackernews

G0-G3 corners, visualised: learn what "Apple corners" are

https://www.printables.com/model/1490911-g0-g3-corners-visualised-learn-what-apple-corners
144•dgroshev•2mo ago

Comments

LiamPowell•2mo ago
These corners are so close that they're going to have no practical difference when 3D printing them, the maximum deviation between G1 and G3 is only 0.1mm. You need to exaggerate the effect much more to show the difference.

> G3 continuous corners mean that the print head experiences smooth acceleration while printing such corners.

Axial acceleration is the key here, not just acceleration, that however does not matter if the controller does not output feedrate profiles with smooth acceleration to go along with it.

ricardobeat•2mo ago
> the maximum deviation between G1 and G3 is only 0.1mm

In a small 100x100mm box, with a 12mm fillet, G1/G2/G3 corners already have a visible 0.5mm difference. What gives it away is the lack of a hard transition between the flat surface and the corner, that's very noticeable on a reflective surface.

On the mechanical side, I think the effect they refer to also comes down to that transition line - going from a straight line immediately into a curve (G1) which adds lateral forces, vs easing into that curve over a few more steps which avoids jerking the print head.

LiamPowell•2mo ago
I may have measured incorrectly in the provided model then. That's still pushing things at 3D printer scales, especially when you don't have a polished surface. I also think an internal corner might be more noticeable by feel.
anamexis•2mo ago
> That's still pushing things at 3D printer scales

Consumer FDM 3D printers have an XY positional resolution on the order of 0.01 mm.

kergonath•2mo ago
> the maximum deviation between G1 and G3 is only 0.1mm. You need to exaggerate the effect much more to show the difference.

Even if the difference is small, it can be very visible because of how light is scattered on the surface. This causes visible transitions when the splines intersect the sides. Depending on what you do, it might or might not matter, but there is a visible difference.

I cannot test, but I would think that it would also be felt with the fingers. Of course, it matters only if the surface is smooth enough in the first place.

baq•2mo ago
> be felt with the fingers

reminded me of https://en.wikipedia.org/wiki/Achim_Leistner

kergonath•2mo ago
Very interesting, thanks for the link!
dgroshev•2mo ago
It seems small in absolute terms, but it's suprisingly visible, even to "normal" people, which was the entire point of making a physical object!

I gave that object to a dozen people without explanation. Only one of them was a designer. All of them preferred G3 after comparing corners by look and touch for a few seconds. Honestly, I was surprised that it was this unanimous; I deliberately made the difference small.

Karliss•2mo ago
Did you have the labels hidden? Even with that having single shape with corners sorted by the continuity degree might influence the result towards choosing last as best.

For a proper blind test it would help to have separate physical objects. Maybe even with varying corner sizes so that you can't easily rely on bigger=better intuition for comparing two corners of different objects.

ZiiS•2mo ago
I wanted to play with this in OpenSCAD; here is G1 vs G2

  include <BOSL2/nurbs.scad>
  $fn=16;
  back(400) cuboid([200,200,100],rounding=50,edges="Z");
  pts=subdivide_path(square([200,200],center=true),8);
  linear_extrude(100) polygon(nurbs_curve(pts,2,splinesteps=$fn/4,type="closed"));
EZ-E•2mo ago
I thought this was going to talk about all the competing, different corners radiuses on MacOS windows

(is plural of radius radiuses? or radii?)

ZiiS•2mo ago
I am sure we can now obsess over their different continuities as well as radii. (Either is fine)
atoav•2mo ago
As someone who modeled surfaces like this for a living:

  G0 Positional Continuity: The surfaces touch without gap, but there may be a sharp corner. Example: the corners of a cube  
  
  G1 Tangential Continuity: G0 but additionally the surfaces have the same slope (are tangential) at the point where they touch. Example: adding a circular fillet to the corners of a cube  
  
This is where most basic CAD modellers would stop. The problem with just putting a cylindrical or a spherical fillet in a corner is that you basically go from a flat surface (zero curvature) to a surface with some curvature on a whim. If your surface is reflective that means you go from a flat mirror to a strongly distorting one instantly, this will visually appear as a edge even if there is none. Curvature btw. is just the reciprocal of radius (1/r)

If we talk about forces (e.g. imagine a skateboard ramp) you go flat (no centripetal force) to circular (constant centripetal force) without any transition inbetween. In effect this will feel like a bump that can throw inexperienced skateboarders of their feet.

This means tangential transitions often do not cut it.

  G2 Continuity: In addition to being G0 and G1 you additionally ensure the curvature is the same where both surfaces meet. This usually means instead of going from a flat surface into a circle you go into a curve that starta out flat and then bends slowly into a radius.  
  
Now the curvature of a curve can be drawn as a curvature comb. You basically take the curvature at any point of the curve and draw the value as the length of a line that is perpendicular to the curve.

G1 is if the perpendicular lines at the ends of the two curves align. G2 is if the curvature comb at the end of the two lines additionally has the same height (indicating the same curvature at the transition point).

G3 is basically just ensuring that the two curvature combs are tangential at the point where they meet. G4 is ensuring that the curvature combs are not only tangential, but have the same curvature. G5 is taking the curvature of the curvature...

By this point you may be able to sense a pattern.

baq•2mo ago
sounds like every step needs one more derivative to be continuous...?
spookie•2mo ago
Exactly.
atoav•2mo ago
I thought about talking about derivatives but wanted to avoid to mention to many unexplained words, but yes, derivatives are exactly the way you should be thinking about this.

In physics/mechanical engineering they have even names for these derivatives when we talk about motion (in this order):

  position
  velocity
  acceleration
  jerk
  snap
  crackle
  pop  
  
Also see: https://en.wikipedia.org/wiki/Jerk_%28physics%29
kuschku•2mo ago
This same effect also shows up in other fields:

- Why roller coaster loops aren't circular https://www.youtube.com/watch?v=3Kzl2suBE2w - Highway Engineering: Track transition curve https://en.wikipedia.org/wiki/Track_transition_curve

javawizard•2mo ago
Well now I'm curious: what's the limit of G<n> as <n> goes to infinity?

A truncated sine wave? (insofar as sine waves are their own derivative, shifted by 90 degrees, so if I'm doing my math right they would theoretically be G∞-continuous)

LegionMammal978•2mo ago
Things like bump functions [0] would generally do the trick.

[0] https://en.wikipedia.org/wiki/Bump_function

ricardobeat•2mo ago
One thing they don’t mention is that smooth G2/G3 corners will print horribly (with FDM) if added to vertical corners, there just aren’t enough layers even with a 0.2mm nozzle. You can see they use a straight chamfer on the example piece.

While dreaming up Apple-like objects I quickly discovered 3D-printing them with good surface finish is nearly impossible. Best we can do is Mac mini-like flat tops. Like most other manufacturing methods, its limitations heavily influence the design.

Someone•2mo ago
Apple is 3D-printing Apple-like objects (https://www.apple.com/newsroom/2025/11/mapping-the-future-wi...), so one can hope this will trickle-down to hobbyist price points some time in the future.
supermatt•2mo ago
There was a kickstarter for a $3000 SLS printer a while ago. Formlabs (who have over 50% of the SLS market) promptly bought the company and shut down the kickstarter - and gave backers a $1000 coupon towards their $30000 SLS printers...
javawizard•2mo ago
That pissed me off so much.

I was one of the backers and I was sooooo looking forward to an affordable home SLS printer. They'd done some incredible engineering, too, in service of getting the price point down to where it was.

Scaling up was going to be a massive challenge for them, but damn, I wish they'd tried instead of phoning it in early.

(Mind you, I'm sure Formlabs paid them handsomely. Would I make the same decision under the same circumstances? I honestly don't know. So far be it from me to judge them, but man do I wish someone would do something about Formlabs' ridiculous prices and monopoly over that space.)

hobofan•2mo ago
> I wish they'd tried

I'm sure they've tried. From what I recall they've had serious reliability issues on the preview units. So I'd be skeptical if it would have even turned into a successfully delivered Kickstarter. They would have to deliver on that first before even concerning themselves with how to scale up.

So maybe they didn't even get handsomely paid in the acquisition, but were given an option to save face.

VBprogrammer•2mo ago
Working within the limitations of a medium is a skill as old as time. Often work arounds for the limitations become design features that people come to expect. 3d prints typically use more chamfers than fillets for exactly this reason.

Most of the hobby grade printers are FDM, it's unlikely we'll evolve beyond the limitations of layer lines being a few tenths of a mm. UV resin printers however aren't ridiculously expensive and they have small enough layers that it's completely doable.

exasperaited•2mo ago
Well, you can certainly FDM print layers below one tenth of a millimetre tall even with a 0.2mm nozzle, and stagger horizontal edges the same. The problem is the time cost of doing so with a large object. Even variable layer height burns through a lot of time. There is some work being done with variable layer heights on outer perimeters only so we may get some significant improvements in the future.

I just wish people would, as you are saying, work with and accept the inherent qualities of the medium rather than doing insane, foolish stuff like using carbon-fibre-filled filaments for surface finish.

wongarsu•2mo ago
And you still get something pretty apple-like if you use large fillets for anything that follows the layer lines and small chamfers for any corner that doesn't. Maybe not Macbook-like, but certainly Mac-Mini-like. And if that's not good enough there's always the option of spending time with filler and sandpaper. There are few fabrication methods that get perfect looking results without some dedication to post-processing. With UV resin printers you just trade the sanding for washing and curing (a really good trade if you need tiny details, but still)
kergonath•2mo ago
Each method has its limitations. The technique they use (melting powder with lasers) is completely different to what people typically do at home (using either photosensitive resin or filaments).
dgroshev•2mo ago
I mostly agree, but it also depends on the size and the shape of the fillet. Large sweeping curves that stay close to horizontal for a long distance are bad, but a tight corner can still look better in G2/G3 than just G1. On the top at least, because fillets on the bottom create sharp overhangs that don't print well.

Also, if you have that option, filler + sanding + paint can hide the layers completely, but preserve the overall shape.

d--b•2mo ago
This is also what's happening in an elevator. You not only want the speed to increase slowly, you also want the acceleration to increase slowly, cause that's what actually makes your guts go down. And the best way to do this is to have the acceleration of the acceleration continuous.

In the end the position of the elevator is 3-continuous (why is it called G3? in France we call this C3). And the apple corner is just a graph of the position of an elevator wrt time. Mind blowing

LiamPowell•2mo ago
G and C continuity have slightly different meanings. You can have curves that are G^n but not C^n and vice-versa. I'll leave it to you to find a maths textbook that gives a better explanation than I would if I attempted to here.
andrewingram•2mo ago
I'm always reminded of snap, crackle and pop (https://en.wikipedia.org/wiki/Fourth,_fifth,_and_sixth_deriv...) for this topic. Essentially it's not enough to just have continuous acceleration, you have to ease into it (low snap), you can probably go into further derivatives for ultra smoothness but maybe not worth it?
quietbritishjim•2mo ago
As your link says, acceleration is 2nd derivative of position, so rate of change of acceleration is 3rd derivative, often called jolt. As you say, you want acceleration to vary slowly, so it's low jolt that you want.

Snap (or jounce), crackle and pop are 4th/5th/6th derivative. They're probably less of a problem.

nkrisc•2mo ago
I’ve also heard it called “jerk”.
quietbritishjim•2mo ago
Oops, that's what I meant to say! So much for my correction.

I actually heard, many years ago, the higher derivatives referred to as "jerk" (3rd, as you said), "jolt" (4th) and "jounce" (5th). But that contradicts the Wikipedia article that says "jounce" is 4th derivative.

andrewingram•2mo ago
Oops, yeah you’re right!
rcxdude•2mo ago
It can help because the higher derivatives also tend to promote vibrations in the system, but I doubt it'd be perceptible by people. I have heard of 5th-order smooth curves being used for very sensitive structures, like the movement of big observatory telescopes.
oasisaimlessly•2mo ago
G^n curvature solely depends on the geometry of the curve, while C^n continuity also depends on how you parameterize the curve. So, G^n is what you want if you're talking about a purely geometric shape rather than an (x(t), y(t)) trajectory.

* reference: section 2.1 of https://graphics.stanford.edu/courses/cs348a-21-winter/Reade...

junon•2mo ago
If anyone wants a good primer into curves, Freya Holmér has an amazing deep dive into continuity.

https://youtu.be/jvPPXbo87ds?si=7IbeklF4p9qg1F6X

dgroshev•2mo ago
It's a lovely video! I linked it in the description, and I strongly recommend the other videos too.
KeplerBoy•2mo ago
Such a shame Freya doesn't seem to post regularly anywhere these days. I miss her tweets.
kurishutofu•2mo ago
I think she is active on bluesky
gpm•2mo ago
She is, but I think her work results in less pretty tweets these days.
mcphage•2mo ago
I dunno, she tweeted (skeeted?) out something recently with position & rotation splines that was pretty cool.
pschastain•2mo ago
https://bsky.app/profile/freya.bsky.social
KeplerBoy•2mo ago
Thanks, guess she should put a link to that on youtube.
rozab•2mo ago
I think she's in the mines working on her Blender/Maya alternative, Half Edge.

https://half-edge.handmade.network/

adgjlsfhk1•2mo ago
going up against Blender seems really tough.
owobeid•2mo ago
Are there good ways of achieving this in tools like Blender and Illustrator? My best result so far in Illustrator was to round corners first and then apply a small amount of smooth but it looks a bit wonky.
WillAdams•2mo ago
It should work to drag the off-curve nodes so that they touch where the corner would be if the rounded rect was a square/rectangle.
Karliss•2mo ago
Using regular beziers you should be able to get at least G1. Symmetric smooth cubic bezier nodes should be C1. With regards to G2 Inskcape and Coreldraw have b-splines, not an Illustrator user from what I could find seems like Illustrator lacks it.

Blender has tools for at least basic nurbs modeling.

I am slightly skeptical on the need of this in 2d vector drawings (outside few very specific use cases). Big reason for having higher degree continuity of 3d surfaces in industrial design is that looking at reflection in mirror surfaces (like cars) makes the difference very obvious. For 2d drawings you can't really look at the side of it and see 1d reflection.

fennecfoxy•2mo ago
It's just a corner with a huge radius...idk why the cult has suddenly attributed this to Apple. Perhaps because of the ridiculous court case.
echoangle•2mo ago
No, it’s not a circular shape, that’s the entire point of the article.
jdiff•2mo ago
This is an article about continuity, not corners. I mean it is about corners, but not ones with huge radii.
aziaziazi•2mo ago
This page has images that clarify the subject: https://help.autodesk.com/view/ALIAS/2024/ENU/?guid=continui...
crazygringo•2mo ago
Thank you, this is so much more helpful if you don't want to watch videos.
manoDev•2mo ago
I remember reading somewhere that these curves were based on the curves that naturally occur on smooth pebbles due to the abrasion of water, but can’t find a link now (searching “apple” and “pebble” only gives me results about the smartwatch)
nusl•2mo ago
Maybe from here?

https://www.figma.com/blog/desperately-seeking-squircles/

manoDev•2mo ago
Maybe!

> a squircle doesn’t look like a square with surgery performed on it; it registers as an entity in its own right, like the shape of a smooth pebble in a riverbed, a unified and elemental whole.

But I seem to remember reading about Jobs or maybe Ive stating smooth pebbles as a source of inspiration for how objects should feel in the hand – I believe it was in the context of the first iPhone shape.

sfpotter•2mo ago
One interesting and sort of unhappy artifact of CAD is the adoption of B-splines and NURBS as the primal basis for modeling. The whole point of B-splines is that they are the obvious basis for maximally continuous splines of a certain degree (i.e., degree n gives C^{n-1}). This is much more than G continuity. But in CAD, it's often the case that all you care about is just G continuity.

So you run into a weird situation where CAD software may pass around NURBS or B-splines with multiply inserted (or even fully inserted) knots, seriously reducing the need for using splines in the first place.

The problem is that splines are a really inconvenient and even unstable basis for doing numerical work... which is what all of CAD is.

tobr•2mo ago
Curious, is there some alternative that would give you both higher order continuity and numerical stability? Or are they fundamentally at odds?
sfpotter•2mo ago
IMO, higher order continuity is a red herring. You can make something approximately high order continuous (say, to 10+ digits, or whatever you like) piecewise much more easily than enforcing mathematically exact high order continuity. Once you think of continuity as something to achieve approximately, standard methods from classical approximation theory suffice.
Duanemclemore•2mo ago
Rhino3d [0] is one of the state-of-the-art programs (along with Alias) for the drawing of nurbs and modeling with them. The result is the industry standard "Class A" surfaces. Rhino has amazing "BlendCrv" and "BlendSrf" commands that allow you to combine curvatures between the two curves / surfaces being blended. EG, you can interactively choose G0 at one side and G3 at the other, etc.

Rhino also has really nice and performant curvature analysis tools, and a whole host of other tools for implementing Nurbs.

Alias is at least $5,000 / year per seat. Rhino is $995 for a perpetual license, with new versions coming out every 2.5 - 3 years and significant functionality upgrades each time.

McNeel also maintains OpenNurbs [1], an open source library [2] for the construction and use of Nurbs. This powers Rhino of course and is used in other software. I'm still waiting for someone to implement OpenNurbs natively and robustly on Linux. But I like the Rhino platform and McNeel as a company so much that I run it using wine.

[0] https://www.rhino3d.com/ Developed by McNeel Software [1] https://www.rhino3d.com/features/developer/opennurbs/ [2] https://github.com/mcneel/opennurbs

sfpotter•2mo ago
FYI: OpenNURBS runs fine on Linux, and is actually only supposed to be an (the) open source implementation of Rhino's .3dm file format. It is stripped of much of the functionality required of a full fledged CAD kernel (the rest is proprietary and included in Rhino proper).
Duanemclemore•2mo ago
Fair enough - I haven't poked around in it that much, so I didn't realize that OpenNurbs was limited in that way. But as a for-profit company, I guess it makes sense that they're not going to share their entire geometry engine.