MurphyA/hacker-news huggingface dataset:
by arduanika | 2026-01-24 05:06:56+00:00
The reduced sentences for Ellison, Wang, and Singh make sense in light of their cooperation. This is how plea deals work. The conviction of SBF seems simple in retrospect, but when the SDNY inked these deals, they did not yet know how just easy SBF would make their case for them, with all the tampering and perjury and obstinance.

Nonetheless, we should not be fooled by a sort of "Svengali defense", where Caroline or the others claim that they were beguiled by a dark charismatic genius who forced them into the crimes. The entire inner circle is super guilty of flagrant crimes. The shorter sentences are an artifact of plea bargains, and not a sign of lesser guilt.
by rvz | 2026-01-24 05:08:18+00:00
Why Amazon?

They are the worst of all companies to join [0] and always have tight profit margins every year, meaning they need to find ways to eventually increase that and have to lay off at least 10,000+ employees out of necessity on top of the constant politicking just for that promotion to survive the next layoff.

They are about to cut another 14K+ employees because they can [1] and want 30,000 jobs cut in total (For comparison, that is 6x OpenAI, 0.95x of Nvidia and 0.38x of Meta employees) this year.

There's 1.6M+ of you joining a forever squid game to survive elimination when the company openly wants to replace their (warehouse) workers with robots AND the (corporate) rest with AI agents + humans, meaning an eventual reduction of human labor to increase their margins.

[0] https://news.ycombinator.com/item?id=45774189

[1] https://www.reuters.com/business/world-at-work/amazon-plans-...
by sublinear | 2026-01-24 05:09:04+00:00
I think the items in the carousel are just too wide. There's usually some side margin showing more of the previous and next items.

I turned my phone to landscape and the scroll "sensitivity" no longer felt wrong, but then a new bug was revealed. It chooses to put focus on the right-most item in the carousel. Now the animation doesn't play for the first item.
by thesz | 2026-01-24 05:09:54+00:00
> The `Either a b` type in Haskell is equivalent to the `Result<T, Error>` type in other languages. The only difference is in the naming:

This is false and misleading.

The Result <E, T> usually (C#, at the very least, most probably C++ and many other languages) should always be fully instantiated. One usually cannot construct a type "function" like Result <E,> that needs a single type argument to instantiate a full type. The partial application on type level is not there in most languages, including Rust (a result of a little googling).

The Haskell's Either type can be instantiated to Be a two-type-arguments function, one type argument function and, finally, a fully instantiated type like Either String Int.

This means that Result <E, T> type effectively has a single type argument, namely pair of types. The Either type has two type arguments and can be partially applied.
by dripdry45 | 2026-01-24 05:10:05+00:00
Large institutions have been moving in this direction for about a year.
I just put together a fairly more stable and diversified portfolio that is effectively only about 15% in the US. It involves some short-term private equity, lots of commodities, European cyclicals and financials, some small Deep value, energy and climate change infrastructure is on solid ground and being well funded around most of the world… they really are plenty of bright spots and lots of good advice out there, even from public letters from places like Van Eck, Piko, GMO funds, and others.

There are a number of very important categories to avoid, like convertibles, but overall it’s quite possible if you have a little bit of acumen with investing.
by cap11235 | 2026-01-24 05:11:12+00:00
Anyone using beads should switch to something else that isn't insane. If you like beads, https://github.com/hmans/beans works the same (not my project), just that its serdes is markdown files with front matter, in a dot folder. Like every sane solution. No daemons, no sync branches. I cannot guarantee the project at all, but at least its better than beads. Or make your own; this is one example of one such project.
by bartread | 2026-01-24 05:12:02+00:00
I agree on the some fronts. MP3 players that support a variety of other formats, including lossless, and have far better playback quality than any iPod ever did are out there.

But the last time I bought one I remember a mixed experience. On the one hand, it sounded incredible. On the other, as soon as I loaded all 9500 tracks in my library onto it, the UI ground to a halt. Storage wise I could have crammed many times the number of tracks on there but there was no way the user interface would cope.

And I had to organise it all manually on my computer in order to avoid a mess on the device.

And the sync experience absolutely sucked balls. There was nothing close to plug it in and forget about it.

So, with some regrets, I returned the device and got a refund. I still use Spotify[0] in the car, and CDs at home.

[0] Which I have a love-hate relationship with.
by windexh8er | 2026-01-24 05:12:31+00:00
Microsoft did give them. Just because they have a warrant doesn't mean keys should be handed over in any usable form. As indicated in the Forbes [0] article - both Meta and Apple have the exact same convenience in place (cloud backup) with none of the direct risk.

So, yes. That is how it works: 1) Microsoft forces users to online accounts 2) Bitlocker keys are stored in an insecure manner allowing any US agency to ask for them. I intentionally say "ask for them" because the US government is a joke with respect to respecting its own citizens privacy [1] at this point.

