MurphyA/hacker-news huggingface dataset:
by TheBestTvarynka | 2025-12-14 22:48:32+00:00
For the last 3 years, I have been working on a web tool to help me at work: debugging ASN1-encoded data (keys, certificates, Kerberos/CredSSP/SPNEGO/etc data structures, and more) and performing various cryptographic operations. This app is available online; you can try it [0] (no sign-in/up needed).

This December, I reached a huge milestone: I implemented ASN1 tree editing [1]. Now I can edit the ASN1 tree directly in the browser (read my blog post for more details: [2]).

I'm happy that I wrote this tool. I use it often to help me debug my protocol implementations and/or debugging. I know that some of my friends use the JWT debugger and ASN1 parser from this tool. Maybe some of you will find it helpful too.

[0]: https://crypto.qkation.com/

[1]: https://news.ycombinator.com/item?id=46255464

[2]: https://tbt.qkation.com/posts/announcing-crypto-helper-0-16/
by thebenedict | 2025-12-14 22:50:34+00:00
I'm building a temperature controlled dough proofing enclosure based on ESP32, an IKEA Samla storage box and an inexpensive silicone rubber heater. It's delightfully impractical-- purely a first hardware/MCU learning project and a holiday gift for a relative who I think will appreciate it.

I'm impressed by how far I can get "vibe making". Most of my professional experience is in high-level software, but AI gets me unstuck quickly when I don't know something specific to ESP-IDF or the hardware. As of today I've got a circuit tested, firmware nearly complete, and a custom PCB en route from JLCPCB.

One limitation I’ve noticed: ChatGPT struggles with the details of part selection (e.g. choosing specific temp/humidity sensors or connectors). Adding datasheets to the context helps a lot, which makes me wonder why this isn’t something the model can do or at least ask for.
by doubled112 | 2025-12-14 22:50:51+00:00
In college I had a 90GB OCZ Vertex, or maybe it was a Vertex 2.

It would suddenly become blank. You have an OS and some data today, and tomorrow you wake up and everything claims it is empty. It would still work, though. You could still install a new OS and keep going, and it would work until next time.

What a friendly surprise on exam week.

Sold it to a friend for really cheap with a warning about what had been happening. It surprise wiped itself for him too.
by colinmilhaupt | 2025-12-14 22:52:05+00:00
I'm working on WishKeeper https://wishkeeper.io.

It's a webapp that lets you create wish lists and share them with family and friends. The key feature is the claim system: when someone decides to buy you an item, they can claim it so others know it's taken, but you never see who claimed what or even that it was claimed at all. The surprise stays intact. You can also split big purchases. If someone wants a $400 stand mixer, multiple people can chip in allowing family tight on cash to feel like they're contributing without having family members feel like they have to put small items on their list just so everyone can contribute.

I kept it deliberately simple. No social features, no feeds, no ads. Just lists with items, links, prices, and notes. You create a list, share the link, and you're done. No group chat gymnastics required. It's free to use. I built this because I wanted it to exist, not because I had some grand monetization plan. You can sign up and create lists without a credit card.

Suggestions welcome!
by pseudalopex | 2025-12-14 22:52:20+00:00
> But suggesting something is permanent and final when it expressly is not is a poor criticism.

No one did this.

> All software has bugs. Plus, not every bug is in the test suite. There are open bugs in all of the software shipped by every distro. Software can be ready for use even if there are know bugs in corner cases. Regular coreutils has open bugs as well.

Stop speaking as if other people know nothing of software development. GNU do not break compatibility knowingly and with no user benefit.
by sundarurfriend | 2025-12-14 22:52:22+00:00
Has support for recfiles improved recently? I was overjoyed when I learnt that VisiData had support for recfiles since I'd been getting tired of editing recfiles manually and liked VisiData's UI when working with CSVs and such.

But at least at the time (~2 years ago IIRC), the support was really basic, just basic record display, and most importantly, editing the parts VD didn't understand lead to data loss. I don't remember what I was trying to do - the error report I wrote with those details died with my old machine - but it wasn't anything too complicated, just array fields and foreign keys I believe i.e. just using recfile features one step beyond a listing of `key: value` pairs. I gave up on recfiles as a whole after losing data a few times like this (since I hadn't found any other suitable tool either).
by wmf | 2025-12-14 22:52:30+00:00
This article is pretty low quality. It's an important and interesting topic and the article is mostly right but it's not clear enough to rely on.

