2,405 karma · joined June 22, 2022
https://www.huffpost.com/entry/peter-thiel-email-inventor_n_...
YC and its founders worship him like a hero.
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?
"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.
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.
Stephen Kotkin says this much better than I ever could. https://youtu.be/0tXvLJXkFFg?t=295&si=26yINqxrcSdOUxCv
What the heck are you talking about? User agent devs and users did indeed always go toward it mostly works.
(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.)
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").
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.)
Disagreements are normal and leaping to words like “worst” or “sociopath” because one occurs is not going to produce a sustainable business IMO.
You seem to have equated “more likely to terminate with critical comments” to “worst.” Seems pretty reductive.
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.
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).
What would your “fallback” be, eight days out? Very curious.
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.
https://www.efsa.europa.eu/en/news/efsa-assesses-new-asparta...
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!
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.
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).)