HNHacker News
TopNewBestAskShowJobs

jon_richards

1,879 karma · joined November 21, 2015

submissionscomments
jon_richards··on Discworld Rules
My favorite analysis of lotr is this:

> good does not need to destroy evil; good needs only to resist evil, and when it does that, evil destroys itself

jon_richards··on If it is worth keeping, save it in Markdown
The killer app for markdown would be a collaborative editor that displays the raw markdown and formatted markdown side-by-side and makes both sides editable. Tech people can use `#` and `*` on one side for formatting, product people can use normal text-editor buttons like "header1", "italics", etc.
jon_richards··on Dogs may have domesticated themselves because they liked snacks, model suggests
Is a bred in behavior to hunt vermin domestication or lack of domestication?
jon_richards··on If you believe in "Artificial Intelligence", take five minutes to ask it
Any sufficiently misunderstood algorithm is indistinguishable from AI.
jon_richards··on Undergraduate shows that searches within hash tables can be much faster
My favorite version:

    x = 0.999...
    x - x/10 = 0.9
    x = 1
jon_richards··on Discussion: Reduce error handling boilerplate in Golang using '?'
Even less pretty for getattr. And then you have a rude awakening about the difference between the missing default behavior of these two functions.
jon_richards··on Her dad, the 10k records he left behind and a viral lesson in grief
> Organization on song within album within artist within genre helped me remember and relate to it. I felt like I was in conversation with the artists.

The podcast No Dogs in Space brought this back for me. They discuss the stories of different artists, playing clips of their songs and explaining which got them their first gigs or record deals, when band members joined or left, other artists and music styles of the time, etc.

I've always been terrible with names, so I could never follow along with pop culture songs, albums, or artists. For the first time in my life I can overhear a song and identify it, the artist's influences, and related songs. I'm no longer a complete outsider in conversations about music.

Maybe once upon a time radio provided a lot of that--before it was taken over by standardized programming and advertisements.

jon_richards··on New Book-Sorting Algorithm Almost Reaches Perfection
More like tree rebalancing.
jon_richards··on Understanding gRPC, OpenAPI and REST and when to use them in API design (2020)
Awesome! Could you share? I also use react native.
jon_richards··on Understanding gRPC, OpenAPI and REST and when to use them in API design (2020)
Not OP, but https://cloud.google.com/blog/products/api-management/restfu...

The problem is that clients generally have a bunch of verbs they need to do. You have to design your objects and permissions just right such that clients can do all their verbs without an attacker being able to PATCH "payment_status" from "Requires Payment" to "Payment Confirmed".

RPC uses verbs, so that could just be the SubmitPayment RPC's job. In REST, the correct design would be to give permission to POST a "Payment" object and base "payment_status" on whether that has been done.

jon_richards··on Understanding gRPC, OpenAPI and REST and when to use them in API design (2020)
The auto-generated SDKs are very useful here. An API customer doesn't have to learn protobuf or install any tooling. Plus they can fall back to JSON without any fuss. Connectrpc is much better at that than my envoy transcoder was.

If you're thinking from the API author's point of view, I might agree with you if there was a ubiquitous JSON annotation standard for marking optional/nullable values, but I am sick of working with APIs that document endpoints with a single JSON example and I don't want to inflict that on anyone else.

jon_richards··on Understanding gRPC, OpenAPI and REST and when to use them in API design (2020)
I've been having fun with connectrpc https://connectrpc.com/

It fixes a lot of the problematic stuff with grpc and I'm excited for webtransport to finally be accepted by safari so connectrpc can develop better streaming.

I initially thought https://buf.build was overkill, but the killer feature was being able to import 3rd party proto files without having to download them individually:

    deps:
      - buf.build/landeed/protopatch
      - buf.build/googleapis/googleapis

The automatic SDK creation is also huge. I was going to grab a screenshot praising it auto-generating SDKs for ~9 languages, but it looks like they updated in the past day or two and now I count 16 languages, plus OpenAPI and some other new stuff.

Edit: I too was swayed by false promises of gRPC streaming. This document exactly mirrored my experiences https://connectrpc.com/docs/go/streaming/

jon_richards··on Bioinspired weather-responsive adaptive shading
I think it's become an industry term. This isn't the first article or product I've seen using it to refer to a 3d printed object that reversibly transforms without mechanical input.
jon_richards··on Brood War Korean Translations
Is there any link to “ace” meaning a tennis serve that the defending player fails to make any contact with? I could see the parallel with a “cheese” strategy being an unexpectedly fast attack.
jon_richards··on 43K fewer drivers on Manhattan roads after congestion pricing turned on
I like the theory of traffic that basically says traffic will always make the best mode of transportation as bad as the second best.

