MurphyA/hacker-news huggingface dataset:
by quaintdev | 2025-12-26 13:44:46+00:00
I host my own code repository using Forgejo. It's not public. In fact, it's behind mutual tls like all the service I host. Reason? I don't want to deal with bots and other security risks that come with opening port to the world.

Turns out Go module will not accept package hosted on my Forgejo instance because it asks for certificate. There are ways to make go get use ssh but even with that approach the repository needs to be accessible over https. In the end, I cloned the repository and used it in my project using replace directive. It's really annoying.
by baranul | 2025-12-26 13:45:33+00:00
Wasn't Borgo[1] suppose to be the new child of Rust and Go too? Rue, is like the new replacement of Borgo, which hadn't been out for long.

On top of that, the original child of Rust and Go, was called Vlang[2].

[1]: https://borgo-lang.github.io/

[2]: https://www.youtube.com/watch?v=puy77WfM1Tg (Is V Lang Better Than Go And Rust? Let's Find Out)
by gsa | 2025-12-26 13:46:30+00:00
I have been looking to buy a new laptop personally. Framework has a compelling argument. But with only 4 ports on the Framework, I'd likely be switching the ports often. In addition to using USB-C, I often need a USB-A for an external mouse but other times a HDMI port to connect to a display while presenting.

I don't think it's fair to compare Thinkpad X1 Carbon with Framework. The T14 range is a much better comparison. While Lenovo took a few steps back a few years ago the last couple of generations seem to be much better in regard to being repairable. The T14 Gen 5 [0] gets a 9/10 score on ifixit. Parts are easily available globally, while Framework is still somewhat limited in this regard geographically.

That said, it's great we have a choice! If it were not for Framework, I don't think Lenovo would have made an effort to make the Thinkpads repairable again.

- [0] https://www.ifixit.com/Device/Lenovo_ThinkPad_T14_Gen_5
by pixl97 | 2025-12-26 13:46:42+00:00
As someone that experienced DKA when I was young I'm still not sure how that happens unless there were a lot of other confounding factors. Having hypoglycemia that high for a while will make everything start smelling like varnish. Also you start physically hurting especially your kidneys which is not something you can ignore.

If there were other confounding factors then I'm wondering what their endo told them, unless this is one of those countries you could buy it without a prescription? Any endo with any training would have a fragile diabetic using more than one monitoring method and have them doing regular blood tests.
Show HN: Streamline – A persistent YouTube queue manager
by Antony_256 | 2025-12-26 13:46:45+00:00
Hi HN, I've been working for a bit on this simple Youtube Queue chrome extension because my "Watch later" queue was getting too big and Youtube's queue always felt restrictive.

List of features:
- Persistence: Saves the queue state to local and sync chrome storage.

- Quick add: Add videos or whole playlists with a single click, from thumbnails or their respective page.

- History: Keeps a list of videos played from the queue.

- Drag-and-drop: Reordering the videos within the queue.

- Search: Find videos in the queue by title or channel name.

- Import/Export.

- No accounts or tracking.

I would appreciate any feedback on the UX or if you run into edge cases where videos/playlists don't get added correctly.
by primaprashant | 2025-12-26 13:47:02+00:00
Started making side projects as a developer this year and hope to start working on my own products full-time from next year. Two books I found useful for positioning the product:

