HNHacker News
TopNewBestAskShowJobs

evdubs

619 karma · joined August 10, 2017

submissionscomments
evdubs··on Tether is now the 17th largest holder of US debt
You're not paying attention, or you are wilfully ignoring the evidence.

Tether banks with Cantor Fitzgerald, a primary dealer with the Federal Reserve. From 2023: https://www.wsj.com/finance/currencies/wall-street-firm-over...

Every quarter, BDO confirms Tether's assets by going to Tether's banking partners directly.

https://tether.to/en/transparency/?tab=reports

evdubs··on Tether is now the 17th largest holder of US debt
Attestation reports. Every quarter, BDO confirms holdings directly with Tether's banking partners.

https://tether.to/en/transparency/?tab=reports

evdubs··on Tether is now the 17th largest holder of US debt
It was known in early 2023.

https://www.wsj.com/finance/currencies/wall-street-firm-over...

evdubs··on MLB approves robot umpires for 2026 as part of challenge system
This obscures the fact that umpires are worse than 93% when the pitch is close to the boundary of being a ball or a strike (shadow zone). Obvious balls and obvious strikes are obvious, but umpire accuracy when it is close is only 81%, and their accuracy was even worse 15 years ago.

https://blogs.fangraphs.com/strike-three-lets-check-in-on-um...