The problem with buses is that car traffic can never be bad enough to make cars worse than buses. Buses are doomed to always be worse than cars unless they have dedicated lanes or parking is unbearable. So cars slow down to equal the metro system, bikes, ferries, etc.

A dedicated bus lane can speed up cars more than another car lane because it pulls traffic off the road until driving convenience equals bus convenience.

jon_richards··on 43K fewer drivers on Manhattan roads after congestion pricing turned on
I’d say a cherry picked example is backed by random chance (possibly counter to the trend) while a poster child example has an explanation (not necessarily correct) for being the most sensitive to the variable being changed.
jon_richards··on University of Alabama Engineer Pioneers New Process for Recycling Plastics
Much of Europe seems to do fine orienting their consumption and recycling around glass (including wash+reuse). I was surprised I didn’t even see aluminum recycling because it was so rare to see a can.
jon_richards··on A data table thousands of years old (2020)
Unfortunately our DNA is also in excel. Several genes had to be renamed because they kept being identified as dates.
jon_richards··on JSON parsers that can accept comments
Yeah. A round-trippable comment is just another text field. Leave that to the application.

It’s unfortunate how many APIs are documented with a single json example, but annotating them with comments (and maybe types?) would help immensely.

jon_richards··on A pro-science, pro-progress, techno-optimistic health textbook from 1929
I believe there was a study that showed a mix of behaviors because populations with cooperative individuals out-compete in plentiful times and selfish individuals out-compete in scarce times. Hard to Google now because of selfish gene theory.
jon_richards··on Safe relational database queries using the Rust type system
Isn’t the standard just to set the unchanged column to itself?
jon_richards··on Dell is posting unsigned updates to their website which fail to install
Last major update broke all my vpns for a while. Really not fun having to switch to ssh bastions to do anything.
jon_richards··on Biological Miracle – Wood Frog
I'm not surprised. There have been studies that show caterpillars retain memories through metamorphosis into a butterfly (a process that basically liquefies them).
jon_richards··on 19th-century ‘toy book’ demystified the techniques used by mediums
The classic example is Homer's "Wine-dark sea", but it gets a lot more complicated than that https://en.wikipedia.org/wiki/Linguistic_relativity_and_the_...
jon_richards··on WebSockets cost us $1M on our AWS bill
Not really what they're talking about https://stackoverflow.com/questions/97197/what-is-the-n1-sel...
jon_richards··on Ghosts in the Machine
Lunar zenith isn’t midnight. It can happy at any time, including during the day.
jon_richards··on Google CEO says more than a quarter of the company's new code is created by AI
I often find the opposite. Documentation can be up to date, but AI suggests deprecated or removed functions because there’s more old code than new code. Pgx v5 is a particularly consistent example.
jon_richards··on Buy payphones and retire
That's not really my point. I think one thing that gets lost in the "everything has different levels of risk" discussion is that many risk/reward profiles are bad. Calling everything a tradeoff is misleading. Banks are more than happy to capitalize on laziness and lack of knowledge (an American is more likely to change their spouse than their bank), so the balance between risk and reward gets thrown out of whack.

The simple term for this is Sharpe Ratio https://en.wikipedia.org/wiki/Sharpe_ratio

If you want to get really deep into investment theory, Beta implies basically everything is a good investment in small enough amounts https://en.wikipedia.org/wiki/Beta_(finance)

Though in practice, Beta is mostly irrelevant beyond a relatively simple portfolio https://finance.yahoo.com/news/warren-buffett-myth-more-why-...

jon_richards··on Buy payphones and retire
Sure, there’s no free lunch, but there is the beat-you-up-and-take-your-lunch-money of not investing.

Bonds may have gone down, but they still paid out. Unless people sold at a loss for liquidity or could’ve timed the market and bought low, they were better off than people stashing money in a mattress or most bank accounts.

jon_richards··on How the human brain contends with the strangeness of zero
I think it's much more productive to teach children

    2x0 = 2x1 + 2x(-1) = 2-2 = 0
and

    2xx0 = 2xx1 x 2xx(-1) = 2/2 = 1
Inverting the concept and having those patterns stem from a fundamental identity can wait until its not seen as the mathematical equivalent of "Because I said so".
← PreviousPage 2 of 19Next →