HNHacker News
TopNewBestAskShowJobs

eduction

2,405 karma · joined June 22, 2022

submissionscomments
eduction··on U.S. researchers face new restrictions on publishing with foreign collaborators
Oh I see a unilateral execution program does not warrant a vaguely rude nickname. A bridge too far. Glad you’re concerning yourself with the important issues (while Gitmo remains open and holds people)
eduction··on Texas woman arrested for Facebook post about town water quality
Much like peter thiel’s lawsuits against Gawker, which included funding a guy who dubiously claimed to have invented email and sued Gawker for pointing out this was absurd.

https://www.huffpost.com/entry/peter-thiel-email-inventor_n_...

YC and its founders worship him like a hero.

eduction··on U.S. researchers face new restrictions on publishing with foreign collaborators
Oh we have to worship our ex presidents like kings? It’s possible to criticize both Trump and Obama.

For example my top criticism of Obama is that he killed a 15 year old American child without trial. His press secretary was not only was unapologetic he said “ I would suggest that you should have a far more responsible father if they are truly concerned about the well-being of their children.”

https://en.wikipedia.org/wiki/Killing_of_Abdulrahman_al-Awla...

That father incidentally was another American killed without due process by Obummer’s personal order.

What’s your favorite Obama criticism?

eduction··on USDA Projects Smallest US Wheat Harvest Since 1972 Due to Plains Drought
You are wrong and the drought attribution is correct: Winter wheat is the dominant variety in the U.S. and is (and is projected to be further) down due to drought.

"a severe drought in the U.S. Plains has curbed production of hard red winter wheat, the largest variety grown in the U.S... The USDA projected U.S. wheat production in the 2026/27 season at 1.561 billion bushels, down from 1.985 billion in 2025/26, as a severe drought in the U.S. Plains was likely to slash the hard red winter wheat crop by 25% from a year earlier."

"The USDA rated just 28% of the U.S. winter wheat crop in good-to-excellent condition in a weekly crop conditions report on Monday, the lowest rating for this point in the growing season in four years."

This was mentioned in the very first sentence, it's the very first attribution of falling wheat harvest.

Yes Hormuz and rising oil costs are also a factor, a secondary one since they are impacting spring wheat planting decisions as you mention.

eduction··on EU Parliamentary Research Service calls VPNs "a loophole that needs closing"
Do you have a single link or other piece of evidence to substantiate this? I’ve never seen, nor can I find in a search, any evidence the ICP license scheme in place for that past 26 years in China has ever related to children in any meaningful sense.

It has the ring of BS. Why would an authoritarian government in a country with no free press or free elections feel any need to justify a speech regulation with a fig leaf? They openly restrict speech.

I think you’re full of it.

eduction··on Poland is now among the 20 largest economies
Self glorifying nonsense. Gorbachev ALLOWED Poland to not get crushed. You think Poles were any braver in 1989 than the Chinese people who laid down their lives in Tiananmen? You think your solidarity was in any way superior to what they did, what the Hungarians and Czechs did decades earlier? You succeeded due to good timing and because Gorby was your ultimate overlord rather than Deng Xiaopong. Poles should go thank him.

Stephen Kotkin says this much better than I ever could. https://youtu.be/0tXvLJXkFFg?t=295&si=26yINqxrcSdOUxCv

eduction··on Forking the Web
> That... is not how anything happened.

What the heck are you talking about? User agent devs and users did indeed always go toward it mostly works.

eduction··on ClojureScript Gets Async/Await
All async systems have pitfalls, I'd say core.async's are pretty minor compared to most other systems. You're right that `go` can encourage bloated functions and it would be better if it, for example, handled exception propagation (I would guess every serious core.async user has written their own go-but-with-exception-handing macro, it's not hard but it is unfortunate duplication of effort).

(I've never had to think about the state machine code when debugging and I've done a lot of core async debugging. That part really does seem to just work.)

eduction··on The Self-Cancelling Subscription
This was actually detectable in the calls to the providers if they went as described. The credit card company tells them the perk subscription is active and the streamer says it has been cancelled. ("There was a valid activation of the streaming perk, and a confirmation from the provider" vs "The subscription had been activated, then cancelled in an orderly fashion about 5 minutes later.")

This is perfectly in line with the actual async problem, but differs from what they put in the summary ("Support on both sides saw an orderly activation followed by an orderly cancellation, with no errors").