The OS page cache is not a "problem"; it's a basic feature with well-documented properties that you need to learn if you want to persist data. The writing style seems off in general (e.g. "you're lying to yourself").

AFAIK fsync is the best practice not O_DIRECT + O_DSYNC. The article mentions O_DSYNC in some places and fsync in others which is confusing. You don't need both.

Personally I would prefer to use the filesystem (RAID or ditto) to handle latent sector errors (LSEs) rather than duplicating files at the app level. A case could be made for dual WALs if you don't know or control what filesystem will be used.

Due to the page cache, attempting to verify writes by reading the data back won't verify anything. Maaaybe this will work when using O_DIRECT.
by barishnamazov | 2025-12-14 22:53:19+00:00
For a long time I've been looking to solve the repetitive schema pattern issues in SQL. This week I created a DSL that allows parametric polymorphism for SQL, and I wrote a compiler for it.

Source code and playground here: https://github.com/BarishNamazov/gsql/

Background blog here: https://barish.me/blog/parametric-polymorphism-for-sql/

Feedback is super appreciated!
by JumpCrisscross | 2025-12-14 22:53:30+00:00
"Leon Cowle was brave enough to try this out, and, it turns out, just clicking the 'Update Now' button next to Sequoia will, thankfully, do the right thing: install the Sequoia 15.7.2 update, not Tahoe."

This suggests someone forgot to update the "ⓘ" text. Not a dark pattern.
by n_u | 2025-12-14 22:54:32+00:00
> Submit the write to the primary file

> Link fsync to that write (IOSQE_IO_LINK)

> The fsync's completion queue entry only arrives after the write completes

> Repeat for secondary file

Wait, so the OS can re-order the fsync() to happen before the write request it is supposed to be syncing? Is there a citation or link to some code for that? It seems too ridiculous to be real.

> O_DSYNC: Synchronous writes. Don't return from write() until the data is actually stable on the disk.

If you call fsync() this isn't needed correct? And if you use this, then fsync() isn't needed right?
Show HN: I vibe coded a vibe marketing platform
by ditegashi | 2025-12-14 22:55:06+00:00
Heya HN, I've been working on a vibe-marketing platform as my primary side project for the last few months. Doing a (very) soft launch today, mainly because I want to use it to challenge how we think about AI-generated content (Some people call it SLOP - bear with me).

How PostKing works:

I create a statistical model of your existing content - blogs, social posts, university assignment anything you've written.

It learns your brand voice, tone, and positioning - not just surface-level writing style, but the actual way you think

Generate content across any channel that sounds authentically like you, not generic AI slop

I take these fingerprints from your content:

Stylometric: - Function word frequency (the, a, and, etc.) — normalized ratios - Lexical diversity: Matthews (type-token), Yule's K, Simpson's - Signature Phrases (TF-IDF): - Top 10 bigrams - Top 10 trigrams - Top 15 distinctive words (length > 3)

Sentiment: - Overall score - Emotional markers: joy, sadness, anger, fear, surprise (normalized) - Sentiment variation (sentence-level deviation)

Patterns: - Collocations: frequent two-word pairs (≥2 occurrences, top 20) - Recurring phrases: three-word phrases (≥2 occurrences, length > 10, top 10) - Structural templates: questions, exclamations, lists, quotations - Rhetorical: - Metaphor density (like/as/is indicators per sentence) - Alliteration frequency (adjacent same-letter starts per sentence) - Parallelism instances (repeated structures per sentence) - Anaphora instances (repeated sentence beginnings per sentence)

It's a simple model, but I hope it's a better one than the "prompt and pray" approach most AI writing tools use. Fundamentally I feel like most AI content tools improve for volume over authenticity, which creates a race to the bottom. That misalignment is what drove me to make this.

Because this is a soft launch, the voice training algorithm is still being refined. You won't get bad output or anything, but the more diverse your input content, the better it captures nuance. I've opened up free alpha accounts in the meantime if anyone wants to test it with their own brand.

