frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

XML Is a Cheap DSL

https://unplannedobsolescence.com/blog/xml-cheap-dsl/
85•y1n0•2h ago

Comments

dndn2•1h ago
I think the declarative calculations part is important, why I made calculang https://calculang.dev

Will check later if there's some interesting calcs here to transpose, I'm for more models being published by public bodies!

wild_pointer•1h ago
It's not so cheap, in terms of maintenance and mental load
exabrial•1h ago
Given that that is had strong schema XSD verification built in, where you can tell in an instant whether or not the document is correct; it’s the right tool for a majority of jobs.

My experience has been the people complaining about it were simply not using automated tools to handle it. It’s be like people complaining that “binaries/assembly are too hard to handle” and never using a disassembler.

bananamansion•59m ago
what jobs require XSD verification?
baq•54m ago
Ideally all of them.
hnfong•10m ago
> can tell in an instant whether or not the document is correct

Speaking of "correctness"... It seems to me people almost never mention that while schema verification can detect a lot of issues, in the end it cannot replace actual content validation. There are often arbitrarily complicated constraints on data that requires custom code to validate.

This is analogous to the ridiculous claim that type checking compilers can tell you whether the program is correct or not.

jgalt212•1h ago
> Tax logic needs a declarative specification

preach. I'm convinced there are cycles in the tax code that can be exploited for either infinite taxes or zero taxes. Can Claude find them?

sgarland•1h ago
While a great article, I actually found this linked post [0] to be even better, in which the author lays out how so much modern tooling for web dev exists simply because XML lost the browser war.

EDIT: obviously, JSON tooling sprang up because JSON became the lingua franca. I meant that it became necessary to address the shortcomings of JSON, which XML had solved.

0: https://marcosmagueta.com/blog/the-lost-art-of-xml/

badgersnake•1h ago
It’s the usual case of “I can’t be bothered to learn the complicated thing, give me something simple.” Two years later, “Oh wait, I need more features, this problem is more complicated than I thought”.
skrebbel•1h ago
I read both, but I feel like they both miss what it was like to work with APIs back in the bad old XML days.

Yes, XML is more descriptive. It's also much harder for programmers to work with. Every client or server speaking an XML-based protocol had to have their own encoder/decoder that could map XML strings into in-memory data structures (dicts, objects, arrays, etc) that made sense in that language. These were often large and non-trivial to maintain. There were magic libraries in languages like Java and C# that let you map XML to objects using a million annotations, but they only supported a subset of XML and if your XML didn't fit that shoe you'd get 95% of the way and then realize that there was no way you'd get the last 5% in, and had to rewrite the whole thing with some awful streaming XML parser like SAX.

JSON, while not perfect, maps neatly onto data structures that nearly every language has: arrays, objects and dictionaries. That it why it got popular, and no other reason. Definitely not "fashion" or something as silly as that. Hundreds of thousands of developers had simply gotten extremely tired of spending 20% of their working lives producing and then parsing XML streams. It was terrible.

And don't even get me started on the endless meetings of people trying to design their XML schemas. Should this here thing be an attribute or a child element? Will we allow mixing different child elements in a list or will we add a level of indirection so the parser can be simpler? Everybody had a different idea about what was the most elegant and none of it mattered. JSON did for API design what Prettier did for the tabs vs spaces debate.

sgarland•43m ago
Since you explicitly mentioned fashion, I assume you read this:

> There is a distinction that the industry refuses to acknowledge: developer convenience and correctness are different concerns. They are not opposed, necessarily, but they are not the same thing. … The rationalization is remarkable. "JSON is simpler", they say, while maintaining thousands of lines of validation code. "JSON is more readable", they claim, while debugging subtle bugs caused by typos in key names that a schema would have caught immediately. "JSON is lightweight", they insist, while transmitting megabytes of redundant field names that binary XML would have compressed away. This is not engineering. This is fashion masquerading as technical judgment.

I feel the same way about RDBMS. Every single time I have found a data integrity issue - which is nearly daily - the fix that is chosen is yet another validation check. When I propose actually creating a proper relational schema, or leaning on guarantees an RDBMS can provide (such as making columns that shouldn’t be NULL non-NULLable, or using foreign key constraints), I’m told that it would “break the developer mental model.”

Apparently, the desired mental model is “make it as simple as possible, but then slowly add layer upon layer of complex logic to handle all of the bugs.”

hnfong•20m ago
In your situation, I would blame the developers, not the tools (JSON) or fashion.

