frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Pensions Are a Ponzi Scheme

https://poddley.com/?searchParams=segmentIds=b53ff41f-25c9-4f35-98d6-36616757d35b
1•onesandofgrain•5m ago•1 comments

Divvy.club – Splitwise alternative that makes sense

https://divvy.club
1•filepod•6m ago•0 comments

Betterment data breach exposes 1.4M customers

https://www.americanbanker.com/news/1-4-million-data-breach-betterment-shinyhunters-salesforce
1•NewCzech•6m ago•0 comments

MIT Technology Review has confirmed that posts on Moltbook were fake

https://www.technologyreview.com/2026/02/06/1132448/moltbook-was-peak-ai-theater/
1•helloplanets•6m ago•0 comments

Epstein Science: the people Epstein discussed scientific topics with

https://edge.dog/templates/cml9p8slu0009gdj2p0l8xf4r
1•castalian•7m ago•0 comments

Bambuddy – a free, self-hosted management system for Bambu Lab printers

https://bambuddy.cool
1•maziggy•11m ago•1 comments

Every Failed M4 Gun Replacement Attempt

https://www.youtube.com/watch?v=jrnAU67_EWg
2•tomaytotomato•12m ago•0 comments

China ramps up energy boom flagged by Musk as key to AI race

https://techxplore.com/news/2026-02-china-ramps-energy-boom-flagged.html
1•myk-e•12m ago•0 comments

Show HN: ClawBox – Dedicated OpenClaw Hardware (Jetson Orin Nano, 67 Tops, 20W)

https://openclawhardware.dev
2•superactro•15m ago•0 comments

Ask HN: AI never gets flustered, will that make us better as people or worse?

1•keepamovin•15m ago•0 comments

Show HN: HalalCodeCheck – Verify food ingredients offline

https://halalcodecheck.com/
1•pythonbase•17m ago•0 comments

Student makes cosmic dust in a lab, shining a light on the origin of life

https://www.cnn.com/2026/02/06/science/cosmic-dust-discovery-life-beginnings
1•Brajeshwar•20m ago•0 comments

In the Australian outback, we're listening for nuclear tests

https://www.abc.net.au/news/2026-02-08/australian-outback-nuclear-tests-listening-warramunga-faci...
1•defrost•20m ago•0 comments

'Hermès orange' iPhone sparks Apple comeback in China

https://www.ft.com/content/e2d78d04-7368-4b0c-abd5-591c03774c46
1•Brajeshwar•21m ago•0 comments

Show HN: Goxe 19k Logs/S on an I5

https://github.com/DumbNoxx/goxe
1•nxus_dev•21m ago•1 comments

The async builder pattern in Rust

https://blog.yoshuawuyts.com/async-finalizers/
2•fanf2•23m ago•0 comments

(Golang) Self referential functions and the design of options

https://commandcenter.blogspot.com/2014/01/self-referential-functions-and-design.html
1•hambes•23m ago•0 comments

Show HN: Model Training Memory Simulator

https://czheo.github.io/2026/02/08/model-training-memory-simulator/
1•czheo•26m ago•0 comments

Claude Code Controller

https://github.com/The-Vibe-Company/claude-code-controller
1•shidhincr•29m ago•0 comments

Software design is now cheap

https://dottedmag.net/blog/cheap-design/
1•dottedmag•30m ago•0 comments

Show HN: Are You Random? – A game that predicts your "random" choices

https://github.com/OvidijusParsiunas/are-you-random
1•ovisource•35m ago•1 comments

Poland to probe possible links between Epstein and Russia

https://www.reuters.com/world/poland-probe-possible-links-between-epstein-russia-pm-tusk-says-202...
1•doener•43m ago•0 comments

Effectiveness of AI detection tools in identifying AI-generated articles

https://www.ijoms.com/article/S0901-5027(26)00025-1/fulltext
2•XzetaU8•49m ago•0 comments

Warsaw Circle

https://wildtopology.com/bestiary/warsaw-circle/
2•hackandthink•50m ago•0 comments

Reverse Engineering Raiders of the Lost Ark for the Atari 2600

https://github.com/joshuanwalker/Raiders2600
1•pacod•55m ago•0 comments

The AI4Agile Practitioners Report 2026

https://age-of-product.com/ai4agile-practitioners-report-2026/
1•swolpers•56m ago•0 comments

Digital Independence Day

https://di.day/
1•pabs3•59m ago•0 comments

What a bot hacking attempt looks like: SQL injections galore

https://old.reddit.com/r/vibecoding/comments/1qz3a7y/what_a_bot_hacking_attempt_looks_like_i_set_up/
1•cryptoz•1h ago•0 comments

Show HN: FlashMesh – An encrypted file mesh across Google Drive and Dropbox

https://flashmesh.netlify.app
1•Elevanix•1h ago•0 comments

Show HN: AgentLens – Open-source observability and audit trail for AI agents

https://github.com/amitpaz1/agentlens
1•amit_paz•1h ago•0 comments
Open in hackernews

Anonymous structavaganza in Zig