Happy to send more credits your way if you use the provide feedback link in the app.

Edit: Happy to share more about the technical approach to voice preservation if folks are interested - it's not just fine-tuning, there's a lot of contextual layer work involved.
by patcon | 2025-12-14 22:56:04+00:00
> AND are alienating the creators of these cultural outputs via displacement of labor and payment

YES. Thank you for these words. It's a form of ecological collapse. Thought to be fair, the creative ecology has always operated at the margins.

But it's a form of library for challenges in the world, like how a rainforest is an archive of genetic diversity, with countless application like antibiotics. If we destroy it, we lose access to the library, to the archive, just as the world is getting even more treacherous and unstable and is in need of creativity
by michaelt | 2025-12-14 22:56:52+00:00
> This is not strictly true - most OS keychain stores have methods of authenticating the requesting application before remitting keys (signatures, non-user-writable paths, etc.), even if its running as the correct user.

Isn't that a smartphone-and-app-store-only thing?

As I understand it, no mainstream desktop OS provides the capabilities to, for example, protect a user's browser cookies from a malicious tool launched by that user.

That's why e.g. PC games ship with anti-cheat mechanisms - because PCs don't have a comprehensive attested-signed-code-only mechanism to prevent nefarious modifications by the device owner.
by mancerayder | 2025-12-14 22:57:41+00:00
How many of those are puzzle-based classical Adventure Games like the recent Lucy dreaming?

Many of the genres are baloney, at least the stuff that comes back in search results as recent - it's all Work Simulator, a slow grind, the ubiquitous first person shooter, horror or everyone's favorite hack and slash genre.

We're drowning in numbers, is all you're really telling me.
by ymyms | 2025-12-14 22:58:15+00:00
I'm working on https://www.hessra.net/

It's a full identity and authorization platform targeted for service-to-service use cases. But my focus the last couple months has been to make provisioning identity super easy, and I think I've done that (at least compared to something like SPIRE).

So if anybody has CI/CD pipelines, AI agents, edge-functions, or multi-cloud workloads they want to give auditable identity, I can help!
by AnotherGoodName | 2025-12-14 22:59:10+00:00
Just a warning for those not on the max plan; if you pay by the token or have the lower tier plans you can easily blow through $100s or cap your plan in under an hour. The rates for paying by the token are insane and the scaling from pro to max is also pretty crazy.

They made pro have many times more value than paying per token and then they made max again have 25x more tokens than pro on the $200 plan.

It’s a bit like being offered rice at $1 per grain (pay per token) or a tiny bag of rice for $20 (pro) or a truck load for $200. That’s the pricing structure right now.

So while i agree you can’t easily exceed the quota on the big plans it’s a little crazy how they’ve tiered pricing. I hope no one out there’s paying per token!
by pseudalopex | 2025-12-14 23:00:22+00:00
> Because the tests that don’t pass are edge cases and corners that most people wouldn’t notice.

This standard may be justified when there is significant benefit. There is not in this case. And some projects have stricter standards.[1]

> In other words, there may be more serious bugs not in the test suite than the ones that aren’t passing that are in the suite. And you only find that out through real usage.

You should assume everyone understands how Ubuntu's decision would benefit this project. You should assume most Ubuntu users do not care. You replied to a comment which told you this before.[2]

[1] https://lkml.org/lkml/2012/12/23/75

[2] https://news.ycombinator.com/item?id=46267541
by tecoholic | 2025-12-14 23:00:34+00:00
Seems a little extreme to pour boiling water on wooden cutting boards to clean? Do you live in really cold and snowy place without much access to sunlight hours? Just washing them with soap and drying them in sunlight is all we do and it’s been good. We also don’t cut meat on the wooden board. I would use hot water if it were meat on the board.
by Gioni06 | 2025-12-14 23:01:13+00:00
Published my first AUR package this week. It's called bleep, a simple interval timer that beeps.

The idea came from cooking bolognese. I needed something to remind me when to stir. So I wrote a small Go tool that just beeps at whatever interval(s) you set.

Then I kept adding stuff. Verbose mode with a live countdown, pause/resume with signals, and a JSON output mode that works with Waybar. That last one is actually my favorite part. I get a little timer in my status bar that changes color when it's counting, paused, or beeping. Click to pause. Works great for pomodoro or just keeping track of things while working.