Even if it's fashionable to do the wrong thing, the developer is at fault for choosing to follow fashion instead of doing the right thing.

skrebbel•4m ago
My zod schemas are 100x simpler than all those SAX parsers I maintained back in the day. Honestly I kinda doubt you've worked with XML a lot.

The article posted here makes a good point actually. XML is a DSL. So working with XML is a bit like working with a custom designed language (just one that's got particularly good tooling). That's where XML shines, but it's also where so much pain comes from. All that effort to design the language, and then to interpret the language, it's much more work than just deserializing and validating a chunk of JSON. So XML is great when you need a cheap DSL. But otherwise it isn't.

But the article you quoted makes the case that XML was good at more stuff than "lightweight DSL", that JSON was somehow a step back. And believe me, it really wasn't. Most APIs are just that.. APIs. Data interchange. JSON is great for this, and for all its warts, it's a vast, vast improvement over XML.

microtonal•27m ago
The 'much harder for programmers to work with' was that the official way of doing a lot of programming related to XML was to do it in... XML. E.g. transformations were done with XSLT, query processing with XQuery. There were even XML databases that you had to query with XML (typically XQuery).

All these XML DSLs were so dreadful to write and maintain for humans that most people despised them. I worked in a department where semantic web and all this stuff was fairly popular and I still remember remember one colleague, after another annoying XML programming session, saying fuck this, I'll rip out all the XSLT and XQuery and will just write a Python script (without the swearing, but that was certainly his sentiment). First it felt a bit like an offense for ditching the 'correct' way, but in the end everyone sympathized.

As someone who has lived through the whole XML mania: good riddance (mostly).

And don't even get me started on the endless meetings of people trying to design their XML schemas.

I have found that this attracts certain type of people who like to travel to meetings and talk about schemas and ontologies for days. I had to sit through some presentations, and I had no idea what they presented had to do anything, they were so detached from reality that they built a little world on their own. Sui generis.

hnfong•24m ago
I'm not sure what the author means by "(XML) was abandoned because JavaScript won. The browser won."

The browser supported XML as much as Javascript. Remember that the "X" in "AJAX" acronym stands for XML, as well as "XMLHttpRequest" which was originally intended to be used for fetching data on the fly in XML. It was later repurposed to grab JSON data.

Javascript was not a reason XML was abandoned. It was just that the developer community did not like XML at all (after trying to use it for a while).

As for whether the dev community was "right", it's hard to comment because the article you linked is heavy on the ranting but light on the contextual details. For example it admits that simpler formats like JSON might be appropriate where "small data transfers between cooperating services and scenarios where schema validation would be overkill". So are they talking about people storing "documents" and "files" in JSON form? I guess it happens, but is it really as common to use JSON as opposed to other formats like YAML (which is definitely not caused by Javascript in the browser winning)?

Personally I think XML was abandoned because inherent bad design (and maybe over-engineering). A simpler format with schema checking is probably more ideal IMHO.

necovek•1h ago
XML is notoriously expensive to properly parse in many languages. Basically, the entire world centers around 3 open source implementations (libxml2, expat and Xerces), if you want to get anywhere close to actual compliance. Even with them, you might hit challenges (libxml2 was largely unmaintained recently, yet it is the basis for many bindings in other languages).

The main property of SGML-derived languages is that they make "list" a first class object, and nesting second class (by requiring "end" tags), and have two axes for adding metadata: one being the tag name, another being attributes.

So while it is a suitable DSL for many things (it is also seeing new life in web components definition), we are mostly only talking about XML-lookalike language, and not XML proper. If you go XML proper, you need to throw "cheap" out the window.

Another comment to make here is that you can have an imperative looking DSL that is interpreted as a declarative one: nothing really stops you from saying that

  totalOwed = totalTax - totalPayments
  totalTax = tentativeTaxNetNonRefundableCredits + totalOtherTaxes
  totalPayments = totalEstimatedTaxesPaid +
                      totalTaxesPaidOnSocialSecurityIncome +
                      totalRefundableCredits
means exactly the same as the XML-alike DSL you've got.

One declarative language looking like an imperative language but really using "equations" which I know about is METAFONT. See eg. https://en.wikipedia.org/wiki/Metafont#Example (the example might not demonstrate it well, but you can reorder all equations and it should produce exactly the same result).

necovek•1h ago
FWIW, this is also one of the reasons MathML has never become the "input" language for mathematics, and the layout-focused (La)TeX remains the de-facto standard.

Ergonomics of input are important because they increase chances of it being correct, and you can usually still keep it strict and semantic enough (eg. LaTeX is less layout-focused than Plain TeX)

raverbashing•59m ago
> and have two axes for adding metadata: one being the tag name, another being attributes

Yes let's not even get started on implementations who do <something value="value"></something>

sriku•27m ago
While this can give a notation for the domain, you'd still need an engine to process it. Prolong+CLPFD perhaps meets it well (not too familiar with the tax domain) and one could perhaps paraphrase Greenspun's tenth rule to this combo too.
petcat•19m ago
> XML Is a Cheap [...]

> XML is notoriously expensive to properly parse in many languages.

I'm glad this is the top comment. I have extensive experience in enterprise-y Java and XML and XML is anything but cheap. In fact, doing anything non-trivial with XML was regularly a memory and CPU bottleneck.

bubbleRefuge•13m ago
Yup. SAP and their glorious idocs with german acronyms
diffuse_l•12m ago
That's if you parse the into a DOM and work on that. If you use SAX parsing, it makes it much better regarding the memory footprint.

But of course, working with SAX parsing is yet another, very different, bag of snakes.

I still hope that json parsing had the same support for stream processing as XML (I know that there are existing solutions for that, but it's much less common than in the XML world)

alexpetros•6m ago
Author here. I agree with all this, and I think it's important to note that there's nothing that precludes you from doing a declarative specification that looks like imperative math notation, but it's also somewhat besides the point. Yes, you could make your own custom language, but then you have created the problem that the article is about: You need to port your parser to every single different place you want to use it.

That's to say nothing of all the syntax decisions you have to make now. If you want to do infix math notation, you're going to be making a lot of choices operator precedence. The article is using a lot of simple functions to explain the domain, but we also have switch statements—how are those going to expressed? Ditto functions that don't have a common math notation, like stepwise multiply. All of these can be solved, but they also make your parser much more complicated and create a situation where you are likely to only have one implementation of it.

If you try to solve that by standardizing on prefix notations and parenthesis, well, now you have s-expressions (an option also discussed in the post).

That's what "cheap" means in this context: There's a library in every environment that can immediately parse it and mature tooling to query the document. Adding new ideas to your XML DSL does not at all increase the complexity of your parsing. That's really helpful on a small team! I agonized over the word "cheap" in the title and considered using something more obviously positive like "cost-effective" but I still think "cheap" is the right one. You're making a cost-cutting choice with the syntax, and that has expressiveness tradeoffs like OP notes, but it's a decision that is absolutely correct in many domains, especially one where you want people to be able to widely (and cheaply) build on the thing you're specifying.

Someone1234•4m ago
I keep seeing people make the same mistake as XML made over and over; without learning from it. I will clarify the problem thusly:

> The more capabilities you add to a interchange format, the harder that format is to parse.

There is a reason why JSON is so popular, it supports so little, that it is legitimately easy to import. Whereas XML supports attributes, namespaces, CDATA, DTDs, QNames, xml:base, xml:lang, XInclude, etc etc. They gave it everything, including the kitchen sink.

There was a thread here the other day about using Sqlite as an interchange format to REDUCE complexity. Look, I love Sqlite, as an application specific data-store. But much like XML it has a ton of capabilities, which is good for a data-store, but awful for an interchange format with multiple producers/consumers with their own ideas.

CSV may be under-specified, but it remains popular largely due to its simplicity to produce/consume. Unfortunately, we're seeing people slowly ruin JSON by adding e.g. commands to the format, with others than using those "comments" to hold data (e.g. type information), which must be parsed. Which is a bad version of an XML Attribute.

raverbashing•1h ago
Honestly let's leave XML in that 90s drawer from where it should have never left
rkomorn•59m ago
XML is one of those things that fulfills the requirements I have but makes me say "not like this..."
jaen•55m ago
Or... you could just use a programming language that looks good and has great support for embedded domain-specific languages (eDSL), like Haskell, OCaml or Scala.

Or, y'know, use the language you have (JavaScript) properly, eg. add a `sum` abstraction instead of `.reduce((acc, val) => { return acc+val }, 0)`.

In particular, the problem of "all the calculations are blocked for a single user input" is solved by eg. applicatives or arrows (these are fairly trivial abstract algebraic concepts, but foreign to most programmers), which have syntactic support in the abovementioned languages.

(Of course, avoid the temptation to overcomplicate it with too abstract functional programming concepts.)

If you write an XML DSL:

1. You have to solve the problem of "what parts can I parallelize and evaluate independently" anyway. Except in this case, that problem has been solved a long time ago by functional programming / abstract algebra / category-theoretic concepts.

2. It looks ugly (IMHO).

3. You are inventing an entirely new vocabulary unreadable to fellow programmers.

4. You will very likely run into Greenspun's tenth rule if the domain is non-trivial.

librasteve•35m ago
Suggest to Raku to that list. All the early Raku devs were Haskell coders (the first Raku parser (PUGS) was written in Haskell).

Since Raku suports both OO and Functional coding styles, and has built in Grammars, it is very nice for DSLs.

baq•55m ago
XML is better than yaml.

…note this doesn’t really say much. Both are terrible.

llm_nerd•41m ago
XML is fantastic. XML with XSD and XSL(T) was godly for data flow systems. I mean, just having a well defined, verifiable date type was magical and something seemingly unfathomable for so many other formats.

What hurt XML was the ecosystem of overly complex shit that just sullied the whole space. Namespaces were a disaster, and when firms would layer many namespaces into one use it just turned it into a magnificent mess that became impossible to manually generate or verify. And then poorly thought out garbage specs like SOAP just made everyone want to toss all of it into the garbage bin, and XML became collateral damage of kickback against terrible standards.

sdovan1•54m ago
Sometimes I wonder why we need to invent another DSL. (or when should we?)

At work, we have an XML DSL that bridges two services. It's actually a series of API calls with JSONPath mappings. It has if-else and goto, but no real math (you can only add 1 to a variable though) and no arrays. Debugging is such a pain, makes me wonder why we don't just write Java.

Decabytes•49m ago
S-expressions are a cheap dsl too. I use it in my desktop browser runtime that is powered by wasm that I’m developing As the “HTML”^1 and CSS^2 in fact it works so well I use it also reused it to do the styling for html exports in my markup language designed to fight documentation drift^3.

1. https://gitlab.com/canvasui/canvasui-engine/-/blame/main/exa...

2. https://gitlab.com/canvasui/canvasui-engine/-/blob/main/exam...

3. https://gitlab.com/sablelang/libcuidoc

Hackbraten•46m ago
At the cost of a slightly more complex schema, the JSON representation can be made much more readable:

    {
      "path": "/tentativeTaxNetNonRefundableCredits",
      "description": "Total tentative tax after applying non-refundable credits, but before applying refundable credits.",
      "maxOf": [
        {
          "const": {
            "value": 0,
            "currency": "Dollar"
          }
        },
        {
          "subtract": {
            "from": "/totalTentativeTax",
            "amount": "/totalNonRefundableCredits"
          }
        }
      ]
    }
himata4113•43m ago
YAML seems like a great middleground here between xml and json..
IshKebab•34m ago
YAML is never a great anything.
thatwasunusual•45m ago
It's completely unbelievable that so-called developed countries are struggling with this in 2026.

In Norway, we've had a more or less automated tax system for many years; every year you get a notification that the tax settlement is complete, you log in and check if everything is correct (and edit if desired) and click OK.

It shouldn't be more difficult than this.

bdangubic•42m ago
how much do Norway tax preparation companies spend on lobbying Norway Politicians each year? :)
thatwasunusual•38m ago
Having a proper system for handling citizens' main priorities is important. What happens in 3rd world countries is a struggle that UN++ needs to focus on.
librasteve•42m ago
I have been playing with DSLs a little, here is the kind of syntax that I would choose:

  invoice "INV-001" for "ACME Corp"
    item "Hosting" 100 x 3
    item "Support" 50 x 2
    tax 20%
  invoice "INV-002" for "Globex"
    item "Consulting" 200 x 5
    discount 10%
    tax 21%
In contrast to XML (even with authoring tools), my feeling is that XML (or any angle-bracket language tbh) is just too hard to write correctly (ie XML syntax and XMl schema parsing is very unforgiving) and has a lot of noise when you read it that obscures the main intent of the DSL code.
librasteve•40m ago
Here's how the built-in Raku Grammar can be used to parse this. I can see Raku generating the XML as the Actions from this Grammar so allow ease of DSL authoring with XML as a interchange and strict scheme validation format.

  grammar InvoiceDSL {

    token TOP {
        ^ <invoice>+ % \n* $
    }

    token invoice {
        <header>
        \n
        <line>+
    }

    token header {
        'invoice' \h+ <id=string> \h+ 'for' \h+ <client=string>
    }

    token line {
        \h**4 <entry> \n?
    }

    token entry {
        | <item>
        | <tax>
        | <discount>
    }

    token item {
        'item' \h+ <desc=string> \h+ <price=num> \h+ 'x' \h+ <qty=int>
    }

    token tax {
        'tax' \h+ <percent=num> '%'
    }

    token discount {
        'discount' \h+ <percent=num> '%'
    }

    token string { \" <( <-["]>* )> \" }
    token num    { \d+ [ '.' \d+ ]? }
    token int    { \d+ }
  }