This type of apologetic half-truth on behalf of a multi-billion dollar corporation is getting old fast.

[0] https://www.forbes.com/sites/thomasbrewster/2026/01/22/micro...
[1] https://www.npr.org/2026/01/23/nx-s1-5684185/doge-data-socia...
by blep-arsh | 2026-01-24 05:13:24+00:00
Shanling uses a custom OS although it feels very primitive compared to iPods (e.g. the iPod Nano had VoiceOver for touch navigation). So I'm not really a fan of these dedicated single-function players; modern media player apps can be fast and convenient (more so than a clickwheel, honestly), and Android devices can still have dedicated control buttons. If only these devices weren't so bulky...
Show HN: Supe – Give your AI agent a brain, not just memory
by xxayh | 2026-01-24 05:14:58+00:00
I built Supe because I wanted Claude to analyze game binaries but not modify them. The constraints grew into something more general: a cognitive architecture for AI agents.

The problem: Most agent frameworks treat memory as flat storage. Store a key, get a value. That's not how useful memory works.

What Supe provides:

1. Neural Memory - Hebbian learning ("fire together, wire together"). Cards connected by synaptic links that strengthen with co-activation and decay with disuse. Spreading activation for recall. Hubs emerge naturally.

2. Validation Gates - Python functions that run before/after tool executions. Block `rm -rf`, enforce read-only mode, whitelist commands. Code, not configuration.

3. Proof-of-Work - SHA256 hashes chain every execution. Tamper with logs and proofs won't verify.

4. Cognitive Hierarchy - Moments (sessions) → Cards (knowledge units) → Buffers (raw data). Not flat.

5. Semantic Relations - 7 typed connections: CAUSES, IMPLIES, CONTRADICTS, SUPPORTS, DEPENDS_ON, EQUALS, TRANSFORMS.

Example gate:

@agent.register_gate("safe")
def safe(record, phase) -> GateResult:
if "rm -rf" in record.tool_input.get("command", ""):
return GateResult("safe", False, "BLOCKED")
return GateResult("safe", True, "OK")

Example neural recall:

neural.add_card(1, {"title": "OAuth"})
neural.add_card(2, {"title": "Login"})
neural.connect(1, 2) # Hebbian learning
results = neural.recall("authentication") # Spreading activation

343 tests. MIT license. Works with Claude SDK.

pip install supe
by cap11235 | 2026-01-24 05:17:09+00:00
If you disentangle the prose, it doesn't get better. It reduces down to IDK, but it makes output. That is all it can reduce down to. I love using Claude on my code, I love refactoring via broad sweeping statements to an agent, but I don't love trying to refute charlatans. Yeggae can go fuck himself with all the dildos his token can now buy (for a limited time only!).
by saturatedfat | 2026-01-24 05:20:13+00:00
let me take a shot. i have thought about both for a while.

dspy is declarative. you say what you want.

dspy says “if you can say what you want in my format, I will let you extract as much value from current LLMs as possible” with its inference strategies (RLM, COT; “modules”) and optimizers (GEPA).

gas town is …
given a plan, i will wrangle agents to complete the plan. you may specify workflows (protomolecules/molecules) that will be repeatedly executed.

the control flow is good about capturing delegation. the mayor writes plans, and polecats do the work. you could represent gas town as a dspy program in a while loop, where each polecat loops until its hooked work is done. when work is finished, its sent to the merge queue and integrated.

