frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

The Swift SDK for Android

https://www.swift.org/blog/nightly-swift-sdk-for-android/
401•gok•8h ago•156 comments

Unlocking Free WiFi on British Airways

https://www.saxrag.com/tech/reversing/2025/06/01/BAWiFi.html
92•vinhnx•13h ago•12 comments

People with blindness can read again after retinal implant

https://go.nature.com/48JVwrv
30•8bitsrule•3d ago•5 comments

Valetudo: Cloud replacement for vacuum robots enabling local-only operation

https://valetudo.cloud/
191•freetonik•4d ago•48 comments

What Is Intelligence?

https://mitpress.mit.edu/9780262049955/what-is-intelligence/
35•sva_•3h ago•25 comments

First shape found that can't pass through itself

https://www.quantamagazine.org/first-shape-found-that-cant-pass-through-itself-20251024/
285•fleahunter•14h ago•64 comments

Context engineering is sleeping on the humble hyperlink

https://mbleigh.dev/posts/context-engineering-with-links/
37•mbleigh•1d ago•8 comments

I invited strangers to message me through a receipt printer

https://aschmelyun.com/blog/i-invited-strangers-to-message-me-through-a-receipt-printer/
186•chrisdemarco•5d ago•69 comments

Harnessing America's Heat Pump Moment

https://www.heatpumped.org/p/harnessing-america-s-heat-pump-moment
106•ssuds•8h ago•232 comments

Deepagent: A powerful desktop AI assistant

https://deepagent.abacus.ai
13•o999•2h ago•1 comments

Advice for New Principal Tech ICs (I.e., Notes to Myself)

https://eugeneyan.com/writing/principal/
11•7d7n•2h ago•2 comments

How to make a Smith chart

https://www.johndcook.com/blog/2025/10/23/smith-chart/
112•tzury•11h ago•20 comments

Study: MRI contrast agent causes harmful metal buildup in some patients

https://www.ormanager.com/briefs/study-mri-contrast-agent-causes-harmful-metal-buildup-in-some-pa...
111•nikolay•7h ago•80 comments

Code Like a Surgeon

https://www.geoffreylitt.com/2025/10/24/code-like-a-surgeon
118•simonw•13h ago•70 comments

Public Montessori programs strengthen learning outcomes at lower costs: study

https://phys.org/news/2025-10-national-montessori-early-outcomes-sharply.html
265•strict9•2d ago•141 comments

Twake Drive – An open-source alternative to Google Drive

https://github.com/linagora/twake-drive
311•javatuts•18h ago•178 comments

Modern Perfect Hashing

https://blog.sesse.net/blog/tech/2025-10-23-21-23_modern_perfect_hashing.html
80•bariumbitmap•1d ago•9 comments

Why formalize mathematics – more than catching errors

https://rkirov.github.io/posts/why_lean/
165•birdculture•5d ago•61 comments

The fix wasn't easy, or C precedence bites

https://boston.conman.org/2025/10/20.1
5•ingve•2d ago•0 comments

Conductor (YC S24) Is Hiring a Founding Engineer in San Francisco

https://www.ycombinator.com/companies/conductor/jobs/MYjJzBV-founding-engineer
1•Charlieholtz•7h ago

Carmack on Operating Systems (1997)

https://rmitz.org/carmack.on.operating.systems.html
65•bigyabai•3h ago•39 comments

Mesh2Motion – Open-source web application to animate 3D models

https://mesh2motion.org/
186•Splizard•17h ago•34 comments

Underdetermined Weaving with Machines (2021) [video]

https://www.youtube.com/watch?v=on_sK8KoObo
8•akkartik•2h ago•3 comments

Why can't transformers learn multiplication?

https://arxiv.org/abs/2510.00184
126•PaulHoule•3d ago•69 comments

Debian Technical Committee overrides systemd change

https://lwn.net/Articles/1041316/
170•birdculture•18h ago•172 comments

