frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

On The <dl> (2021)

https://benmyers.dev/blog/on-the-dl/
257•ravenical•5h ago•75 comments

Reverse engineering circuitry in a Spacelab computer from 1980

https://www.righto.com/2026/05/reverse-engineering-spacelab-computer.html
39•elpocko•2h ago•3 comments

My two-part desk setup

https://arslan.io/2025/11/18/my-two-part-desk-setup/
51•James72689•2d ago•14 comments

z386: An Open-Source 80386 Built Around Original Microcode

https://nand2mario.github.io/posts/2026/z386/
74•wicket•4h ago•15 comments

Hengefinder: Finding When the Sun Aligns with Your Street

https://victoriaritvo.com/blog/hengefinder/
25•evakhoury•21h ago•6 comments

The Art of Money Getting

https://kk.org/cooltools/book-freak-210-the-art-of-money-getting/
103•dxs•5h ago•62 comments

80386 Microcode Disassembled

https://www.reenigne.org/blog/80386-microcode-disassembled/
167•nand2mario•6h ago•26 comments

Italy Cancels Boeing Pegasus Order, Shifting to Airbus A330 MRTT

https://www.euronews.com/my-europe/2026/05/21/italy-moves-to-airbus-a330-tankers-in-major-nato-al...
110•embedding-shape•2h ago•32 comments

Texas woman arrested for Facebook post about town water quality

https://reclaimthenet.org/texas-woman-arrested-for-facebook-post-about-town-water-quality
45•abawany•34m ago•10 comments

Making Deep Learning Go Brrrr from First Principles (2022)

https://horace.io/brrr_intro.html
117•tosh•6h ago•43 comments

AI Engineering from Scratch

https://aiengineeringfromscratch.com
50•rippeltippel•2d ago•10 comments

Green card seekers must leave U.S. to apply, Trump administration says

https://www.nytimes.com/2026/05/22/us/politics/green-card-changes-trump.html
39•tlhunter•21h ago•356 comments

Oura says it gets government demands for user data

https://this.weekinsecurity.com/oura-says-it-gets-government-demands-for-user-data-will-it-share-...
199•donohoe•4h ago•119 comments

Evaluating Spec CPU2026

https://chipsandcheese.com/p/evaluating-spec-cpu2026
9•zdw•2h ago•0 comments

Highest Random Weight in Elixir

https://jola.dev/posts/highest-random-weight-in-elixir
45•shintoist•2d ago•1 comments

Lisp in Vim (2019)

https://susam.net/lisp-in-vim.html
31•whent•3h ago•5 comments

Why Japanese companies do so many different things

https://davidoks.blog/p/why-japanese-companies-do-so-many
812•d0ks•1d ago•379 comments

Shipping a laptop to a refugee camp in Uganda

https://notesbylex.com/shipping-a-laptop-to-a-refugee-camp-in-uganda
628•lexandstuff•21h ago•218 comments

Electrobun 2.0 will be decoupled from Bun due to the Rust rewrite

https://twitter.com/i/status/2058064720553222567
74•bundie•6h ago•72 comments

The FBI Wants 'Near Real-Time' Access to US License Plate Readers

https://www.wired.com/story/security-news-this-week-fbi-license-plate-reader-real-time-access/
136•Brajeshwar•4h ago•67 comments

Rubish: A Unix shell written in pure Ruby

https://github.com/amatsuda/rubish
139•winebarrel•12h ago•83 comments

Solving the “Zork” Mystery

https://www.dpolakovic.space/blogs/zork-part2
38•dpola•3d ago•16 comments

Improving C# Memory Safety

https://devblogs.microsoft.com/dotnet/improving-csharp-memory-safety/
115•soheilpro•2d ago•22 comments

A 1955 Los Alamos computer experiment changed our understanding of chaos

https://www.lanl.gov/media/publications/1663/science-of-unpredictability
42•LAsteNERD•4d ago•3 comments

Microsoft starts canceling Claude Code licenses

https://www.theverge.com/tech/930447/microsoft-claude-code-discontinued-notepad
426•robertkarl•1d ago•405 comments

BambuStudio has been violating PrusaSlicer AGPL license since their fork

https://xcancel.com/josefprusa/status/2054602354851254330
355•Tomte•10h ago•132 comments

PHP's Oddities

https://flowtwo.io/post/php%27s-oddities
47•thejoeflow•3d ago•50 comments

The quadratic sandwich

https://fedemagnani.github.io/math/2026/04/08/the-quadratic-sandwich.html
112•cpp_frog•3d ago•11 comments