cl0ckt0wer•40m ago
The subtext here is that XML is a powerful tool when generating code with LLMs
mikkupikku•29m ago
Yeah, but you get what you pay for.
jfengel•24m ago
It's not a DSL. It's a generic lexer and parser. It takes the text and gives you an abstract syntax tree. The actual DSL is your spec, and the syntax you apply.

It's one of many equivalent such parser tools, a particularly verbose one. As such it's best for stuff not written by hand, but it's ok for generated text.

It has some advantages mostly stemming from its ubiquity, so it has a big tool kit. It has a lot of (somewhat redundant) features, making it complex compared to other options, but sometimes one of those features really fits your use case.

dale_glass•23m ago
It kinda blows my mind that after XML we've managed to make a whole bunch of stuff that's significantly worse for any serious usage.

JSON: No comments, no datatypes, no good system for validation.

YAML: Arcane nonsense like sexagesimal number literals, footguns with anchors, Norway problem, non-string keys, accidental conversion to a number, CODE INJECTION!

I don't know why, but XML's verbosity seems to cause such a visceral aversion in a lot of people that they'd rather write a bunch of boring code to make sure a JSON parses to something sensible, or spend a day scratching their head about why a minor change in YAML caused everything to explode.

Actually my own problem with XML was annoyance that back when I had the thought of doing a complex config format in XML, the idea of modifying it programmatically while retaining comments turned out to be absolutely non-trivial. In comparison with the mess one can make with YAML that's just a trivial thing.