https://lirk.top/blog/structs
48•kallehed•5mo ago

Comments

kingstnap•5mo ago
> this is just a side-effect of another zig possible feature: removal of unnecessary arguments? I’m not a zigxpert, so I can’t answer.

No, it's not. The way structural equivalence is keyed in Zig was changed (mid 2024) to be keyed on two things:

Source location + Captured constants

The issue for that was raised here.

https://github.com/ziglang/zig/issues/18816

I don't actually think that that's sufficient. It makes more sense, imo, to capture some implicit context. Specifically inline context (so an inlined function or inline unrolled for loop will create a unique struct) and opened an issue here.

https://github.com/ziglang/zig/issues/24931

But it got closed "to make incremental compilation simpler to implement."

I consider it a kinda janky dismissal. I assume some actual reasoning about this is on Zulip / Meeting notes / git commit somewhere, but Idk im not a lawyer doing discovery. I get not designing yourself into a corner, but I don't think you need to be so afraid of sometimes needing to do a full recompile because some changes have viral behaviour.

Anyway, something interesting in your post is that as a side effect, you get to view compilation order in the name.

jamiejquinn•5mo ago
Oh did I get frustrated seeing "to make incremental compilation simpler to implement" in the latest 0.15.1 release notes...

I have no doubt incremental compilation will make many large projects easier to compile, and perhaps it really is the future of all compiled languages, but you're right, it's being wielded as a janky dismissal of many good ideas.

kingstnap•5mo ago
Maybe maybe not.

Working with / testing systems that have huge input spaces is difficult. You have to stamp out lots of edge cases because the boundary of the space is huge.

Working with systems that both have huge input spaces but also have internal state is exponentially worse. You basically have edge cases to the power of edge cases to deal with.

Simultaneously, it's not always faster / easier to manage deltas in programming. As an example, consider the case of sorting a 1 million element list. How much difference is there between starting from completely scrambled vs. I instead told you it's mostly sorted, but only 1% of elements were out of place.

Its definitely not 99% easier let me tell you that.

tialaramex•5mo ago
It's complicated:

https://github.com/Voultapher/sort-research-rs/blob/main/wri...

The left chart there is the proposed (now current) Rust unstable sort, named IPN Sort and the right chart is the old (at the time current) unstable sort

That nice black triangle line going straight up and to the right is random input, a typical input for testing sort performance. Compare those essentially flat lines at the bottom in orange and green, for the easy ascending and descending inputs (sorting them is no work, or trivial as appropriate) and the distinct brown circle s95 which is markedly worse than the black line.

s95 is 95% sorted data, plus 5% random data, which is what you'd see if you:

1. sort container of N Things 2. do work which overall removes about 0.05 x N Things, maybe they're completed 3. add 0.05 x N Things, maybe they're new 4. repeat from step 1

Compared to the usual test workload this is actually more work because indeed it's mostly sorted but the non-sorted parts are far out of position.

The vertical on these charts is mean comparisons per item, that is if we can sort 100 items with total 1000 comparisons, that scores 10 on the vertical axis, the reason to do this is that it's independent of physical realisation. Because the horizontal axis is log size a horizontal line means the sort is O(n) for that class of input, a diagonal means O(n log n) which is what we're hoping for from a sort algorithm.

gooseplusplus•5mo ago
I like how this blog post was written.

There are only three things Zig/Jai could do in face of this problem

1. Don't do any memoization at all and just see if the result has been computed before (would be extremely slow and probably dumb)

2. Memoize arguments which can become ingrained with the returned struct (which is what they already do)

3. The only other possible thing would be:

If the function that generates the struct is

  fn generate_struct(p) type {
    struct {
      field_with_default = f(p)
    }
  }
where f(x) could be x*0 (like the example the author gave), it could be just x, it could be "use x to download blah blah blah from the internet", it could be x % 2, etc.

the compiler would have to detect if f(x) is a one-to-one function or not. If it is then strategy 2 can be used safely, if it isn't then you'd have to use strategy 1.

the only issue with this third option is that from trying to read mathematics far beyond my pay-grade it seems like generally determining if any given f(x) is one-to-one is an undecidable problem for functions with unbounded domains and ranges. For functions that have bounded domains and ranges (say, functions that can only operate on integers within 0 and 4 billion) it's easily decidable... if you plug in every possible input and see what comes out.

This would take so much more time than even strategy 1 and I'm not even sure how useful it would really be. Maybe in a much much much more complex codebase that was doing a lot of weird things something like this might become a bug? Idek

So unfortunate as it is, I think strategy 2 is the best option.

scrubs•5mo ago
Or reduce scope: don't make it too darn flippin complicated to define structures.
Joker_vD•5mo ago
Or we can go the OCaml route, admit that we want both applicative and generative functors, and add an explicit marker to the type-returning functions whether those generated types should always have unique identity, or not.
ozgrakkurt•5mo ago
I have been using comptime a decent amount in zig and fail to see why this would matter at all.

You create a parameterised type and then use it, it works as expected.