evdubs··on Debian 13, Postgres, and the US/* time zones
You can see the zones that are deprecated at https://packages.debian.org/sid/all/tzdata-legacy/filelist
evdubs··on Debian 13, Postgres, and the US/* time zones
I also ran into this using:

- Debian 13

- Interactive Brokers' Trader Workstation

- Racket's `gregor` date and time library

IBKR still sends the old, deprecated US/* timezones. As noted in the article, the solution is to `apt install tzdata-legacy`.

evdubs··on How Python grew from a language to a community
The Lisp grey beards do.
evdubs··on Ask HN: When will managers be replaced by AI?
A developer has responsibility for their code. How can an AI be responsible?

A writer has responsibility for their writing. How can an AI be responsible?

AI doesn't need to be responsible. It just needs to provide value, just like writers, developers, managers, etc.

evdubs··on Why Fennel?
> I'm assuming your statement would be meant to apply to other common languages without s-expressions, but maybe I've misunderstood.

It was meant for C specifically. Take a JSON document. Define it in C. Here's what I see on a random cJSON GitHub project:

https://github.com/DaveGamble/cJSON/blob/master/README.md#ex...

Now do that in JavaScript:

    const jsonDoc = { "name": "Awesome 4K" ... }

Now make the equivalent jsonDoc in Lisp with s-expressions:

    (define json-doc
      (hash "name" "Awesome 4K"
            "resolutions" (list (hash "width" 1280
                                      "height" 720)
                                (hash "width" 1920
                                      "height" 1080)
                                (hash "width" 3840
                                      "height" 2160))))

The C approach is the approach you'd similarly take in many languages where you create the HashMap, then create the Array, then populate them. Of course, you could "cheat" in many languages by first making a string and then calling the JSON library's `parse` on the string. But, this is different than JavaScript where you can directly create the JSON document. In Lisp, you are always writing s-expressions, both for data and code.

> What's something that is made significantly easier by an s-expression than by arrays/tables?

An s-expression is a form of syntax. Even though it is a "list", the s-expression (list 1 2 3) is an actual list. It's not like you're taking the idea of arrays and tables and replacing it with a list. It's like you're taking the idea:

    // Create a List in Java
    var l = new ArrayList();
    l.add(1);
    l.add(2);
    l.add(3);

    // Print the List in Java
    System.out.println(l);
    // Prints [1, 2, 3];

    // Can we construct a List from the String "[1, 2, 3]"? Is there a fromString() or similar for a Java Object?
And replacing it with the idea:

    // Create a List in Lisp
    (define l (list 1 2 3))

    // Print the List in Lisp
    (println l)
    // Prints (list 1 2 3)

    // Can we construct a List from the String "(list 1 2 3)"?
    (eval (read "(list 1 2 3)"))
What about dates? What if we want rationals? What if we want to use a binary-search-tree-map instead of a hash?

    // Create a Date in JavaScript
    const date = new Date()

    // Print the Date in JavaScript
    console.log(date);
    // Prints Wed Apr 16 2025 00:00:00 GMT ...

    // Can I JSON.parse that string and receive a date?
Lisp:

    // Create a Date in Lisp
    (define d (today))

    // Print the Date in Lisp
    (println d)
    // Prints (date 2025 4 16)

    // Construct a Date from the String "(date 2025 4 16)"
    (eval (read "(date 2025 4 16)"))
The Lisp examples are simplified, but that is the idea.

> To make s-expressions language-agnostic, wouldn't you need libraries in the languages to convert between the s-expression as it exists in some specification, and the language's native data structures?

Yes.

> This doesn't sound all that different from JSON at this point, or a much more complex specification that defines the representation of all kinds of types, like dates.

Correct. It would just be like JSON and whatever bits are standardized are what would be handled.

evdubs··on Why Fennel?
> I don’t understand why representing data in an s-expression is better than representing it as nested arrays (lists of lists) and hashtables/dictionaries.

An s-expression is a list. An s-expression like (list (list 1 2) (list 3 4) (list 5 6)) is a list of lists. An s-expression like (hash "a" 1 "b" 2) is as hash table/dictionary.

> I also don’t see why representing data in a language’s data structure is inherently better than representing it in a language-agnostic format like JSON

You don't see why having a language data structure like Date is better than having a date-string stored in a JSON value that you need to provide parsing and other functions for? If you have a language data structure like Date, you can add days to a date, extract the month, convert it to a DateTime, etc. If you just have a JSON value, you either need to provide those functions or convert your JSON value to the Date language data structure. It seems like you see the value in using the language's data structure because you then say:

> having libraries to parse and convert data from that format into a language data structure

Also, JSON is just as "language agnostic" as s-expressions. JSON happens to be a first class component of JavaScript, as s-expressions are a first class component of Lisp; if libraries exist to help you deal with JSON in other languages, so, too, can libraries exist to help you deal with s-expressions.

> I’m struggling to understand what the tangible benefits are.

I think you understand the tangible benefits of JSON? It is a human readable/writable data serialization format. It is integrated in JavaScript in such a way that you can easily serialize, parse, and extract data from it without reaching for a library. S-expressions within Lisp do that, but they don't limit you to strings, floats, arrays, and unsorted maps. You don't need to write conversion functions or use them from a library because reading and writing s-expressions are core parts of Lisp.

evdubs··on Why Fennel?
It wouldn't. The consumer would need to know to expect a date as a string and parse it.
evdubs··on Why Fennel?
Sure. Here's a comment with more of an explanation:

https://news.ycombinator.com/item?id=36158974

evdubs··on Why Fennel?
Try defining data in C. Try extracting data from that data you've defined in C.

If you can understand the appeal of having JSON in JavaScript, you can understand some of the appeal of Lisp.

evdubs··on An image of an archeologist adventurer who wears a hat and uses a bullwhip
"Substantially similar" is the standard, not "exact duplicate".
evdubs··on The average college student today
> I wrote the textbook for a course I regularly teach.

> I believe they didn’t buy the books, but I’m skeptical that cost is the true reason, as opposed to just the excuse they offer.

> All texts combined for one of my courses is between $35-$100 and they still don’t buy them.

How about don't charge for the material you present in your course? That is scumbag behavior to teach a course and require your students to buy books you stand to profit from.

evdubs··on Rhombus Language
Yes. I've been using it for 8 years. It has been production ready that whole time. I am not a user of Typed/Racket; the contracts system works well.

https://github.com/evdubs?tab=repositories&q=&type=&language...

evdubs··on Bybit loses $1.5B in hack
ByBit's trading volume is almost certainly largely wash trading. Most unregulated crypto exchanges are rife with wash trading.

https://www.nber.org/papers/w30783

evdubs··on Trump wins presidency for second time
Harris and Biden did not incite an insurrection. Harris and Biden did not get impeached for withholding funds from Ukraine as Trump was impeached for doing. Harris and Biden are not convicted felons. "The Harris camp seems to be guilty of many of the things they accused Trump of," is nonsense.
evdubs··on Show HN: USDT Address Checker – Validate USDT addresses across multiple networks
Why not rank based on figures not easily manipulated like assets held by platforms?
evdubs··on Show HN: USDT Address Checker – Validate USDT addresses across multiple networks
Why do you rank exchanges by volume when many of them fake their volume / allow wash trading?
evdubs··on Please stop putting cookie pop-ups on your website (2022)
uBlock Origin has cookie notice filters. I don't think this is enabled by default; you can enable it in the Filter Lists section, along with "annoyances".
evdubs··on Why Does Elisp Suck
Have I reached Lisp enlightenment (TM) if I read that and felt that the code was fine?
evdubs··on The data that powers AI is disappearing fast
> None of that is copyright infringement, and scraping that same content to train an AI is no different.

Scraping is copyright infringement. Try telling the RIAA that scraping songs from YouTube or Spotify is not copyright infringement. Try telling the MPAA that scraping movies from Netflix is not copyright infringement. Same for book publishers.

evdubs··on The data that powers AI is disappearing fast
Substantially similar is the standard

https://crsreports.congress.gov/product/pdf/LSB/LSB10922

> Under U.S. case law, copyright owners may be able to show that such outputs infringe their copyrights if the AI program both (1) had access to their works and (2) created “substantially similar” outputs

From Shaw v Lindheim.

> Their own lawyers would be on their case if they were infringing halfway through the pipeline.

This is why many of these AI companies are their own entities with sponsorships or shares held by other, larger companies. If they're on the hook for obscene copyright infringement, they just close down.

evdubs··on The data that powers AI is disappearing fast
AI does not understand what ideas are. AI does not think. It just takes source material and regurgitates it.
evdubs··on The data that powers AI is disappearing fast
> You can process the contents of a webpage or momentarily OCR a printed page, provided that it was legally distributed and that you don't store a copy proper.

The AI companies are definitely storing proper copies of their "corpus".

> You can make a simulated reality movie without infringing on the Matrix, for instance.

You can also make a simulated reality movie, even without the name Neo, and a court could find it substantially similar to the Matrix and thus copyright infringing. It doesn't need to be the same.

evdubs··on Joe Biden stands down as Democratic candidate
No, those are just longshot odds that bookmakers, for whatever reason, have.
evdubs··on The data that powers AI is disappearing fast
I assume that all generative AI output is derivative of the training material (and the prompt). Because, what else would it be?
evdubs··on The data that powers AI is disappearing fast
Again, it's not about reading. It's about either acquiring in a way that is infringing or producing output that is infringing. If you write a chapter with something like, "Ionic bonds are bonds that occur between two elements where one or more electrons transfer to a particular element," it's not copyright infringement for another author to discuss ionic bonds. It's copyright infringement to copy the material. It's copyright infringement to produce output that is the same or substantially similar.
evdubs··on The data that powers AI is disappearing fast
> If my college textbook's author demanded a percentage cut of my future earnings I'd be much more peeved than content creators are now.

If you were writing highly derivative textbooks, your college textbook's author would be peeved, too. That is the AI analogy, not that you read a chemistry textbook and are then breaking some law when you go do chemistry.

← PreviousPage 3 of 8Next →