I switched from Mac to Arch and wanted to try the whole AUR thing. Used GoReleaser to automate the build and publish. Took some fiddling but it works now.

https://github.com/Gioni06/bleep

AUR: yay -S bleep-bin
by citizenpaul | 2025-12-14 23:02:09+00:00
Lack of automation in accounting is a feature. Often even legally required.

I've actually be making this comment frequently of late. One of the reasons AI is so popular with c-suite is that most of the time they don't really care if things in the company work right. Just that it makes money.

Accounting will catch any errors that matter. AKA lose money.
Ask HN: Is starting a personal blog still worth it in the age of AI?
by nazarh | 2025-12-14 23:02:40+00:00
Hi HN — I’ve wanted to start a personal blog for a few years, but I keep hesitating.

I write a lot privately (notes, mini-essays, thinking-through problems). Paul Graham’s idea that essays are a way to learn really resonates with me. But I rarely publish anything beyond occasional LinkedIn posts.

My blockers:

•“Nobody needs this” / “It’s not original”

•“AI can explain most topics better than I can”

•A bit of fear: shipping something that feels naive or low-signal

At the same time, I read a lot of personal blogs + LinkedIn and I do get real value from them — mostly from perspective, lived experience, and clear thinking, not novelty.

For those of you who blog (or used to):

•What made it worth it for you?

•What kinds of posts actually worked (for learning, career, network, opportunities)?

•Any practical format that lowers the bar (length, cadence, themes)?

•If you were starting today, what would you do differently?

I’m not trying to build a media business — more like building a “public notebook” that compounds over years.
by yobbo | 2025-12-14 23:03:08+00:00
It seems relevant that the categories healthcare, housing, and higher education are not paid by wages/cash but rather through various means of financing (in the form of insurance for healthcare). (In addition to not being outsourcable).

New cars not increasing looks strange but that might be a US phenomena, where most cars might be imported and the median car have "shrunk" in size over the period.
by sethaurus | 2025-12-14 23:03:09+00:00
It doesn't matter if a library is written in TS or JS; you cannot meaningfully protect against other code calling you incorrectly.

Sure, you can check if they gave you a string instead of a number. But if you receive an array of nested objects, are you going to traverse the whole graph and check every property? If the caller gives you a callback, do you check if it returns the correct value? If that callback itself returns a function, do you check that function's return type too? And will you check these things at every single function boundary?

This kind of paranoid runtime type-checking would completely dominate the code, and nobody does it. Many invariants which exist at compile-time cannot be meaningfully checked at runtime, even if you wanted to. All you can do is offer a type-safe interface, trust your callers to respect it, and check for a few common mistakes at the boundary. You cannot protect your code against other code calling it incorrectly, and in practice nobody does. This is equally true for JS and TS.
by sthuck | 2025-12-14 23:03:14+00:00
The best ”algorithm” for discovering new music was digging through profiles on last.fm back when the social functions of the site were still active. Sure, it was a lot of manual work, but the results were amazing. It wasn't completely blind, I found that people I had high similarity with, it was more likely I'll like what they like, even across different genres. Sometimes people were nice and took the effort to recommend based on my profile. I got introduced to varied music, different genres and even a bit from different countries.

The worst was Pandora, which did recommendations based on breakdown of musical instruments and elements in the song. It did what it aimed to do pretty well, only it was a bad idea. It gave you a lot of uninspiring music that sounded like a bland copy of something you actually liked.

Spotify's recommendations are not super awful, but definitely feel closer to Pandora's style. I wonder why is the result like that even though I'm sure they train their model based on listening history.
by joshuadam | 2025-12-14 23:03:27+00:00
This project is a JavaScript-based implementation of NEAT (Neuroevolution of Augmenting Topologies), an evolutionary algorithm developed by Kenneth O. Stanley and Risto Miikkulainen. Originally introduced in their 2002 paper, [Evolving Neural Networks Through Augmenting Topologies](https://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf), NEAT presents a novel approach to evolving artificial neural networks by optimizing both network weights and structures over generations.

It runs in both NodeJS and browser environments allowing for some cool visual demo's:

Chrome Dino game: https://neat-javascript.org/examples/dino.html Self-driving car: https://neat-javascript.org/examples/self-driving-car.html Flappy Bird: https://neat-javascript.org/examples/flappy-bird.html Pole balancing: https://neat-javascript.org/examples/pole-balancing.html Snake: https://neat-javascript.org/examples/snake.html Ant simulator: https://neat-javascript.org/examples/ant-simulator.html XOR: https://neat-javascript.org/xor.html

Very happy to share this here:) Thanks