ACCount37•19m ago
"Any serious usage" starts at "it just works".

JSON just works. Every language worth giving a damn about has a half-decent parser, and the syntax is simple enough that you can write valid JSON by hand. You wouldn't hit the edgy edge cases or the need to use things like schemas until down the line, by which point you're already rolling with JSON.

XML doesn't "just work". There are like 4 decent libraries total, all extremely heavy, that have bindings in common languages, and the syntax is heavy and verbose. And by the time you could possibly get to "advanced features that make XML worth using", you've already bounced off the upfront cost of having to put up with XML.

Frontloading complexity ain't great for adoption - who would have thought.

n_e•6m ago
After thinking a bit about the problem, and assuming the project's language is javascript, I'd write the fact graph directly in javascript:

  const totalEstimatedTaxesPaid = writable("totalEstimatedTaxesPaid", {
    type: "dollar",
  });
  
  const totalPayments = fact(
    "totalPayments",
    sum([
      totalEstimatedTaxesPaid,
      totalTaxesPaidOnSocialSecurityIncome,
      totalRefundableCredits,
    ]),
  );
  
  const totalOwed = fact("totalOwed", diff(totalTax, totalPayments));

This way it's a lot terser, you have auto-completion and real-time type-checking.

The code that processes the graph will also be simpler as you don't have to parse the XML graph and turn it into something that can be executed.