Project Glasswing: An Initial Update

https://www.anthropic.com/research/glasswing-initial-update
500•louiereederson•23h ago•294 comments

ArcBrush – Node-based 2D image editor

https://arcbrush.com/
68•NatKarmios•3d ago•18 comments
Open in hackernews

JWT is a scam and your app doesn't need it

https://www.dusanmalusev.dev/blog/jwt-is-a-scam-and-your-app-doesnt-need-it
60•CodeLieutenant•55m ago

Comments

runnr_az•23m ago
Eh. JWTs are super handy if you have a single web experience spread across multiple backend apps on the same domain, with a single SSO server to set up the user auth. Definitely not for storing anything sensitive, but treating it like a fancy session cookie with the minimal amount one needs to securely access resources - customerId or whatever - makes life a lot easier than trying to wire up cookie / session management across a lot of different, disparate apps.
CodeLieutenant•13m ago
How that is possible, when every web framework has a package for handling sessions, and in a secure manner. Rolling everything on your own is time consuming and error prone. I know you should not use library for everything, but this is solved problem for a long long time (like crypto), and just using of the shelf solution is right choice to me. You can set the session to be across multiple subdomains and it will work out of the box.

Eveything else can use plain tokens stored in the DB

runnr_az•2m ago
Yeah... but you can't just move a session across a heterogeneous set of servers with different backends, etc... Maybe some of your APIs are on one platform, the apps themselves on another. There are several libs that can help you do that.
nathanmills•19m ago
> I am tired of pretending JWT is fine.

I don't get it. Why were you lying to people??? Why were you pretending? Thats not healthy and pretty anti-social.

JBorrow•16m ago
JWTs are very helpful if you maintain many downstream services on separate domains that need shared auth and identity infrastructure
grassfedgeek•16m ago
JWT can be short-lived, for example 1 hour. Then on each request if the token is nearing expiration you decide whether to extend it or not, and if so return a replacement JWT with extended expiration. With a short-lived JWT you don't need to invalidate the JWT.

> just put the JWT in an httpOnly cookie

You can have two cookies, one that is signed and httpOnly, and another that is unsigned and readable by JavaScript. Both contain the same information. So JavaScript can read the information in the second cookie, but since it is unsigned, exfiltrating the cookie doesn't compromise security.

CodeLieutenant•11m ago
Still the same problem, if your account is compromised, you cannot invalidate the session, same for web, same for native app. You need to store it so that it can be blacklisted.
nathanmills•11m ago
Let's say a friend sends you an exe file, a game they made. You run it, and immediately realize it wasn't actually your friend. The attacker has stolen your JWT session cookie. The attacker hasn't done anything yet - they are configuring their browser cookies to match yours. You go to invalidate your session / change your password, but it doesn't help. The attacker has a full hour to do whatever they want on your account. They use it to send the same malicious exe from your account. If you would've been able to invalidate the session, you could've stopped it.
grassfedgeek•5m ago
> and immediately realize

That's a narrow scenario isn't it, if you have to "immediately" realize?

thisisauserid•16m ago
K, I'll stop authorizing incoming OAuth 2 requests to Amazon AgentCore by validating JWTs before allowing access to agents and gateways.
specialp•16m ago
The same criticism can be leveled against a signed session token. Also comparing decryption with a local redis get which is still much slower is wrong. The criticism against long expiration is valid but that is not unique to JWT, and token refresh is not a "patch" on a broken system. This is just way off on everything
cyberge99•16m ago
Who’s still on x86 in 2026?
bob1029•14m ago
I think JWT-like schemes can enable better machine-to-machine integration.

If you drink all of the koolaid, you can wind up with a system where two different parties securely authenticate sessions without any kind of secrets ever needing to be provided directly. Both parties generate and retain private key material in an HSM and perform signing ops there. The only thing that has to be trusted is the subject of the certificates. Keys can be rotated arbitrarily and the counterparty should not have any issues with this, assuming the standards are followed.

Short lifetime is the best solution to concerns around revocation. The vendor I last integrated with has their opaque tokens expire after 15 minutes. Immediate revocation sounds preferable but in practice there are other controls that will typically compensate for any gaps here (i.e., audit logs & the police). If you are firing someone and you think they might do a really bad thing that the business could never recover from, you should probably disable their accounts about an hour before the call with HR.