gas town uses mostly ephemeral agents as the units for doing work .

you could in theory write gas town with dspy . the execution layer is just an abstraction . gas town operates on beads as state . you could funnel these beads thru a dspy program as well.

the parallels imo are mostly just structured orchestration .

i hope this comes off as sane. 2026 will be a fun year.
by phendrenad2 | 2026-01-24 05:21:20+00:00
> Back in the day hackernews had some fire and resistance

Hackernews is a public forum, and the people here change constantly. "Back in the day" there were mostly posts about LISP and startup equity. It's obviously not the same people here now.

> Too many tech workers decided to rollover for the government

Again, not the same group of people. In the 2000s "tech workers" might have mostly been Californians. Now they're mostly in India. Differing perspectives on government, to be sure.

> lazy engineers build lazy key escrow

Hey you should know this one, because it's something that HAS stayed constant since "back in the day": The engineers have absolutely no say in this whatsoever.
by edmundsauto | 2026-01-24 05:23:19+00:00
As I understand it, intent matters a lot, and that is typically through the testimony of people who had access to SBF in an environment where he was comfortable speaking candidly.

Those people are often accomplices. Sometimes the medium large fish get off if they chop up the big fish.

There are the way things should be, and there are the way things are.
by userbinator | 2026-01-24 05:26:42+00:00
Not that poster but I can also tell the difference in sound between filesystems, likely due to how they store their metadata and the resulting seek patterns. This is my subjective experience:

Linux ext* series - mostly silent, but even periods of high disk usage tend to be on the quieter side - probably due to lots of caching

MacOS - continuous, low-pitched "gritty" sound

Windows FAT - periods of silence punctuated by occasional intermittent groans

Windows NTFS - low rhythmic grunting, more continuous than FAT

Windows 9x - rather quiet, although periods of heavy activity can produce quite high-pitched seeking sounds
by neild | 2026-01-24 05:27:52+00:00
Much more prosaic (if slightly embarrassing), I'm afraid: The update was non-trivial (this CL is simple, but there are some accompanying ones in x/text which are not) and it didn't hit the top of the priority list for anyone who understands x/text.

Go is pretty much entirely developed in public; there are some Google-internal customizations but none of them are particularly exciting and almost all changes start in the open source repo and are imported from there.
by dragonwriter | 2026-01-24 05:28:15+00:00
> I think we just fundamentally disagree about the quality of the “assessment” FIPS is doing.

I haven't said anything about the quality of the assessment done as part of FIPS approval. I think you are straining for things to disagree with.

> Choosing to use FIPS is basically choosing to tether yourself to the finest decision-making that government agencies could muster based on the technology that existed decades ago.

The current FIPS encryption standards and criteria were not decided decades ago, or based on technology adopted decades ago (FIPS 140-3 is 2019, SP 800-40 is 2023, etc.)

Beyond the basic idea of “Let’s have NIST establish standards in this area”, almost nothing is from “decades ago”.
The Case Against Humanity
by codenighter | 2026-01-24 05:28:31+00:00
You think you are a good person. You woke up today, perhaps kissed your partner, went to a job to provide for your family, and maybe you even held a door open for a stranger. You tell yourself that you are “civilized,” that you are part of a “developing” society, and that you possess “humanity.”

You are lying to yourself.

This blog argues that humans, as a species, function less like caretakers of the planet and more like a systemic disease, destroying ecosystems, exploiting other life forms, and rationalizing it as progress.

Full Argument Here : blog.eshanstudio.com/posts/case-against-humanity
by krackers | 2026-01-24 05:29:30+00:00
There are references to it in https://old.reddit.com/r/todayilearned/comments/1dzrho6/til_... but I cannot trace to a more authoritative source

There is also an interesting comment

>I'm in the seafood business and work with dead fish all the time... I see varying length of shelf life depending on how the fish was harvested. Whatever the metabolic state is when we die is what will be in the system when you die. High stress, metabolism running full speed, and high external/internal temperature leads to short shelf life. Fish harvested when their metabolism is less excited or in a state close to homeostasis will last much longer. So why any different with humans? If you died in the Sahara running a marathon vs. froze in Antarctica while meditating you would for sure see a difference lol.