And if you still need XML, you can generate it easily.

LastTrain•5m ago
This looks fun but I’d rather have the free direct filing service they discontinued.

Study of NBA finds that pay inequity among top performers erodes cooperation

https://news.wsu.edu/press-release/2026/02/16/study-of-nba-finds-that-pay-inequity-among-top-perf...
1•bruceb•1m ago•1 comments

BuzzFeed has 'substantial doubt' it can stay in business

https://www.cnn.com/2026/03/12/business/buzzfeed-substantial-doubt
1•LordAtlas•3m ago•0 comments

Montana Leads the Nation with Groundbreaking Right to Compute Act

https://www.westernmt.news/2025/04/21/montana-leads-the-nation-with-groundbreaking-right-to-compu...
1•bilsbie•4m ago•0 comments

Show HN: Inscribe – Yet Another Static-Site Generator (SSG)

https://rahuldshetty.github.io/inscribe/
1•anonymousd3vil•4m ago•0 comments

Architectures of Error: A Philosophical Inquiry into Human and AI Code

https://link.springer.com/article/10.1007/s13347-026-01056-x
1•camilochs•5m ago•0 comments

Show HN: PostCLI Substack – CLI, TUI and MCP Server for Substack

https://github.com/postcli/substack
1•andreahlert•5m ago•1 comments