New OSM file format: 30% smaller than PBF, 5x faster to import

https://community.openstreetmap.org/t/new-osm-file-format-30-smaller-than-pbf-5x-faster-to-import...
84•raybb•6h ago•8 comments

Typst 0.14

https://typst.app/blog/2025/typst-0.14/
549•optionalsquid•16h ago•146 comments

Interstellar Mission to a Black Hole

https://www.centauri-dreams.org/2025/10/23/interstellar-mission-to-a-black-hole/
131•JPLeRouzic•19h ago•95 comments

TextEdit and the relief of simple software

https://www.newyorker.com/culture/infinite-scroll/textedit-and-the-relief-of-simple-software
79•gaws•8h ago•84 comments

'Attention is all you need' coauthor says he's 'sick' of transformers

https://venturebeat.com/ai/sakana-ais-cto-says-hes-absolutely-sick-of-transformers-the-tech-that-...
361•achow•23h ago•184 comments
Open in hackernews

Rust Contagious Borrow Issue

https://qouteall.fun/qouteall-blog/2025/How%20to%20Avoid%20Fighting%20Rust%20Borrow%20Checker#contagious-borrow-issue
34•qouteall•16h ago

Comments

jasonthorsness•12h ago
I’ve been learning Rust via the book and a great article I found on linked lists [1]. Coming from C++ the lifetimes/borrows concepts make sense at a high level but the practical details seem to get pretty crazy. If anyone here knows Rust well does the OP article have a good take or is it missing something?

[1] https://rust-unofficial.github.io/too-many-lists/

scottlamb•11h ago
I think if you've hit this problem and are looking for solutions, this article looks like a helpful read. There are lots of ideas there.

I wouldn't say this is a super common problem (though I have hit it). The opening example here is that logic outside `Parent` is maintaining its summary state based on its children. That's unusual; typically `Parent` itself would be responsible for that, and so you can inline the logic without having to expose the fields.

Sometimes inlining the logic gets impractical though if the logic is super long. In that case it can be helpful to split it into sub-structs so that you can easily call a method on a group of fields. I did that here, for example: <https://github.com/scottlamb/moonfire-nvr/blob/ff383147e4ff7...>

There have been language proposals to define "view types" which are basically groups of fields that are borrowed. <https://smallcultfollowing.com/babysteps/blog/2021/11/05/vie...> IMHO, they're not worth the extra language complexity.

recursivecaveat•10h ago
This actually seems like a very good collection of strategies. The only one I use that I see missing is converting a closure capture into an argument. If you design something like: zebra.onmove(|| log(barn.contains(zebra))), then you will find everything locks up due to the references of the closure. Instead you convert the data to args: zebra.onmove(|world, zebra| log(world.barn.contains(zebra))). Obviously with cheap data which you can freeze and copy like a BarnId it's fine to do that.

In general, "stop, drop, reacquire" is a good motto. ie finish figuring out what you want to happen, release the resources that you needed to figure that out, reacquire exactly the resources you need to make the thing happen, do it. That's basically the premise of 'mutation-as-data'.

qouteall•3h ago
Thanks for suggestion.
phibz•6h ago
For this example id probably accumulate the score total in a local variable. Then once iterating over all the children i would call parent.add_score() with the accumulated total
qouteall•4h ago
I added clarification

(That simplified example is just for illustrating contagious borrow issue. The *`total_score` is analogous to a complex state that exists in real applications*. Same for subsequent examples. Just summing integer can use `.sum()` or local variable. Simple integer mutable state can be workarounded using `Cell`.)

bestouff•5h ago
This article says that the borrow checker doesn't look past functions signatures because of compiler performance. I strongly disagree. The reason is to avoid coupling. If it did, you couldn't swap 2 functions with the same signature because their implementation would have a different borrowing pattern. Very bad.

(Although we're a bit there with functions returning an impl)

qouteall•4h ago
I added that into article