So I guess that the diet and low metabolic activity seem to be the most plausible explanation. Also supposedly in some (mythical?) very-deep meditative states the body's oxygen requirement is low enough that passive exchange suffices to keep the cells on the verge of aliveness.
by thesz | 2026-01-24 05:29:44+00:00
The paper about type classes [1] includes exceptions as an example.

[1] https://web.cecs.pdx.edu/~mpj/pubs/springschool95.pdf

This [2] paper generalizes exceptions, allowing them to be first class citizens of a language and even to be a exceptions-as-a-library.

[2] https://raw.githubusercontent.com/nbenton/nbenton.github.io/...

In (not only) my opinion, Haskell's greatness is in "what is a language feature in most languages is a library in Haskell." One can model type system of a language by embedding it as a library into a Haskell and then develop it further as a standalone language if one prefers such path.

I did that embed-as-library thing several times. It was of great help, especially in the embedded systems and hardware circuits domains.
by Mogzol | 2026-01-24 05:31:57+00:00
The vast, vast majority of Windows users don't know their laptops are encrypted, don't understand encryption, and don't know what bitlocker is. If their keys weren't stored in the cloud, these users could easily lose access to their data without understanding how or why. So for these users, which again is probably >99% of all windows users, storing their keys in the cloud makes sense and is a reasonable default. Not doing it would cause far more problems than it solves.

And the passphrase they log in to windows with is not the key, Microsoft is not storing their plain text passphrase in the cloud, just to be clear.

The only thing I would really fault Microsoft for here is making it overly difficult to disable the cloud storage for users who do understand all the implications.
by userbinator | 2026-01-24 05:33:01+00:00
Are you referring to 2M/2MGUI? That didn't change the track spacing (which is fixed) but used bigger sector sizes (similar to how HDDs went from 512B to 4K physical sectors):

https://retrocomputing.stackexchange.com/questions/27412/how...

(Big fuckings to Wikipedia for erasing history, and kudos to archive.org for preserving it: https://web.archive.org/web/20241203124243/https://en.wikipe... )
by thot_experiment | 2026-01-24 05:33:05+00:00
No, still used by some major studios for sure but the community energy is all behind Blender. Houdini is goated in the space X all the Autodesk art stuff is basically only used because of vendor lock in and inertia. Fusion360 is the gateway drug of choice for CAD still but there's headway being made in the foss community on that front (as mentioned in the article)
by mjevans | 2026-01-24 05:34:49+00:00
What's that military adage? Something along the lines of 'planned to win the (prior) war'?

There's also the needs of the moment. Wasn't the 8086 a 'drop in' replacement for the 8080, and also (offhand recollection) limited by the number of pins on some of it's package options? This was still an era when it was common for even multiple series of computers from a vendor to have incompatible architectures that required at the very least recompiling software if not whole new programs.
by vlovich123 | 2026-01-24 05:35:23+00:00
Ok. You can flap it slower and less frequently. The RFC you mentioned talks about timers on the order of a minute or so. So I would say advertise the new route for 1 minute and unconditionally restore for 10. Then only after that advertise for 2 minutes and restore for 10. There’s clearly some interval of on/off that isn’t a problem and that’s an effective way to evaluate the impact you of a deployed route change gradually over time rather than fucking up the internet for 25 minutes until someone figures out what’s going on.

And obviously you don’t do this on every individual route change - you batch them so it’s a release train.

If you think there’s better techniques other than “don’t break things” I’m all for it.
by mbork_pl | 2026-01-24 05:37:29+00:00
I'm not (yet) in my 50s (though close). I used to have a C64 back in the day. I wrote write a few things in its horrible BASIC dialect. Probably the most advanced was a database (not relational, just one table, but kept separately from the source, of course on an audio cassette).

That device had ridiculous capabilities. The sound chip was good enough people wrote a speech synthesis software. Later, people wrote a graphical OS, with e.g. a text editor being an equivalent of Windows Write from the 90s.
by nebula8804 | 2026-01-24 05:37:46+00:00
Thats a short term solution to stop criticism that has essentially put more fuel on the fire. Millenials are start to take the reigns and I don't see a strong pro-Israel coalition among their cohort yet. They are likely being groomed but I dont think it will be a clear transition. Anti-Israel candidates are making moves and occasionally willing seats. If this accelerates they will play an important role in the future of American politics.

>Last I heard Trump intends to pave Gaza over and sell the land for data centers to the Saudis.

Honestly anything is possible. Maybe they will continue unabated and finish their project before Trump kicks the can. Maybe this upcoming Iran 'adventure' will be a massive disaster and will lead to a step change in hatred of Israel and anyone who supports them. I just dont see any of the old propaganda used in Iraq working this time around.

Maybe Israel completes their complete expulsion of Palestinians and then forms a solid base as the center of the middle east with everyone else being a vassal state. Would they even need the US at that point?
by rstuart4133 | 2026-01-24 05:38:05+00:00
> Because "scanning a QR code in an app" would lead to ...

> 1) integrity loss, ie reduction of peers in the secret sharing concept.

