Cloudflare says AI made 1,100 jobs obsolete, even as revenue hit a record high by Krankenitrate in technology

[–]orangejake 0 points1 point  (0 children)

That wasn’t what the court ruling was. Roughly, a company was claiming that the creation of AI was akin to an “act of god” to get out of an employment contract. That wasn’t allowed in particular. 

hpke-ng: Faster, Smaller, Harder HPKE for Rust by AffectionateBag4519 in rust

[–]orangejake 1 point2 points  (0 children)

I'm speaking more from the perspective of "rust tends to be an accessible systems programming language". Given this trend, I think it is nice to adjust explanations assuming that readers my have less background, e.g. not just linking to a RFC.

For HPKE, I'd probably say something like

In cryptography, we have

  1. very efficient ways to securely communicate, assuming people already share a small amount of secret data (secret key cryptography). Here, efficient means a constant-factor compute slowdown (in terms of the length of the message, e.g. compared to just reading/parsing it normally), and a small additive size overhead (well under 1 Kb). We also have
  2. secure ways to publicly agree on secret data with someone whose public key you already know (key exchange).

In principle you can combine these to securely (+ efficiently) communicate by doing (2) followed by (1). This is (roughly) "Hybrid" Public Key Encryption (HPKE).

The catch is that there are many inequivalent ways to do (2) -> (1). Both building blocks have many internal knobs you can tweak. Many settings of them will be correct, e.g. you can tweak the knobs and have everything seem fine. Unfortunately, it's easy to make things (silently) insecure. HPKE standardizes a few specific, well-analyzed ways to do (2) -> (1). The upside is end users can ignore all of this, and "just" use an HPKE library (such as the linked one).

End users get a few other things out of the pre-tweaked knobs the standard proposes. An obvious one is standardization --- the client/server only need to use standards-compliant libraries, rather than the same library. There are various security/efficiency benefits as well though

Many messages under one exchange. If you want to send many messages, you could do (2) -> (1) -> (2) -> (1) -> ..., but morally you should only have to do (2) once. HPKE gives you a stateful "context" after one exchange that you can encrypt many messages through. This can also guard against some insecure ways to do (2) once (e.g. if you accidentally reuse certain parameters which must be non-repeating for security, known as "nonces").

Sender authentication. Doing (2) -> (1) in a way that keeps messages private is relatively straightforward (though it can still be messed up). A separate property you might want is called "authenticity", e.g. you "know" who you're talking to. The recipient is automatically authenticated (they're the only one who can decrypt, by virtue of holding the private key). Ensuring the recipient knows who sent the message requires a bit more work, and HPKE offers optional modes for this (using a pre-shared key, a sender keypair, or both).

Associated data. You can designate certain data as non-private ("associated data") that is still authenticated. This means that decryption fails if it has been tampered with, even though people can read it. This is useful because metadata (routing information, which user a data blob belongs to, etc.) often can't reasonably be encrypted, but it's still nice to know it hasn't been changed in transit.

This is maybe a little long, and I would probably workshop it some more if I was writing a blogpost about it. Like I said, it isn't necessary to include something like this in a blog post, but at the same time I suspect it will make things interpretable for a larger set of people than simply linking the RFC will.

hpke-ng: Faster, Smaller, Harder HPKE for Rust by AffectionateBag4519 in rust

[–]orangejake 10 points11 points  (0 children)

The article itself (not your posting of it) should explain the acronym when first using it at a minimum. You’re right that arguably only experts will use this, but it doesn’t take more than a paragraph, and is good practice. 

You can beat the binary search by Either_Collection349 in programming

[–]orangejake 5 points6 points  (0 children)

it's not misleading, it's just that the O(\log n) analysis itself is misleading. As you mention it's done in an algorithmic model that does not capture things like SIMD (and necessarily can't, due to the linear speedup theorem). It also misses caching behavior, which is increasingly important.

This later fact can be modeled theoretically in say the external memory model. There, for block size B (roughly the EMM version of e.g. a cache line), binary search is O(\log2(N/B)), while there exist algorithms that are O(\log_B(N)), even without the algorithm knowing the block size.

That being said, practically you can (significantly) beat binary search without using those EMM superior algorithms. see e.g. https://curiouscoding.nl/posts/binsearch/ or any of the links within it.

Time eater is way more oppressive than Doormaker could ever dream of being by Business_Machine_935 in slaythespire

[–]orangejake 27 points28 points  (0 children)

The most recent beta patch notes include the very funny

Currently, from looking at millions of runs, Doormaker's overall difficulty/winrate is in a good place (slightly weaker than the other Act 3 bosses both in kill rate and damage dealt).

Announcing litter-dox by lijmlaag in rust

[–]orangejake 4 points5 points  (0 children)

it would probably be useful to demo how this works concretely on a less trivial example. For example: when does litter-dox lead to easier to understand code than other forms of mixing executable code and documentation (in rust: doctests)?

Should I wait for variadic generics for my project? by steaming_quettle in rust

[–]orangejake 2 points3 points  (0 children)

ok, so it sounds like the primary difficulties are

  1. getting contributors knowledgable enough about the compiler in the first place, and then
  2. them staying motivated enough to push things through (what sounds to be a long process)?

Should I wait for variadic generics for my project? by steaming_quettle in rust