Show HN: Keymatrix – Visual shortcut reference for mechanical keyboards

https://www.keymatrix.dev/
1•lineudemonia•6m ago•0 comments

US warships cannot control the Strait of Hormuz

https://www.aspistrategist.org.au/ghost-of-gallipoli-us-warships-cannot-control-the-strait-of-hor...
1•johnbarron•8m ago•0 comments

SC/APC to SC/APC OS2 Simplex Fiber Patch Cable – 9/125

https://www.langzhichina.com/sc-apc-to-sc-apc-os2-simplex-fiber-patch-cable
1•langzhi•9m ago•0 comments

GitHub infuriates students by removing some models from free Copilot plan

https://www.theregister.com/2026/03/13/microsoft_github_removes_models_student_plan/
2•Brajeshwar•14m ago•0 comments

SUSE Linux Is Up for Sale (Again)

https://forum.cktn.de/t/suse-linux-is-up-for-sale-again/27617
1•CHEF-KOCH•16m ago•0 comments

Reflecting on 12 years of writing code

https://ezzeriesa.notion.site/Reflecting-on-12-years-of-writing-code-31e1308b420480129bd5dd7951f9...
1•kurinikku•18m ago•0 comments

Schedule meetings using the Pareto principle

https://boydkane.com/essays/meetings-have-a-pareto-curve
1•zdw•19m ago•0 comments

GitHub explains six February outages and fixes

https://github.blog/news-insights/company-news/github-availability-report-february-2026/
3•nkko•20m ago•2 comments

Show HN: GitAgent – An open standard that turns any Git repo into an AI agent

https://www.gitagent.sh/
1•sivasurend•23m ago•0 comments

Doom Running on Terminal

https://twitter.com/raphamorims/status/2032226817117937932
1•darkberry•26m ago•0 comments

Show HN: Vim-gramaculate: Vim grammar checker, powered by AI

https://github.com/ahalbert/vim-gramaculate
1•ahalbert4•27m ago•0 comments

Show HN: BirdDex – Pokémon Go, but with real life birds

https://birddex.co/
1•stellay•27m ago•0 comments

We Finally Know How Bumblebee Queens Can Survive Underwater for Days

https://www.sciencealert.com/we-finally-know-how-bumblebee-queens-can-survive-underwater-for-days
1•bookofjoe•28m ago•0 comments

Show HN: Cartero – A personalized, extensible news aggregator

https://github.com/dracarys18/cartero
2•dracarys18•31m ago•0 comments

Xbox Gaming Copilot (Beta)

https://www.xbox.com/en-US/gaming-copilot
1•debo_•31m ago•0 comments

KlongPy: PyTorch Back End and Autograd

http://www.klongpy.org/torch_backend/
1•tosh•32m ago•0 comments

The Great Rotation from Bits to Atoms

https://deadneurons.substack.com/p/the-great-rotation-from-bits-to-atoms
2•nr378•32m ago•0 comments

New chip lets robots see in 4D by tracking distance and speed simultaneously

https://techxplore.com/news/2026-03-chip-robots-4d-tracking-distance.html
2•Brajeshwar•36m ago•0 comments

A New Bigfoot Documentary Helps Explain Our Conspiracy-Minded Era

https://www.wsj.com/arts-culture/film/a-new-bigfoot-documentary-helps-explain-our-conspiracy-mind...
1•fortran77•36m ago•1 comments

Ask HN: How do you use Coding Agents/CLIs out of coding?

1•arbayi•40m ago•1 comments

Show HN: QKD eavesdropper detector using Krylov complexity-open source Python

https://github.com/quantumspiritresearch-crypto/qkd-krylov-detector
1•QuantumSpirit•42m ago•0 comments

What If We Stopped Chasing Fast Hardware and Optimized for Existing Hardware?

https://bensantora.com/posts/resourceful-computing-old-hardware/
3•taskset•42m ago•4 comments

Hockey Puck Mouse = Awful

https://worldofmatthew.com/videos/applemouse/
2•worldofmatthew•42m ago•1 comments

Show HN: ctk-applet – run Cut-the-Knot Java applets locally

https://github.com/joseluis/ctk-applet
1•joseluis•45m ago•0 comments