> 2) privacy loss, ie vote coercion, "show me you voted for our dear leader or something bad happens".

Following your instincts instead of doing the work required to understand Prêt à Voter will lead you to that conclusion. Your instincts are wrong in this case. Neither of your claims are true. The first paragraph of the Wikipedia page makes that plain. It says in part:

> In particular, Prêt à Voter enables voters to confirm that their vote is accurately included in the count whilst avoiding dangers of coercion or vote buying.

In case you haven't thought about it, vote buying is the hardest problem to solve for secret ballots. It is hardest because both the voter and a malicious third party are working cooperatively to corrupt the system. If you come up with a system that prevents that, you've pretty much solved all retail voting attacks. Prêt à Voter makes a vote verifiable, while ensuring votes can't be sold.

While you can't sell your vote with the typical implementation of Prêt à Voter, you can do it with your favoured paper ballot system:

1. Mallory obtains an authentic, blank ballot, and fills it in way he wants. Perhaps he does that by voting, pocketing the ballot paper, and putting the dummy in the ballot box.

2. Mallory gives the pre-filled ballot to a voter willing to sell his vote for an agreed sum outside the voting booth, where the transaction can't be detected. The voter isn't given his payment yet.

3. The voter goes into the secure voting place and is given a blank ballot. In the privacy afforded to him to cast a secret ballot he pockets the blank ballot, replacing it with the pre-filled ballot given to him by Mallory.

4. The voter casts the paid for vote.

5. The voter meets with Mallory in their secret spot, hands over the blank ballot and gets paid.

Rinse, lather and repeat all the way to winning the election.

If you haven't seen that little caper described before you will find it surprising. I did. But it is nowhere near the surprise you will get from spending the time to learn how Prêt à Voter achieves what appears to be impossible.
by hutao | 2026-01-24 05:38:13+00:00
You are right, in Haskell type constructors may be partially applied. In my opinion, this feature has less to do with any fundamental difference between `Either` in Haskell and `Result` in other languages, and more to do with Haskell's more powerful type system. In the same way, the pair type (a, b) in Haskell is also different from the pair types in other languages. This feature is called "higher-kinded types."

In particular, higher-kinded types are necessary to abstract over functors (or functions from types to types, * -> *). The list type constructor is a functor, and the partially applied type constructor `Either a` is also a functor. However, in languages without higher-kinded types, type variables can only be "ground types" (of kind *).

I don't agree with this statement:

> This means that Result <E, T> type effectively has a single type argument, namely pair of types. The Either type has two type arguments and can be partially applied.

The Result<T, E> type still takes two type arguments. The main distinction, in my view, is that Haskell allows types to be "higher-order." In fact, to be really pedantic, you could argue that the `Either` type in Haskell really takes one type argument, and then returns a function from types to types (currying).

This is kind of like the type-level equivalent to how many programming languages support some notion of function or procedure (and functions may have multiple arguments), but only more modern languages support higher-order functions, or allow variables to be functions.