eduction··on Introduction to Atom
As a digital pedant I am very sympathetic to what prompted the creation of Atom. RSS2 for example under-specifies item "description" and "title," in particular how to put HTML in there, and using the most once-most-common technique (entity escaping HTML) makes it tricky to reliably do more basic things (encode/decode left angle brackets and ampersands, because now you don't know whether to do so singly or doubly).

But the undeniable victory of RSS shows the importance of being first and "easy" (even when "easy" means sweeping edge case problems under the rug). And of humans: Major publishers like the New York Times had adopted RSS and saw no need to switch to Atom because it was good enough. I'd argue the (also underspecified) CSV format is another example of this phenomenon.

(As for the entity escaping dilemma, people mostly just moved to using CDATA for their feed-embeded HTML, although I imagine people who write RSS readers still need to come up with semantics for figuring out if a title or description payload contains encoded html or not.)

eduction··on Introduction to Atom
I've never seen an Atom formatted podcast. NYTimes and WSJ each have a whole page devoted to their RSS feeds, I've never seen an Atom feed from either of them. It caught on sorta but didn't get the traction of what it was designed to replace. (Not saying this makes it Bad, btw.)
eduction··on Business Owners Are Worst Clients
Are those the only people who terminate business deals “with friction,” sociopaths?

Disagreements are normal and leaping to words like “worst” or “sociopath” because one occurs is not going to produce a sustainable business IMO.

eduction··on Ask.com has closed
If you define the mid 90s as “late,” sure. I’d argue the very phrase “Alta vista fallback” kind of screams “early,” at least in overall internet time.
eduction··on Business Owners Are Worst Clients
Devil’s advocate: they’re more demanding because, unlike employees, they are not pushovers. They have skin in the game.

You seem to have equated “more likely to terminate with critical comments” to “worst.” Seems pretty reductive.

eduction··on Ask.com has closed
You could get search results on yahoo. The directory results would come first and then search results from their current “partner.” At one point it was Inktomi, the Berkeley company behind HotBot. At one point it was Google. Before them, one of the more generic ones.
eduction··on A statement about why RightsCon 2026 will not take place in Zambia
Take away someone's rights for your rights conference, what could possibly go wrong.
eduction··on A statement about why RightsCon 2026 will not take place in Zambia
It's Friday and the conference is Tuesday. Half their people, it sounds like, at least, are on the ground in Zambia already.

You'd take a conference a year in the making and shift it online over a weekend from your hotel room in a developing country? No you would not. I don't blame them for not doing that.

eduction··on A statement about why RightsCon 2026 will not take place in Zambia
It’s “performative” to notify attendees of an international conference scheduled for next week that it will be cancelled?

It's "performative" to explain why?

Do explain.

Another Xi bot on HN. Look forward to dang telling us how it’s not a problem (again).

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

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

eduction··on A statement about why RightsCon 2026 will not take place in Zambia
They were not told of any issues until 8 days before the event, this week, after talking to government officials since 2024.

What would your “fallback” be, eight days out? Very curious.

eduction··on Firefox Has Integrated Brave's Adblock Engine
Preaching to the choir!
eduction··on Firefox Has Integrated Brave's Adblock Engine
People build on chromium for the same reason they build on Linux. I’d personally prefer if they built on illumos or bsd but at a certain point people would rather spend their innovation budget higher up the stack and benefit from the platform that has the most open source engineers working on it.
eduction··on Tariffs Raised Consumers' Prices, but the Refunds Go Only to Businesses
> if… consumers paid the higher price

It’s not binary. Some customers were willing and some weren’t. Even if the company was able to keep selling the item profitably, it may have reduced its total profits at the higher price point (fewer sales) and would gladly revert once the tariff is gone.

eduction··on Tariffs Raised Consumers' Prices, but the Refunds Go Only to Businesses
Businesses that raised prices to cover tariffs also saw reduced demand — axiomatically, that is what happens when you raise prices - and almost certainly made less total profit (since the rise went toward higher cost not margin expansion). I know we’re all supposed to be at each other’s throats these days but the tariffs were a shared burden.
eduction··on Aspartame is not that bad? (2022)
I think you and I agree. This is about the Italian cancer aspartame study you referenced (Ctrl-f on cancer). This is EFSA saying the study has major issues and reiterating that aspartame is safe.
eduction··on Aspartame is not that bad? (2022)
“ However, a number of major issues with the study were identified by the Panel which made interpretation of the findings difficult. Notably, a high background incidence of chronic inflammatory disease in the lung and other organs was observed in all the animal groups including controls which did not receive aspartame, as reported by the European Ramazzini Foundation. This was considered to be a major confounding factor.”

https://www.efsa.europa.eu/en/news/efsa-assesses-new-asparta...

eduction··on Clojure: Transducers
I'd argue for most people performance is the single best reason to use them. Exception is if you regularly use streams/channels and benefit from transforming inside of them.

To take your example, there isn't much abstraction difference between (into #{} (map inc ids)) vs (into #{} (map inc) ids), nor is there a flexibility difference. The non transducer version has the exact same benefit of allowing specification of an arbitrary destination coll and accepting just as wide range of things as the source (any seqable). Whether in a transducer or not, inc doesn't care about where its argument is coming from or going. The only difference between those two invocations is performance.

Functions already provide a ton of abstractability and the programmer will rightly ask, "why should I bother with transducers instead of just using functions?" (aka other, arbitrary functions not of the particular transducer shape) The answer is usually going to be performance.

For a literal core async pipeline, of course, there is no replacing transducers because they are built to be used there, and there is a big abstraction benefit to being able to just hand in a transducer to the pipeline or chan vs building a function that reads from one channel, transforms, and puts on another channel. I never had the impression these pipelines were widely used, but I'd love to be wrong!

eduction··on Clojure: Transducers
It's evolving, and I'm using transducers more over time, but I still regularly am in situations where a simple map or mapv is all I need.

Lazy sequences can be a good fit for a lot of use cases. For example, I have some scenarios where I'm selecting from a web page DOM and most of the time I only want the first match but sometimes I want them all - laziness is great there. Or walking directories in a certain order, and the number of items they contains varies, so I don't know how many I'll need to walk but I know it's usually a small fraction of the total. Laziness is great there.

This can still work with transducers - you can either pass a lazy thing in as the coll to an eager transducing context (maybe with a "take n" along the way) or use the "sequence" transducing context which is lazy.

I tend to reach for transducers in places in my code where I'm combining multiple collection transformations, usually with literal map/filter/take/whatever right there in the code. Easy wins.

Recently I've started building more functions that return either transducers or eductions (depending on whether I want to "set" / couple in the base collection, which is what eduction is good for) so I can compose disparate functions at different points in the code and combine them efficiently. I did this in the context of a web pipeline, where I was chaining a request through different functions to come up with a response. Passing an eduction along, I could just nest it inside other eductions when I wanted to add transducers, then realize the whole thing at the end with an into and render.

Mentally it took me some time to wrap my head around transducers and when and how to use them, so I'm still figuring it out, but I could see myself ending up using them for most things. Rich Hickey, who created clojure, has said if he had thought of them near the beginning he'd have built the whole language around them. But I don't worry about it too much, I mostly just want to get sh-t done and I use them when I can see the opportunity to do so.

eduction··on Clojure: Transducers
It goes beyond a foldable, can be applied to streams. Clojure had foldables, called reducers, this was generalized further when core.async came along - transducers can be attached to core async channels and also used in places where reducers were used. The terminology is used to document the thing that various contexts accept (chan, into, sequence, eduction etc). They exist to make the language simpler and more general. They could actually allow a bunch of old constructs to be dispensed with but came along too late to build the whole language around.
eduction··on Clojure: Transducers
This, by the way, is why the lead example in the original linked post on clojure.org is very much like mine.
eduction··on Clojure: Transducers
Lazy sequences reduce the size of intermediate collections but they “chunk” - you get 32 items at a time, multiply that by however many transformations you have and obviously by the size of the items.

There are some additional inefficiencies in terms of context capturing at each lazy transformation point. The problem gets worse outside of a tidy immediate set of transformations like you’ll see in any example.

This article gives a good overview of the inefficiencies, search on “thunk” for tldr. https://clojure-goes-fast.com/blog/clojures-deadly-sin/ (I don’t agree with its near condemnation of the whole lazy pattern (laziness is quite useful - we can complain about it because we have it, it would suck if we didn’t).)

← PreviousPage 2 of 24Next →