GitHub: https://github.com/joshuadam/NEAT-JavaScript Docs: https://neat-javascript.org
by afavour | 2025-12-14 23:03:34+00:00
Eh. I agree with the principle. I’ve written personal projects with JSDoc because I truly love the idea of finally being done with build systems and just serving the files I write without a step in between.

But it’s more annoying than just writing TypeScript. There are ways to express just about everything TypeScript can but they’re all more difficult and convoluted (generics are a great example). For a project of any reasonable size I’m still going to advocate to use TypeScript.
by throw310822 | 2025-12-14 23:03:47+00:00
Tesla worked as long as it had a technological advantage on its competitors (and when its competitors didn't exist at all). Now that the technology went mainstream and the competition is Chinese (high tech & high quality, much cheaper) there is no reason for consumers to choose an American brand. Also, Musk (at least the one that started Tesla and SpaceX, don't know now) isn't someone who's interested in competing in a mature market. I guess that's also the reason for pivoting to humanoid robots: gives him the type of extreme stimulus he needs to keep going.
by 1718627440 | 2025-12-14 23:03:50+00:00
> `git reset` by itself doesn't split a commit AFAIK.

Git reset splits a single commit, into two "things", another commit with the first part and a second part that is put into a version prepared for a commit (--soft), prepared for further editing (--mixed) or thrown away (--hard). To me that counts as commit splitting, but it may not match with JJ terms. Also splitting into two commits with the same commit message doesn't sound quite useful to me, so the default of Git two require a second commit message is sensible to me.

> Those were rhetorical questions.

Ok, but then what was your point?
by acdha | 2025-12-14 23:04:29+00:00
> As I understand it, no mainstream desktop OS provides the capabilities to, for example, protect a user's browser cookies from a malicious tool launched by that user.

macOS sandboxing has been used for this kind of thing for years. Open a terminal window on a new Mac and trying to open the user’s photo library, Desktop, iCloud documents, etc. will trigger a permissions prompt.
by serf | 2025-12-14 23:04:34+00:00
something still changed; i've been in classes where the bulk of the students got bad grades and that never stopped the instructor from handing them out.

if we use grades as a yardstick for elementary progress and efficacy then you'd think it would be a bigger deal if a single cog in the system decided to systematically add inaccuracy to the measure simply because a failing student irks them.
Ask HN: Can someone explain why Meta makes such bad design decisions?
by Desafinado | 2025-12-14 23:06:14+00:00
I logged into Instagram from a browser yesterday and for the first time they offered me a modal to 'Freshen up my feed' by following a bunch of suggested accounts. Fair enough, but the kicker was that this modal forced me to follow new accounts before it would let me see my feed again. Until I selected accounts and clicked submit, the only button I could click to clear the modal was greyed out.

This sounds like I'm throwing shade, but I genuinely don't understand what would cause the Instagram team to make a design decision like this. It is so obviously anti-human and annoying that I can't comprehend why they continue to do stuff like this.

I get that on some level forcing users to follow more accounts adds to engagement and growth, so on an economic level it makes sense. But in practice what they're actually doing is proving to their user base that they're a soulless company, over and over again.

Can someone explain to me why they keep doing stuff like this? Is it some kind of cultural dynamic where employees are unable to stand up for human decisions? Or are they really just this oblivious?
by infinet | 2025-12-14 23:06:36+00:00
> to make this in an area with less infrastructure you might use a template and carbide gas torch to cut

Metal work seems very expensive in some places. In a 2025 paper [1], a cooking pot looks like several aluminium rings welded together, about 50 cm tall and 70 cm in diameter, is 416 USD in Ghana, which is one of the destinations of this hand-crank washing machine.

1. https://www.sciencedirect.com/science/article/pii/S266711312...