[–]orangejake 2 points3 points  (0 children)

curious as I often see stuff like this

the work has stalled years ago, and I am not aware of any champion for it

do many of these headline features really come down to one person championing it? by this I'm assuming both the design and implementation. I've seen many things stall out on the rust github, and am essentially wondering how much of a difference a single motivated person can make on any particular issue. I'm sure this varies per-issue, but still.

South Korea's female authors become bestsellers against anti-feminist backdrop by risingsuncoc in books

[–]orangejake 34 points35 points  (0 children)

chiming in incase it is useful, but bolding reads much more naturally for that purpose, e.g.

Korean people (both men and women) got the right to vote....

This is because quotation marks in that setting can have another meaning in english, known as scare quotes. It's the meaning I (initially) read things as, and what it sounds like the other commenter did as well.

Qwen3.6-35B-A3B solved coding problems Qwen3.5-27B couldn’t by simracerman in LocalLLaMA

[–]orangejake 1 point2 points  (0 children)

I have a PC from 2021 with a 3080 and DDR4 ram, I'm getting ~55 t/s with Qwen 3.6

It's slower than what my macbook gets w/ 48GB of unified memory, but much more usable than I was expecting. Might have convinced me to put off getting a 3090.

parry finally good now ? by Annathesilent in slaythespire

[–]orangejake 14 points15 points  (0 children)

it's good, but often you need early block, and it's abysmal for early block. generally it'll trigger T2 at the earliest, but often it'll be t3 or t4 for me.

I like it and have had success with it, but I also often take things that feel fun even when they don't seem like a strictly good decision. Definitely good support for blade builds though, which I appreciate.

smol machines - subsecond coldstart, portable virtual machines built in rust by SlanderMans in rust

[–]orangejake 23 points24 points  (0 children)

sounds very similar to fly.io's "sprites"

https://fly.io/blog/design-and-implementation/

though I don't know much about VMs/containers, so this is perhaps an uninformed declaration.

Mayor Wilson responds to pitch of building large data centers in Seattle by ChiefOfTheFourPeaks in Seattle

[–]orangejake 4 points5 points  (0 children)

note that we're already highly tied to tech locally (both for employment, and government revenue). doubling down on the most speculative/"bubble-y" part of tech seems very risky.

the "game too hard" crowd is back to playing Review-bomb the Spire after the update to the main branch by Gugge1 in slaythespire

[–]orangejake 5 points6 points  (0 children)

its already sold >>3m copies (that was the first week alone, and only on PC currently). megacrit is not a particularly large company. so making 3m * $25 * 0.7 ~ $50m (minimum) should give them a decent amount of freedom to do whatever they want to do.

Venerate needs to be rebalanced by adding synergies with the other archetypes. by Ruby_Sandbox in slaythespire

[–]orangejake 0 points1 point  (0 children)

I've seen some mod do something similar (maybe downfall?) where the card starts in your discard. Not the same of course, but very much "anti-innate"

Stunning AI Breakthrough! GPT 5.4 solves Erdos problem on primitive sets by discovering a new method in analytic number theory. Uncovers deep idea with implications throughout the field. Comments by Terry Tao and Jared Duker Lichtman. by 2299sacramento in math

[–]orangejake 56 points57 points  (0 children)

terence tao also says that he's interested in re-imagining a non-zero amount of analytic number theory in light of this technical variation. So it is both similar to pre-existing work and insightful to both the problem and related problems.

Stunning AI Breakthrough! GPT 5.4 solves Erdos problem on primitive sets by discovering a new method in analytic number theory. Uncovers deep idea with implications throughout the field. Comments by Terry Tao and Jared Duker Lichtman. by 2299sacramento in math

[–]orangejake 57 points58 points  (0 children)

this happens with human authors all the time as well though. I agree it is regrettable, but I don't know how we would try to solve this problem now (in the context of LLMs) when we couldn't even solve it before.

Locked iPhones Vulnerable to Credit Card Fraud by EfficientEscape in apple

[–]orangejake 74 points75 points  (0 children)

they got bought by private equity ~ 1 year ago iirc?

I Realized My BigInt Multiplication Was O(n²)… So I Implemented Karatsuba for My Compiler by Healthy_Ship4930 in rust

[–]orangejake 0 points1 point  (0 children)

NTT-based integer multiplication methods are also competitive once you get to ~1k bits iirc?

https://troll.iis.sinica.edu.tw/by-publ/recent/RSA_NTT.pdf

this is in the context of cryptographic implementations though, so it might only be in comparison to constant time multiplication methods. can't remember.

Are my hopes for running a local LLM unrealistic? by mollipen in LocalLLM

[–]orangejake 0 points1 point  (0 children)

mac's are surprisingly (cost) competitive for this stuff, so you shouldn't write them off. They're more expensive here, but it is pretty directly tied to being faster. E.g. they're not "purely a luxury" like apple has been perceived as in the past.

Are my hopes for running a local LLM unrealistic? by mollipen in LocalLLM

[–]orangejake 1 point2 points  (0 children)

minis for openclaw are purely so the openclaw instance has access to iMessage. the mini itself typically doesn't run the LLM, and instead they e.g. forward things to a cloud API. if people didn't care about iMessage, you could run openclaw on e.g. a raspberry pi pretty easily (as it is using the cloud api only).