zsoltkacsandi•14m ago
JWT is fine. The problem is that people are using it for the wrong problems, like session cookies. But that has nothing to do with JWT.
Tiberium•12m ago
Why post this AI-generated article? Just to ragebait?
fontain•11m ago
How often do we need to revoke individual JWTs anyway? You solve for cookie theft with short expiry and key compromise by rotating keys. I don’t find the revocation issue very compelling as a reason to ditch JWTs.
CodeLieutenant•8m ago
You have never used "Log me out from everywhere" feature. I've used it. Also it's for I want to change my password and invalidate all sessions.
gum_wobble•10m ago
This is badly written? I was gonna try to argument but it just sound like the writer had a bad day configuring a project IAM and put a generic rant online about JWT usage...

If your frontend application connects to multiple protected APIs, you just can't use a session. That's it. Mobile apps and some specific web application need this a lot.

The only true claim I see in this post is > almost every developer shipping it has no idea why.

That's the true problem. JWT is being used as a SSO strategy in the wrong way most of the times.

Tiberium•6m ago
It's badly written because it's completely LLM-generated.
CodeLieutenant•1m ago
You dont need jwt so that you can authenticate API or Mobile app. people were doing exactly that long before JWT was invented.
rapnie•10m ago
> JWT is a scam

The article doesn't need clickbait titles either, which is also not a savory practice. Other than that it is good to educate people to make informed decisions on JWT.

sevg•8m ago
> The rest of this post is me showing my work.

No, the rest of the post was written by an LLM.

hvb2•6m ago
What about the other claims, aud and iss for example. And automatically being able to validate those tokens through OIDC?

And don't pretend that the 2 are not related because typically an OIDC provider is the thing issuing those JWTs.

So, can you simplify, sure. And now every part of your application needs access to that same table of sessions to get revocation.

It works fine for simple applications not for large solutions with many different systems that cross org boundaries. Because in a lot of orgs the boundaries of the services are more organizational than technical. If you want to be the one that makes them all depend on your SPOF, go ahead, I want to see you sell that idea to your CTO

lelanthran•6m ago
It's so easy to have an LLM generate your blog post without meandering in circles and without all the LLM tells, so why not do it?

I mean, honestly, there are really only two options here:

1. You don't know how to "tune" the LLM output, or

2. The LLM output can't be tuned.

Either one means that you should probably write your own thoughts and not have a probabilistic generator create this word-salad that I found extremely hard to follow!

alex_smart•5m ago
Who uses JWT like this anyway?

Typical production architecture would look like - frontend only ever sees an opaque session cookie - bff stores the access token against session and attaches it when calling backend services

Yes, storing JWTs directly in the frontend client is a bad idea but surely there is a better way of communicating that than "JWT is a scam and your app doesn't need it".

> RS256 verification is in the same order of magnitude as a Redis lookup

But the point is that the verification is CPU bound and local to the service - which means that it is horizontally scalable.

antonvs•3m ago
This post needs an important clarification, which is that it's talking about using JWT for authentication, not authorization.

The uses described in the article assume that authorization of access to resources is handled in some way external to the JWT. This literally takes a system designed to support authorization, ignores that, and uses some other back-end authorization mechanism.

One of the most important features of JWT is its support for capability security[1], via signed claims. If you're just using JWT to authenticate, you're kind of missing the point.

> The payload usually holds a user id, an iat, an exp, a jti, maybe some scopes.

This demonstrates the point nicely. At best, scopes provide some sort of broad authorization such as "read" or "write". But what if you want to prevent IDOR attacks[2] at a low level in your system, to eliminate any possibility of developers accidentally allowing them? Tokens with nothing more than scopes don't help with that at all.

All you need to do to solve that is to add the entity types and IDs that the bearer is authorized to access. So if they're going to a page that displays an invoice, then in the JWT claims you include "invoiceId" (often along with some kind of type field, like "type": "invoice".) The target page checks that the JWT matches the requested resource, and that can indeed be done without any further back-end verification. You would also typically include a tenant ID and other such authorizing identifiers.

Doing this alone will give a system stronger security than 99.9% of systems out there.

Regarding revocation, the point about the above approach is that the tokens are essentially single-use: they authorize access to a particular resource for a short period of time. Basically, whatever the normal "log user out after inactivity" timeout is, the token expiry should be no longer than that.

If you create tokens valid for days or weeks, that's a mistake. You can prevent this simply by giving devs a library that creates the tokens according to org policy.

So yeah, JWTs purely for authentication and doing authorization some other way is a dumb idea, but that doesn't make JWTs a scam, that makes the user ignorant of their real purpose.

[1] https://en.wikipedia.org/wiki/Capability-based_security

[2] https://cheatsheetseries.owasp.org/cheatsheets/Insecure_Dire...