I'm pretty sure it means something like this: "Because jemalloc is used all over the place in our systems that run at tremendous scale, some hack that improves its performance a little bit while degrading the longer-term maintainability of the code can look very appealing -- look, doing this thing will save us $X,000,000 per year! -- and it takes discipline to avoid giving in to that temptation and to insist on doing things properly even if sometimes it means passing up a chance to make the code 0.1% faster and 10% messier."
I like the fact that the experiments people have tried with this almost all seem to fall into two quite different categories. Category 1: "Fuck you", "I just took a shit", "ass ass ass ass ass ass ass". Category 2: The Gettysburg Address, the Lord's Prayer and the opening of the Gospel according to St John.
Which kinda makes sense: it feels natural to do this with (1) things that are trivial or offensive, so that the pretentious LinkedIn versions are as different as possible, or (2) things with some sort of aura of greatness about them, so that the bathos of the sterile LinkedInSpeak is as great a contrast as possible.
But for #2 it feels to me like great writing rather than culturally important and revered writing is more the point (though of course there's some tendency for those to go together). I tried a few famous bits of writing to see what happened. Here are some outputs; guessing what the inputs were is left as an exercise for the reader. In most cases this is just the first bit of the LinkedIn translation. I think some are much easier than others.
I recently connected with a global traveler from an emerging market who shared some powerful insights on legacy and leadership.
It’s a global industry standard: any high-net-worth individual with a solid portfolio is actively looking to scale their personal life and onboard a long-term partner.
April is officially the most challenging month for growth.
Reflecting on the current landscape: it’s a time of massive disruption and unparalleled opportunity. We’re seeing a true dichotomy—the age of wisdom vs. the age of foolishness.
Reflecting on my career journey and personal ROI. When I look at my bandwidth and how my energy is spent before reaching my mid-career milestones in this vast, competitive landscape, I realize that sitting on my unique value proposition is a major career risk.
I was out there solo-navigating my journey, scaling high-level peaks and valleys like a cloud, when I suddenly hit a major milestone: I encountered a massive network, a high-performing host of golden daffodils.
Big news from Xanadu! Kubla Khan just greenlit a massive, high-end pleasure-dome project.
Team, it’s time to lean in and go again! [rocket emoji] We either hit our KPIs or we leave it all on the field. [100% emoji] In a steady market, there’s nothing better than a growth mindset and staying humble. But when the industry gets disrupted, it’s time to activate beast mode. [lion emoji]
Note that "police police police police" is a grammatically valid sentence, with multiple different parsings, one of which we could rephrase as "the people who keep a watchful eye on what the police are doing, keep a watchful eye on what the police are doing" -- that is, the police police are policing the police -- so it's even true.
I think the joke is that Microsoft did do something very like this -- they call it Windows Recall -- and it got a lot of angry pushback. (Partly, IIRC, because the specific way they did it initially was very bad in terms of security and privacy, but I think a lot of people quite understandably don't trust them to implement it (a) the way they claim they do or (b) competently, so even after they made a bunch of changes aimed at making it less scary it's still viewed with a lot of hostility.)
I think there may be a bit less to that one than meets the eye. In Swiss law there's some kind of right-of-reply thing where if someone puts something about you in print and you think it's wrong you may be entitled to have some sort of response printed. And AIUI the way this works is that you go before a court and say "we want our response printed, please", and that's what Palantir's done in this case.
(Note 1: For all I know it may well be true that the reporting is 100% accurate and Palantir's claim to deserve a reply is 100% bullshit. I'm not saying they're in the right here! But I think the actual story is a bit less horrible than "Palantir is taking these guys to court because they didn't like their reporting" sounds without the relevant context. They're not, e.g., trying to get damages from the newspaper, or trying to get what they wrote retracted, or anything like that.)
(Note 2: I am not an expert on Swiss law or on this case, and I am accordingly not 100% confident of any of the above. In the unlikely event that whether I'm right about this matters to anyone reading, they should check it for themselves :-).)
One thing in the article that strikes me as very strange is this:
"I suppose that, on a practical level, a take-home for the practicing mathematician is that if you use ChatGPT, don’t trust it to generate valid proofs, and even when it finds a valid proof, don’t be so sure it’s a good proof. And whatever you do, don’t have ChatGPT create a bibliography for you."
In isolation, that's all very good advice. But however is a take-home from what goes before? You used ChatGPT, it did generate a valid proof, it was "a solid by-the-book argument that employed a method I’ve used myself" which may or may not imply "a good proof" but suggests it was at least OK, and nothing in the story you told involves ChatGPT generating bibliographies at all.
Thanks for catching this! What was in my mind when I wrote the first of those two sentences was the entirety of my past experience using ChatGPT as a research tool, and all the times it made mistakes. (For a funny example, see my January 17, 2023 essay “Denominators and Doppelgängers” in which I describe ChatGPT's proof that .999... is less than 1.) But you're 100% right that the version of my essay that I posted last week didn't make this clear; I'll update it appropriately. I'll also add a brief description of ChatGPT's bibliographic blunder.
https://www.youtube.com/watch?v=kw8SSQHQitg is Lindsay Graham in 2016 defending the Republicans' refusal to consider a nomination to the Supreme Court in the last year of Obama's presidency, and saying "you can use my words against me and you'd be absolutely right".
https://www.youtube.com/watch?v=CR2A6FDiGEA is about Lindsey Graham in 2020 defending the Republicans' insistence on pushing through a nomination to the Supreme Court in the last year of Trump's presidency. It also includes a clip of Lindsay Graham in 2018 saying that if a Supreme Court vacancy opens once the primaries have started, "we'll wait till the next election".
What is asserted without evidence may be dismissed without evidence.
(The form in which Christopher Hitchens actually stated "Hitchens' Razor" is more symmetrical but unfortunately wrong: "What can be asserted without evidence can be dismissed without evidence". Anything can be asserted without evidence! It's only when something actually has been, in a given context, that dismissing it is -- in the same context -- a reasonable course of action.)
While a reasonable principle I don't think it applies in context. People aren't expected to exhaustively source comments on HN. There's subjective etiquette to it.
In this case it would be reasonable to inquire about the basis of the original remark, or to reject based on personal knowledge, or to reject based on a concrete citation. But an arbitrary non-technical vibes based rejection doesn't fit with how things generally work here.
It was worse than you remember. You could have 640x256 in monochrome, or 320x256 with 4 colours, or 160x256 with 16 colours (which IIRC was actually 8 distinct colours plus 8 flashing versions of them).
The game Elite did something extremely evil and clever: it was actually able to switch between modes partway through each frame, so that it could display higher-resolution wireframe graphics in the upper part of the screen and lower-resolution more-colourful stuff for the radar/status display further down.
Switching modes like that was common practice on the Amstrad CPC (which used the same 6845 video chip), but as time went on, people also learned how to change the base address of screen RAM part way through each frame. This gave you super-smooth hardware scrolling for the main game area while still retaining a static score display. Unfortunately it came too late in the machine's history to be used for more than a handful of games, but demo coders used it extensively (and still do).
Most of that complication is there because times and dates are actually complicated. You can have a nice simple API that doesn't expose the complication only if you're happy for it to encourage false assumptions and wrong behaviour.
But, still, let's look at your first couple of complaints.
To make #1 more explicit: If you want the equivalent of "new Date()", then as you observe you need to say something that's longer because it's more specific about what it's giving you. Why can't it just do the obvious simple thing, like Date does?
To make #2 more explicit: If you want the equivalent of "Date.now()", then as you observe you again need to say something that's longer because it's more specific about what it's giving you. Why can't it just do the obvious simple thing, like Date does?
Well, because as those two examples show there isn't actually an obvious simple thing. Two operations both of which one might expect to do the obvious simple thing do different things, and if there's some obvious way for someone who doesn't already happen to have the specs of Date memorized to know which one is "new Date()" and which one is "Date.now()", I don't know what it is.
So, to me, those first two examples look like pretty convincing evidence that Temporal is a better design and one that's less likely to lead non-experts to make serious mistakes.
... And then your other two complaints aren't actually about the API being "too complicated" at all! PascalCase isn't more complicated than snakeCase. Nanoseconds aren't more complicated than milliseconds.
(Also: "zonedDateTimeISO" and "epochMilliseconds" are in fact both snakeCase, and a quick look at the Temporal documentation suggests that this is the norm. Method names are snakeCase, class names are PascalCase. I am not a Javascript expert but isn't that pretty normal?)
Thanks for sharing your thoughts too. I still have the feeling that broad adoption comes from simple things that just work. And the complicated stuff is more optional.
reply