News for hackers. Stuff that matters.

unconed

Re:The HTML-in-Canvas API origin trial on Friday October 23, 2026 @04:45AM (#50206109)
I discussed concerns about HTML-in-Canvas a while back as part of this post: https://acko.net/blog/html-is-dead-long-live-html/

Since then I've actually met these two and had to conclude that:

- They didn't have any use-cases in mind that weren't cosmetic

- They don't quite understand how being part of an advertising company shapes how they build and conceive of web tech

- They react quite poorly to reactions that aren't cheerleading

The answer for curved elements was handwaving and "just approximate it with flat projective transforms" which tells you this is not a serious attempt to expose mature UI internals, but just another shiny epicycle on the creaky leviathan that is the HTML5 web api.

The list of features that "automatically work" rests on assumptions that are only valid for minor visual adjustments. The moment you try to use HTML-in-Canvas as a more basic building block, a lot of that falls away.

e.g. Suppose I render a piece of text and then use that as a mask for visual effects. If the browser now draws a text selection highlight into that mask, the text becomes unreadable.

Seems like vibe coded slop?

The long/lat globe has a bizarre projection that has incorrect perspective. Neither orthogonal nor inverse Z.

The "utah" teapot is not the utah teapot. The handle is also oriented with backfaces showing, and is disconnected from the teapot body.

The "glenzing" example is just regular alpha blending and fill whereas the original glenz effect was about mimicking alpha blend using bitwise tricks on a purposely designed 256 color palette (iirc in Second Reality).

Etc etc.

I don't understand why this stuff is supposed to be impressive when what it really represents is the inability of the person who posted it to spot and fix the errors, ranging from blatantly obvious to subtly historically inaccurate.

Calling this a "museum" is a misnomer. Museums do curation and restoration, not kitschy knock offs.

Re:Normalized Fascism in Open Source: $12M Given to DHH on Thursday September 03, 2026 @11:51AM (#49552043)
So, just to illustrate.

A "vaccine skeptic" is generally considered to mean someone who is skeptical that vaccinations work at all.

This is very different from having specific concerns about specific products, like the COVID "vaccines", which turned out to:

- not protect against infection

- not prevent transmission

- have numerous side-effects worse than the disease it's supposed to prevent

...all in direct contradiction to the pharma propaganda that was the norm during 2021-2022, for which large amounts were paid to influencers and media.

Indeed, someone who is a proponent of the practice of vaccination ought to be dismayed that such a shoddy product was pushed as belonging in the same category as time-tested vaccines which went through a rigorous and long development process before hitting the market, rather than being foisted on a population under duress. Competing remedies were also ridiculed so as to secure that desirable Emergency Market Authorization, combined with government contracts that removed any liability for the producers, with additional censorship of those contracts before release to the public.

Hence, "You're all on the same team now" is an example of missing the point entirely and turning the issue of vaccination into political team sports and "our guy" vs "their guy", rather than actually debating any of the issues that matter in public health. Do you see what I mean about not being able to state what opponents actually believe?

With loaded terms such as "hate", "toxic" and "harmful" being thrown around like candy, it's exactly the same thing. Hate and harm are supposed to be decided according to objective norms of discourse and behavior, not sentiment. Because what happens is sentiment is decided according to whom the source and target is. The lefties obsessed with these topics decide first who can be a victim and perpetrator based on the tenets of intersectionality, and then interpret the events and actions to fit that preconceived hypothesis. This is largely a result of peer pressure within their own circles. The Jason Arday case is the best recent illustration.

Notice too that the surveys you cite center on "worry about the rise in harmful content" and "feeling less safe". Not about any actual harm that may have been done, nor about whether safety has actually gone up or down.

I'll even add that the distinction between looking at objective behavior and outcomes, vs looking at subjective sentiment, tracks very well with masculine vs feminine norms in social interaction. Feminization of online spaces has been an absolute disaster and the quality of discourse has gone down immensely, because women by and large prefer social cohesion over facing uncomfortable truths. But when the ship is sinking, complaining that someone is rocking the boat is willful blindness.

Re:Normalized Fascism in Open Source: $12M Given to DHH on Wednesday September 02, 2026 @08:51AM (#49535493)
>There is no room for debate or argument, here—only hard, absolute lines in the sand.

Ok. Here's the line.

Leftie types have played fast and loose with language, rules, behavior and decency. All in the name of role playing the empathetic enlightened intellectual who would never commit the egregious sins of the past.

In doing so, they've been racist against whites, sexist against men, homophobic towards LGBs, fascist against COVID skeptics, naive regarding intellectual frauds, apologetic about criminals, and pliant towards manipulative bullies.

While this was going on, left wing activists and organizations have installed themselves as the defacto moral authority and channeled enormous amounts of other people's money to their comfortable faux rebellion.

Now enough people are wise to that that this will not work anymore. The magic words have no power. Their reputations are sinking. The cry-bullying is despised. And the funding is drying up.

The absolute worst part is that they still can't for the life of them tell you what their opponents actually believe, even if you held a gun to their head. Because they're mediocrities and lightweights parroting ideas, as narrow-minded as the caricature they have of others.

Bye.

Re:Curvature Beziers on Sunday August 30, 2026 @08:31AM (#49498094)
Sorry but you're missing the forest for the trees here.

The locality of a bezier, even with symmetric constraints, amounts to the fact that the user's specified positions (the endpoints) and tangent directions are preserved exactly and can be modified independently. This makes detailed edits easy. And because curvature beziers only differ from classic beziers in the tangent lengths (not directions), the same properties hold.

The "7 control point span" you talk about is really a 5 point span, because adjusting the lengths of the bezier tangents at the far ends serves to explicitly preserve the user's intent, namely the radius of curvature.

Catmull-Rom e.g. ties together the tangent at a control point with the position of the previous and next control point. And B-splines don't guarantee going through any control point at all except the endpoints, with the tangents not even independently controllable.

This is why artists like beziers.

Re:Curvature Beziers on Saturday August 29, 2026 @03:55PM (#49492817)
I wrote the article :).

To clarify, I meant B-splines _lack local control_ like Catmull-Rom splines, not that the latter is an instance of the former. Though indeed, all cubic splines are just cubic polynomials.

I disagree with your characterization that the proposed solution lacks local control, because edits only affect the segments in question, just like with a classic bezier. From the point of view of curvature handles, the handles you don't touch don't change. (The splitting of a curvature bezier is imo the best illustration of this.)

Re: the meaning of the scalars, I imagine they are derived similarly as the perpendicular-distance diagram in the post. If you plug bezier formulas into curvature formulas, a lot of terms cancel out.

Re:Curvature Beziers on Saturday August 29, 2026 @03:08PM (#49492426)
As the post says, beziers are everywhere so we are stuck with them. It's worth trying to improve them for that reason alone.

Additionally B-splines (like Catmull-Rom) have the issue that moving one point affects a larger area of the spline than an equivalent bezier. The local control of beziers makes them more desirable for precise illustration.

As for the formula you cited, it tells you where to put the control point for continuity in function of two scalars, but those scalars don't directly map to intuitive controls. It also doesn't help when moving a curve point while preserving curvature on both sides because it only tells you one side in function of the other. I.e. continuity of curvature is a weaker constraint than having the desired curvature.

I initially experimented with something similar but found that numerical drift would steadily accumulate during interactive editing. The post shows this with the last example before curvature handles: rotating the tangents there preserves curvature continuity but the curve tends to blow up for certain angles, because the tangent is a poor proxy for indicating desired curvature.

Re:Curvature Beziers on Saturday August 29, 2026 @11:45AM (#49490845)
Yes, a linearly parametrized line.
Re:Curvature Beziers on Saturday August 29, 2026 @10:37AM (#49490273)
The C1 continuity you refer to is relative to the parametrization t=0..1 per segment. This is useless in practice.

For e.g. animation purposes, you need to reparametrize to arc length which destroys the apparent C1 continuity.

Re:Curvature Beziers on Saturday August 29, 2026 @10:32AM (#49490229)
Most of those rules are copes, really.

Placing points at X/Y extremes is by itself useless because beziers are rotation invariant. i.e. If that's the best place for the control points, then by the same argument if you rotated the curve by 45° the points would need to be on diagonal extremes. It's only useful with typography where many letters are oval. IIRC this rule originated because buggy rendering code assumed the curve would never extend beyond the XY bounding box of the control points.

Placing nodes at inflection points is actually a bad idea because there are very few configurations where curvature remains continuous. It's better to construct S bends with the inflection point in the middle, because then you always get a smooth transition.

Picking a specific spacing between control points makes it more likely that equal tangents represent approximately the same curvature on both sides, but it's not guaranteed either.

Re:Curvature Beziers on Saturday August 29, 2026 @10:10AM (#49490042)
If you like that, then try this.

Take a row of pascal's triangle, add a zero in front (shift it to the right by one place), and divide it by the row below it.

    0 1  4  6 4 1 /
    1 5 10 10 5 1
    = ...
From this you can prove that a linear bezier line (of any degree) must have equally spaced control points.
Re:Declarative WebGPU with S-Expressions on Monday August 24, 2026 @06:22AM (#49417712)
You can try to make the WebGPU API more declarative, but the issue that you still run into is that individual draw calls and passes are a poor abstraction level to express modern rendering in.

To reach the quality of a modern PBR renderer with shadows, SSAO, temporal denoising and the like, you need to lower one conceptual draw into multiple concrete draws, sequenced in a particular way, to their own targets, and I haven't seen a lot of success in this space because the shaders need to become polymorphic.

>A software cursor is manually drawn by the graphics stack, which saves what was under it, draws the cursor, and then whenever it needs to be moved, writes the original data back, saves the data at the new position, and then draws the cursor there.

AFAIK this hasn't been true for a long time on most platforms, certainly on macOS. The desktop image is composited on the GPU by assembling the underlying windows with appropriate effects like shadows and scrolling/scaling. A software cursor is just another overlay which may also have a transparent shadow.

Actually preserving what was under the cursor and putting it back is the sort of thing you wouldn't do anymore, because that's a cache which requires babysitting based on everything that's underneath and around it.

e.g. On macOS there's full screen zooming for accessibility, and if you wiggle the mouse, the cursor grows in size briefly (maybe even too big for hardware cursor to support).

Re:HN seems dead compared to say 10-15 years ago on Tuesday June 09, 2026 @06:45AM (#48459282)
In 2011 the iPhone was ~4 years old and iPads were ascendant as the only tablet game in town. Google was still playing catch up with Android as a knock-off, having just debuted Android Honeycomb.

The actual topics are:

- the Apple campus that is still unique today

- a rectification of an urban legend about Jobs and Knuth

- a clip showing Jobs was prescient in the late 90s about personalized cloud tech

Dismissing the focus on Jobs as a cult of personality is a mistake, he was simply very influential, and so was Apple at this time.

Meanwhile LLMs are the antithesis of the Jobsian style: just cramming pirated data into a model and reselling it as fake intelligence without real source attribution.

Re:What was your "Oh Shit" moment with GenAI? on Saturday June 06, 2026 @11:47AM (#48426127)
My "oh shit" moment with AI was when an industry where licensing was the cornerstone of projects and employment contracts decided to just adopt pirated code without any source attribution.

The other one was when a CTO boss sent me an AI proposal to review and the experience was like being gaslit by a con artist.

Many professional developers have started acting like the kind of employee that previously would've been fired after 3 months.

Woke lost, because it infected companies, universities and other organizations. It prompted entitled idiots like cited above to go into projects started by others, assume eminent domain, and attempt to take it over with slander and defamation. Always with the same script, pretending to defend while engaged in an unprovoked and drawn out attack.

See the cases of:

- The Ada Initiative

- DongleGate

- James Damore

- Bret Weinstein and Evergreen state (there's even a documentary by Mike Nayna about this)

Just to name a few.

Hyperventilating over the phrase "woke mind virus" or calling Musk a nazi a few dozen more times will not work.

You're the square, and your favored ideology lost.

We now even have BlueSky serving as the verifiable echo chamber of the idiots, and it's absolutely hilarious how they just can't stop attacking each other over there.

Calling for sources while questioning one of the most visible forms of social activism of the last decade is pure gaslighting btw.

Re:Saying Goodbye to Asm.js on Wednesday May 20, 2026 @10:07AM (#48208078)
Asm.js was never needed as a legacy mechanism, as it was just a compilation target for native code. There was nothing that it needed to remain backwards compatible with, all asm.js code was new code.

https://acko.net/blog/on-asmjs/

Re:How and Why I Journal on Wednesday May 13, 2026 @06:40AM (#48120182)
Hm so not only is it possible to manipulate scores on HN with weird scripts, but mods only noticed this when users pointed it out in this instance, with no automation or logging there to detect something like this?

Do you suppose motivated individuals might have used something like this to bury wrongthink at a time when mods insisted such a thing wasn't happening, and even if it was, it was happening to all tribes equally so really it wasn't a big deal?

It's not that AI can't convince a novice that what comes out is passible.

It's that experts in a field generally agree that what comes out is insidiously hollow garbage.

This isn't a "semi-religious" belief. It's linear token soup and diffusion bakes running headfirst into actual expertise, second and third order effects, refined skill and taste, and so on.

If you actually want to see civilization advance, you cannot rely on machines that merely mash up existing intellectual output while pretending to have expertise.

We already had that in the form of art school avant-gardism. AI is just style transfer of that, with corporate sycophancy and valley hyperbole as a veneer.

Re:The Onion to Take over InfoWars on Thursday April 23, 2026 @03:57AM (#47873237)
It's also incredibly petty and feels like a sanctioned Two Minute Hate for wannabe edgy lefties who don't have a single actually heretical bone in their body.
After making one of the least worst rich editors out there on the web, they needed to keep their developers and designers busy (while not having time to fix privacy bugs).

Like every other AI tool it mainly seems to exist to produce productivity porn. Summarize the meetings nobody could be bothered to summarize. Write the docs nobody can be bothered to read or write. Communicate as an end, not a means, because the company your work for has transitioned into the dead-weight phase.

Re:macOS Tahoe windows have different corner radiuses on Tuesday March 10, 2026 @11:20AM (#47324472)
This article's timeline is mostly accurate, but contains a few inaccuracies:

- Unified toolbar and titlebar dates from much earlier... it was 10.4, not 10.7.

- The brushed metal look was supposed to be applied to "appliance-like" apps as opposed to "document-like" apps... But Apple was never able to stick to that rule themselves.

There are a few design ideas that always turn out to be bad when implemented, but which designers seem to have to learn the hard way. Transparency is the biggest one, but I guess so is excessive rounding now.

Re:Ape Coding on Sunday March 01, 2026 @01:14PM (#47209180)
>Despite the quick spread of agentic coding, institutional inertia, affordability, and limitations in human neuroplasticity were barriers to universal adoption of the new technology.

Blaming lack of adoption purely on regressive factors follows the same frame that AI firms set. It isn't very effective satire for that reason.

It couldn't be that there is something essential and elementary that is wrong with the output, no... all these experienced experts are just troglodites and wrong and we should instead tag along with the people who offloaded the parts of their work they found tough to a machine the first chance they got.

There's no such thing as ape coding. There's still just coding, and vibe coding.

Re:Fredrick Brennan, founder of 8chan, has died on Wednesday February 25, 2026 @03:59PM (#47157787)
The news article isn't an obituary, it's gravedancing. Hope that enlightened your royal majesty.
Re:Fredrick Brennan, founder of 8chan, has died on Wednesday February 25, 2026 @02:51PM (#47156882)
>He died in his sleep last month

Title is misleading.

>Wizardchan, a smaller and misogynistic forum for male virgins

I see the media has learned exactly nothing since the days any of this was relevant. Just apply the usual adjectives until consensus is achieved.

There's nothing more credible than sockpuppetting a dead person to renounce anything related, amirite?

Re:It's All a Blur on Thursday February 12, 2026 @04:36PM (#46995576)
The degree to which people defend poor scholarship and writing on HN these days is frankly pathetic.

There is nothing about that intro that is offensive. Reading comprehension ought to tell you that "pun intended" is a joke to make the bitter pill that OP wrote garbage easier to swallow.

Re:It's All a Blur on Thursday February 12, 2026 @04:33PM (#46995552)
Homework assignment: make a bode plot of the convolution filters [1 1 1] vs [1 2 1].

Which one turns +1, -1, +1, -1, .. into all zeroes?

You ought to know this because the fourier transform of [1 0 1] is a cosine of amplitude 2 on the complex unit circle e^(i*omega), which means the DC quefrency needs to be 2 to get the zeroes to end up at nyquist.

The frequency response H(z) (= H(e^i*omega)) of [1 1 1] on the other hand will have its minimum somewhere in the middle.

Also here's a post that will teach you how to sight read the frequency response of symmetric FIR filters off the coefficients: https://acko.net/blog/stable-fiddusion/

Re:It's All a Blur on Thursday February 12, 2026 @04:31PM (#46995511)
Using a caesar cypher as an intro without explaining the pro tool and framing the educational context properly is just shit pedagogy bro.

Go look up what a z-transform is, and begone.

Re:It's All a Blur on Thursday February 12, 2026 @04:28PM (#46995470)
A binomial is exactly equal to a repeated 2 sample box blur yes. That's exactly how you construct pascal's triangle.

For filter sizes > 2, box blurs are ass.

Re:ai;dr on Thursday February 12, 2026 @04:27PM (#46995452)
>Before you get your pitchforks out and call me an AI luddite, I use LLMs pretty extensively for work.

Chicken.

Seriously, the degree to which supposed engineering professionals have jumped on a tool that lets them outsource their work and their thinking to a bot astounds me. Have they no shame?

Older »