- Obviously Awesome by April Dunford (https://www.goodreads.com/book/show/45166937-obviously-aweso...)

- Building a StoryBrand by Donald Miller (https://www.goodreads.com/book/show/210137279-building-a-sto...)
by subscribed | 2025-12-26 13:47:30+00:00
You will eventually be forced to re-add it at some point.

The point is (it's not my account) that unless you religiously update the phone number in all your accounts you will at some point lose access to some of them despite being able to prove with all the other details it's you who created and used them.

Just because.

Because phone number is a very valuable identifier for the ad company.
by goku12 | 2025-12-26 13:47:39+00:00
If you're gaining advantage by changing RAM from sockets to soldered joints, it's probably time to change the system design altogether. It's better to put the DRAM on the same IC/SoC as the processor - on a dedicated die if necessary. Any additional memory requirement can be added as socket based RAM modules. They sure will be slower. But they can be treated as another memory layer, kind of like the optane memory (without persistence) or NUMA. You'd still get significant speed up because a portion of the DRAM is colocated with the CPU now.

This also adds to the core philosophy that I'm trying to push. Modularity and serviceability doesn't necessarily mean sacrificing performance, compactness or security. That's a myth that's too prevalent in the industry.
by dijit | 2025-12-26 13:47:58+00:00
I love all of this.

I’ve never been brave enough to modify my laptops beyond the one time I sprayed a new (hard) topcoat on an Acer Aspire 5520g… which turned it from a flimsy piece of garbage into a slightly less flimsy piece of garbage.

I feel like running a Thinkpad x201 these days would be a lesson in frustration (for the browser bloat you mentioned) but that was my perfect laptop. If I could do a mainboard swap I would continue to use it.
by kibwen | 2025-12-26 13:48:24+00:00
> Why isn’t there a variant of &mut that doesn’t allow swapping the value?

This is a very insightful observation, and Niko Matsakis (leading influence of Rust's borrow checker) would likely agree with you that this is an instance where Rust's default borrowing rules are probably too permissive, in the sense that being more restrictive by default regarding the "swappability" of &mut could lead to Rust being able to provide more interesting static guarantees. See his blog post here: https://smallcultfollowing.com/babysteps/blog/2024/09/26/ove...

> Why is pinning a weird sticky property of a reference? Shouldn’t non-movability of an object be a property of the object’s type?

See this blog post from withoutboats: https://without.boats/blog/pinned-places/ for arguments as to why pinning is properly modeled as a property of a place rather than a type (particularly the section "Comparison to immovable types"), as well as this post from Niko that ties this point in with the above point regarding swappability: https://smallcultfollowing.com/babysteps/blog/2024/10/14/ove...
by UncleMeat | 2025-12-26 13:48:39+00:00
> When a product manager can generate a highly detailed and working demo of what he wants in 5 minutes using gen AI, the traditional software developer loses a ton of power in tech companies.

I'll explain why I currently hate this. Today, my PM builds demos using AI tools and then goes to my director or VP to show them off. Wow, how awesome! Everybody gets excited. Now it is time to build the thing. It should take like three weeks, right? It's basically already finished. What do you mean you need four months and ongoing resourcing for maintenance? But the PM built it in a day?
by lesostep | 2025-12-26 13:48:49+00:00
it wasn't the first spam event and they were proud to share results with the rationalist community: https://www.lesswrong.com/posts/RuzfkYDpLaY3K7g6T/what-do-we...

"In the span of two weeks, the Claude agents in the AI Village (Claude Sonnet 4.5, Sonnet 3.7, Opus 4.1, and Haiku 4.5) sent about 300 emails to NGOs and game journalists. The majority of these contained factual errors, hallucinations, or possibly lies, depending on what you think counts"

whoever runs this shit seems to think very little of other people time.
by rochansinha | 2025-12-26 13:49:05+00:00
How Big Things Get Done by Bent Flyvbjerg

Bhagvad Gita by Eknath Easwaran

Rendezvous with Rama by Arthur C. Clarke

How The World Really Works by Vaclav Smil

The Emperor of All Maladies by Siddhartha Mukherjee

The House in the Cerulean Sea by TJ Klune

Chaos by James Gleick

Wind and Truth (Stormlight Archive #5) by Brandon Sanderson

The Culture Code: The Secrets of Highly Successful Groups by Daniel Coyle

The Day of the Jackal by Frederick Forsyth
by jdblair | 2025-12-26 13:49:15+00:00
Also, something weird:

I looked up my purchase using my Framework account to confirm my purchase date, and it lists my mother board as System: Intel® Core™ i7-1260P. Sloppy record keeping like this doesn't inspire confidence.

It is definitely not, and /proc/cpuinfo confirms it:

model name : AMD Ryzen 7 7840U w/ Radeon 780M Graphics
by lbotos | 2025-12-26 13:49:19+00:00
Eng Director here: 100% True. And I'll take it a step further:

> Ask this: “How does a project go from an idea to a ticket? Specifically, at what stage are engineers brought into the conversation; when the problem is identified, or after the solution has already been decided?”

The root of this question is great. The way it's phrased would be a flag for me.

I'd coach someone to ask it this way: "Can you tell me about how bugs and feature requests go from known to implemented/deployed? I want to know how it maps to my previous experiences/workflows"

This is the same question effectively. You will get your answer, and can ask a clarifying follow up if needed.
by ekjhgkejhgk | 2025-12-26 13:49:24+00:00
Do the easy thing while it works, and when it stops working, fix the problem.

Julia does the same thing, and from the Rust numbers on the article, Julia has about 1/7th the number of packages that Rust does[1] (95k/13k = 7.3).

It works fine, Julia has some heuristics to not re-download it too often.

But more importantly, there's a simple path to improve. The top Registry.toml [1] has a path to each package, and once donwloading everything proves unsustainable you can just download that one file and use it to download the rest as needed. I don't think this is a difficult problem.

[1] https://github.com/JuliaRegistries/General/blob/master/Regis...
by bronco21016 | 2025-12-26 13:49:50+00:00
Early in the year I picked up "Dark Wire" by Joseph Cox. It was a fascinating dive into the world of "secure phones", particularly a company called Anom.

I also read:

"Digital Fortress" - Dan Brown (not strictly technically plausible but the suspense kept me hooked)
"Never Enough" - Andrew Wilkinson (meh)

Currently working on:
"The Technological Republic" - Andrew Karp
"Designing Data-Intensive Applications" - Martin Kleppmann

I had a tendency of a lot of false starts on books this year. I picked up several recent LLM/AI books and would make it like a chapter before realizing it was mostly just AI generated slop and gave up.
by falcor84 | 2025-12-26 13:49:52+00:00
I actually agree there's an issue here. I feel we've been dumbing down interfaces so much, to the extent that people who in previous generations would barely write and who wouldn't affect anyone outside their close friends and family, now having their voice algorithmically amplified to millions. And given that the algorithms care only about engagement, rather than eloquence (let alone veracity), these people end up believing that their thoughts are as valid regardless of substance, and that there's nothing they could gain by learning numeracy.

EDIT: It's not a new issue, and Asimov phrased it well back in 1980, but I feel it got much worse.

> Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge'.
by eviks | 2025-12-26 13:49:53+00:00
> first things I calibrate away

How? Do you expect every user to have an easier access to color calibration hardware devices to fix this issue compared to a software fix they could find after some googling???

> auto-dimming feature which can be disabled by software

He also disabled the led via software, so you failed to point out why this one is easier

> the touchpad which is 'too sensitive when scrolling'....

How is this lighter? Touching the touchpad is a very frequent action, so the deficiency will affect you every day, and you can’t fix it by looking up some systemd service unlike the LED, and you can’t put a sticker on it to dim it. So how is an unsolvable frequent issue more trivial than a solvable one?
by tecoholic | 2025-12-26 13:49:56+00:00
Sorry! So many questions. That electronics store won't sell RAM and SSD sticks? Which cities have stores that can sell Macbooks but not RAM & SSD? Like why wait for Amazon next day delivery if your SSD or RAM dies? Why would you wait for Framework to ship parts, unless it's the main board. Even then, wouldn't it be much cheaper to just plug in the SSD into an M.2 slot (of any generic new/old laptop) and rsync your way to productivity in pretty much the same time a Time Machine restore would take?
by astra1701 | 2025-12-26 13:50:27+00:00
The really special thing about Frameworks is that you can quickly buy and replace basically any part, not just the usual RAM and SSD -- case in point, when I managed to damage my FW13's keyboard such that it was no longer usable, I could just... go straight to Framework's website and buy a new one for $40. And, I even had the option of a slightly improved one, that shed the Windows key and lacked the god-awful copilot key.

This approach even allows the manufacturer to correct design flaws after the fact -- and let's face it, there will always be design flaws. For instance, my FW13 originally came with a very weak hinge for the screen. It was perfectly usable for most daily usage and most people probably wouldn't care, but it meant I couldn't hold it up without the screen tilting back. Well, FW corrected this for those customers who really did care by just selling a new hinge for $24, and so $24 + 10 minutes with a screwdriver later, I had a substantially more refined device! (And to clarify -- there was a defective hinge version in the early batches, and those were replaced free of charge. Mine was a slightly later version that, beyond lacking the level of stiffness I preferred, was not defective.)
by dannyfreeman | 2025-12-26 13:51:37+00:00
I hope you find that your first and last goals "re-learn focus" and "prioritize body" feed into each other nicely. I worked a lot at my ability to focus on tasks (not just work, but in general) this year, and starting an exercise routine really helped me out a lot. Strength work is a time for me to not be on the phone or computer. Having that time to be in my own head and just think about stuff I find helps sharpen my mind for the rest of the day. Good look!
by dominic_tan | 2025-12-26 13:51:48+00:00
Hi HN,

I built MaskMySheet, a Google Sheets add-on that helps you anonymize sensitive data directly inside spreadsheets.

This started from a real problem I kept running into at work:
I needed to share Google Sheets with clients or teammates, but the data contained real emails, names, IDs, or financial values.
Manually deleting rows or creating fake data was slow and error-prone.

MaskMySheet lets you:
- Pseudonymize data while preserving format (emails, credit cards, IDs)
- Hash values (SHA-256) for analytics without exposing raw data
- Mask partial strings (e.g. j**@gmail.com)
- Randomize data for testing or demos

Everything runs inside Google Sheets — no scripts, no exports.

It’s currently free and available on the Google Workspace Marketplace:
https://workspace.google.com/marketplace/app/maskmysheet/776...

Landing page:
https://maskmysheet.com/

I’m actively building more Google Sheets add-ons around privacy and workflow automation.
Would love feedback, feature ideas, or use cases where this might be helpful.

Thanks!
by bencornia | 2025-12-26 13:52:01+00:00
> Grab’s engineering team went from 18 minutes for go get to 12 seconds after deploying a module proxy. That’s not a typo. Eighteen minutes down to twelve seconds.

> The problem was that go get needed to fetch each dependency’s source code just to read its go.mod file and resolve transitive dependencies. Cloning entire repositories to get a single file.

I have also had inconsistent performance with go get. Never enough to look closely at it. I wonder if I was running into the same issue?
by zmgsabst | 2025-12-26 13:52:40+00:00
> There are plenty of non-native English tech enthusiasts writing absolute gems in the most broken English you can imagine! Nobody has ever had trouble distinguishing those from low-quality garbage.

Your entire theory about LLMs seems to rely on that… but it’s just not true, eg, plenty of quality writing with low technical merit is making a fortune while genuinely insightful broken English languishes in obscurity.

You’re giving a very passionate speech about how no dignified noble would be dressed in these machine-made fabrics, which while some are surely as finely woven as those by any artisan, bear the unmistakable stain of association with plebs dressed in machine-made fabrics.

I admire the commitment to aesthetics, but I think you’re fighting a losing war against the commoditization and industrialization of certain intellectual work.
by c-linkage | 2025-12-26 13:52:41+00:00
This seems like a tragedy of the commons -- GitHub is free after all, and it has all of these great properties, so why not? -- but this kind of decision making occurs whenever externalities are present.

My favorite hill to die on (externality) is user time. Most software houses spend so much time focusing on how expensive engineering time is that they neglect user time. Software houses optimize for feature delivery and not user interaction time. Yet if I spent one hour making my app one second faster for my million users, I can save 277 user hour per year. But since user hours are an externality, such optimization never gets done.

Externalities lead to users downloading extra gigabytes of data (wasted time) and waiting for software, all of which is waste that the developer isn't responsible for and doesn't care about.
by neuralkoi | 2025-12-26 13:54:09+00:00
My favorite book this year was How to Think Like Socrates.

I normally have a difficult time digesting philosophy in older translations or language, but this one was really nicely written and well communicated.

Water by Rumi (translated by Haleh Liza Gafori) was also unexpectedly good. She uses a modern style and it reads so beautifully. It gave me glimpse of the beauty of the Persian language.
by pixl97 | 2025-12-26 13:54:36+00:00
>the alternative to expecting people to double check results is that we don't allow devices like this on the market.

Excellent, to avoid killing a few people a year, you've killed thousands.

If you're not a diabetic or if you have no medical experience around this kind of device, kindly butt out and mind your own business. Low blood sugar in the middle of the night is an immediately deadly condition that needs treatment or the patient can end up with brain swelling. It's also not a condition that will wake the person experiencing it up. Having a CGM blare and alarm has saved countless people and given them a far better life from better sleep, less anxiety, and not randomly dying while resting.

Every CGM comes with directions telling you to calibrate the unit often and do blood stick tests to ensure the unit is working properly. Any diabetic should also be under the care of an endocrinologist as it's a complicated and deadly disease with lots of terrible ramifications.
by amluto | 2025-12-26 13:54:46+00:00
> For 1, I think it's hard to make a distinction between swapping an object, vs. swapping/mutating all of its fields such that it becomes equivalent to a different object.

Privacy. If an object has fields I can’t access, but I have an &mut reference, I can indirectly modify them by swapping the object.

More generally, there are a handful of special-seeming things one can do to an object: dropping it, swapping it, forgetting it, and leaking it. Rust does not offer especially strong controls for these except for pinned objects, and even then it feels like the controls are mostly a side effect of pinning.

> For 3, some objects only need to be pinned under certain circumstances, e.g. futures only need to be pinned after they're polled for the first time, but not before.

Is this actually useful in practice? (This is a genuine question, not a rhetorical question. But maybe let’s pretend that Rust had the cool ability to farm out initialization if uninitialized objects described in the OP: allowing access before pinning sounds a bit like allowing references to uninitialized data before initializing it.)

For #4, I’m not sure I have a real use case. Maybe I’ll try contemplating a bit more. Most I think that shared ^ exclusive is a neat concept but that maybe there’s room to extend it a little bit, and there isn’t any fundamental reason that a holder of an &mut reference needs to ensure that no one else can even identify the object while the &mut reference is live.
by sestep | 2025-12-26 13:54:53+00:00
For fiction I read a lot of Brandon Sanderson: the second Mistborn series, plus a few of the Secret Projects. I quite liked Tress of the Emerald Sea. Also currently reading R. F. Kuang's Katabasis which I'm really enjoying so far.

For nonfiction, I found Amanda Ripley's High Conflict to be excellent and insightful. I also finally got around to reading The Selfish Gene by Richard Dawkins; I expected it to be fine, but it far exceeded my expectations! On top of that, the edition I read also had "end notes" interspersed throughout the book with retrospectives from decades later, which only added to the book's richness.
by Esophagus4 | 2025-12-26 13:55:24+00:00
I thought Framework was worth a gamble.

I replaced my last laptop after 10+ years because the battery gave out, the end-of-life hardware was so old it no longer got OS upgrades, and eventually apps stopped working. I like the idea of getting to easily throw new hardware at my machine to keep it going.

(I also tired of Apple shoving bad experiences down my throat (TouchBar, Butterfly keyboards, thin glass screens that crack, USB-C and no USB-A...) so I spec'ed out my Framework with USB-C and USB-A.)

But aside from repairability when stuff breaks, a laptop's hardware slowly becomes obsolete because software is usually written for the new stuff. If you're like me and you keep your laptop for 10 years, that means: in year 1 you have 1 year old hardware, in year 6 you have 6 year old hardware, etc. So your laptop gets worse and worse performance because you can't incrementally upgrade your hardware... you only upgrade in a big bang every 10 years when you buy a new one. Towards the end of its life, you're really struggling to keep the thing above water.

With a Framework, in theory I can upgrade the hardware incrementally over time rather than needing a big bang every 10 years. So instead of having 6 year old hardware at year 6, I'll probably have 2 year old hardware again. So I'll more closely match the industry improvements curve.

Will this work in reality? Will it be expensive to replace all the parts, and will the case be able to cool new CPUs, and will I have to get a new mainboard, etc? Who knows. But I thought it was interesting enough to take a gamble on the laptop. And worst case, it's not a fatal decision... I can just go back to MacBooks...
by Rucadi | 2025-12-26 13:55:32+00:00
I also got the same feeling from that, in fact, I would go as far as to say that nixpkgs and nix-commands integration with git works quite well and is not an issue.

So the phrase the article says
"Package managers keep falling for this. And it keeps not working out"
I feel that's untrue.

The most issue I have with this really is "flakes" integration where the whole recipe folder is copied into the store (which doesn't happen with non-flakes commands), but that's a tooling problem not an intrinsic problem of using git