MurphyA/hacker-news huggingface dataset:
by WJW | 2025-12-25 09:39:12+00:00
I'm kinda hoping that eventually each ractor will run in it's own ruby::box and that each box will get garbage collected individually, so that you could have separate GCs per ractor, BEAM-style. That would allow them to truly run in parallel. One benefit should be to cut down p99 latency, since much fewer requests would be interrupted by garbage collection.

I'm not actually in need of this feature at the moment, but it would be cool and I think it fits very well with the idea of ractors as being completely separated from each other. The downside is of course that sharing objects between ractors would get slower as you'd need to copy the objects instead of just sharing the pointer, but I bet that for most applications that would be negligible. We could even make it so that on ractor creation you have to pass in a box for it to live in, with the default being either a new box or the box of the parent ractor.
by drakonka | 2025-12-25 09:39:47+00:00
I really like the initiative.
I've been using a free app on Android for many many years. My favorite things about it are that it's simple, no social media integration that I know of, nothing fancy or trying to suggest a routine - just record set/reps/weights and that's it. Backs up data via Google Drive or plain file export if I need to switch devices. It's so nice to have years of history in terms of PRs, volume, etc.
Show HN: Pepterm – view protein structures in your terminal (Rust)
by ss-13 | 2025-12-25 09:41:11+00:00
I built a small CLI that fetches PDB entries and renders a cartoon-style protein view directly in the terminal with color gradients.

- Crate: https://crates.io/crates/pepterm
- Repo: https://github.com/suzuki-2001/pepterm
by marginalia_nu | 2025-12-25 09:43:24+00:00
It's also worth noting that computers have been largely an equalizing force, since you don't need much capital at all to produce software, just a PC and know-how that's freely available online. You can generally build software cheaper alone or in a small group than as a large company.

AI is taking away and monopolizing the means of production, and making what few white collar workers remain rent their productivity. This is a completely different dynamic.
by byroot | 2025-12-25 09:43:53+00:00
They already truly run in parallel in Ruby 4.0. The overwhelming majority of contention points have been removed in the last yet.

Ruby::Box wouldn't help reducing contention further, they actually make it worse because with Ruby::Box classes and modules and an extra indirection to go though.

The one remaining contention point is indeed garbage collection. There is a plan for Ractor local GC, but it wasn''t sufficiently ready for Ruby 4.0.
by lostlogin | 2025-12-25 09:44:30+00:00
> iOS autocomplete for the longest time was just absolutely insane.

As well as what you describe, it starts to hate me uncertain words.
I have a colleague called An.
iOS hates this and changes it. It does it when you are a line away from the word too. It’s painful.

I have to type ‘TE’ regularly too, an abbreviation for echo time.

If you’re on iOS, try it.
I have resorted to typing TEE and then hitting delete to remove a E and then carrying on.
by nomilk | 2025-12-25 09:44:58+00:00
What's the relevance of ractors to the average web dev? Will ractors be useful directly in controllers/models/tasks? Or is it more that ractors will be useful to those working on the ruby language (and perhaps some gems - lower level stuff, perhaps), and therefore to the average ruby(/rails) programmer things 'just work', but faster?
by jaapz | 2025-12-25 09:45:45+00:00
You're probably right, but my main point was that it's funny that people who have been spoon fed propaganda about something always think the opposite of what they now believe is the actual propaganda

Honestly, pretty impressive by the russian government how they are able to do that

Then again, in many cultures (even in more tolerant ones like here in the netherlands) there's always somewhere a latent hatred and/or disgust towards LGBT. So maybe it's nit that hard to bring that back to the surface after all
by johnnyanmac | 2025-12-25 09:45:49+00:00
If you have this mythical laptop that lasts 10 years, let me know. Meanwhile, I don't think the GT 1050m from my 2015 laptop would truly have been that competitive today. And it sure did need several repairs to last the 4-ish years it did get.

I'll admit my bias as a gamer and game dev, though. My industry more or less requires a stronger machine by default and the line shifts quickly. Even my decent GTX 3080m is starting to fall behind a bit. But not as drastically as the Moore's law era.
by coryrc | 2025-12-25 09:46:50+00:00
> If the issues are trivially resolved, why did the authors of X decided to abandon X?

They convinced their employers Wayland would be better?

> Xscreensaver/lock screens on Qubes are still broken.

Most people aren't nation-state-level targets and don't worry about security to that degree. But they do like global hotkeys.
by Yash16 | 2025-12-25 09:46:58+00:00
Great product—love the domain and the Nano Banana model choice.

I’m building picxstudio.com , focused only on image generation (no video for now). Since you’re doing video, maybe we can feature each other—users often want both.

I’ll probably explore video later when VEO-5 drops. Let me know what you think
by Alifatisk | 2025-12-25 09:47:19+00:00
Previously, RBS-inline was the closest answer to typed Ruby, it was the JSDoc of Ruby. Recently, when I stumbled upon low_type and tried it out in irb, it finally felt like ”this is it, this is the TS of Ruby” and with runtime validation.

I like it, it deserves attention, especially for those who are seeking for typed Ruby. With this, you can finally experience it, and the syntax feels more ergonomic than with Sorbet.
by AnthonyMouse | 2025-12-25 09:48:39+00:00
Apple is #4 in laptop sales. Lenovo, Dell and HP each have at least as much volume. Apple also has higher margins than those companies, implying that any cost savings they make on other components aren't making it into the price anyway.

It's probably just that it costs a little more to do it and most customers wouldn't pay a premium to have it.
by adrian_b | 2025-12-25 09:49:09+00:00
Intel did indeed later license AMD to produce some clones, but it was not due to their good heart, but those were cross-licensing deals, with AMD producing clones of some Intel chips and Intel producing clones of some AMD chips, which could be used as peripherals for the Intel CPUs.

Then there was the big licensing deal for Intel 8088 and its successors, which was forced by IBM upon Intel, in order to have a second source for the critical components of the IBM PC.
by ajmurmann | 2025-12-25 09:49:37+00:00
And the feeling of safety that comes with it. I left my previous employer during an acquisition and took a year off and am taking my time to find the right next gig. I cannot imagine the terror of having to find a new job, any job, ASAP because otherwise we starve and lose the house. Substantial savings are honestly much nicer than spending on a lavish lifestyle.
by johnnyanmac | 2025-12-25 09:50:30+00:00
>But interest in this level of reusability is a pretty niche market.

We're getting to a point where some people don't even have a laoptop in their household. I think "serving a niche", especially one willing to pay 1000+ for tech, isn't a bad thing here. The tech required for browsing internet and streaming videos doesn't need to spend more than $500, or even get a windows/mac.Chromebooks will happily cut into that entry level market.

This is all before mentioning how memory prices will only make the problem worse for all consumer electronics.
by dotancohen | 2025-12-25 09:53:20+00:00
I'm now having Claude Code build the tests for my voicenotes organization application. For the most basic implementation - just a single text field - I wrote in English which tests I know I need, there were about two dozen. Approaching size limits, unicode, normalization, nonprinting characters, Hebrew vowel points, empty strings vs NULL strings, Exceeded byte length without exceeded character length, etc etc. I then threw Claude Code at it.

Claude Code found more edge cases to write tests for than I ever would have thought of. And I've been doing this for 20 years.
by defrost | 2025-12-25 09:55:39+00:00
So you're saying that the Catholic Church also accepted the Copernican Sun centred model of the universe formulated by Nicolaus Copernicus "from the beginning" as Copernicus was also a Catholic cleric?

Perhaps it's possible that the beliefs and propositions of individual members of a greater body don't always align with the official stance of the greater body.
by johnnyanmac | 2025-12-25 09:55:59+00:00
I guess that's the issue? I spent nearly $2800 on my current laptop, top of the line specs at the time. I'm just not the kind of person trying to compare down to A $1000 mid-level Mac. I need to use this thing professionally.

In that lens, the config I played with (before ram prices surged) ended up around $2200 and it felt nice knowing I could upgrade the GPU down the line for $400 instead of pondering if I can last another year or 2 before things fall behind. As long as the chassis and screen is solid I can deal with some compromise for that value.
by shevy-java | 2025-12-25 09:56:52+00:00
I don't evaluate it in this way.

What I think should instead be evaluated is how effective that investment into the FSF can be.

I think we also need to think more strategically here. For instance, LibreOffice should really receive a lot more funding and support by states all across this planet. I am tired of the US monopoly (almost a monopoly) here (Microsoft).
by dajonker | 2025-12-25 09:57:57+00:00
In my honest opinion, if you can't live without static typing, Ruby just isn't for you.

Adding static typing to a dynamic language mostly gives you the disadvantages of both, without a lot of benefits. It's better to stick to languages that were designed with static types from the start.

I love programming in Ruby, having to worry about type annotations and the additional constraints that come with them would take a lot of the fun out of that.
by pmontra | 2025-12-25 09:58:22+00:00
> lack of type checking interest in the ruby community

IMHO if we wanted to write types in our programming language we would not have chosen Ruby for our programming tasks. We would have chosen one of the zillion of other languages. There were a lot of them when Ruby got traction about 20 years ago and many other languages have been created after then. It's not surprising that one of the main proponent of typing in Ruby is Shopify, because their path away from Ruby is very costly.

In my case one of the reasons I invested in Ruby is precisely because I did not have to write types.

Does it make Ruby slower than Java, my main language in 2005? Yes.

Is it fast enough for my customers? Yes.

Do I have to write unit tests to check for types? I don't.

Occasional problems that static types would have prevented to happen? Once or twice per year. Overall that's a good tradeoff because pleasing the type checker for non trivial types can be a time consuming task and some errors happen at runtime anyway, when the real world hits with its data a carefully type checked code base or a carelessly dynamic typed one. Think of an API suddenly returning a bad JSON, maybe an HTML 500 page. Static or dynamic typing, both won't help with that.
by magicalhippo | 2025-12-25 09:58:29+00:00
I think I was using Grok Code 1 Fast with Cline, and had it trying to fix some code. Came back a bit later and found out that after not being able to make progress on fixing the code, it decided to "fix" the test by replacing it with a trivial test.

That made the test pass of course, leaving the code as broken as it ever was. Guess that one was on me though, I never specified it shouldn't do that...
by Timon3 | 2025-12-25 09:59:30+00:00
> If the gains from AI were shared even a little with the regular people, they might not have the deep sense of unease and sometimes open hostility that we are seeing now.

Additionally the AIs are trained on creations by many of those same regular people. They're not just seeing the profits funnelled upwards, some of those profits are being generated through their own works!

And before someone tries to argue "that's just how art etc. work" - sure, but the difference is quantity. If I get inspired by another artist, I can generate output at the speed of one artist. With current AI models, it's like a big company is training millions of artists on your style to pump out new pieces as fast as possible.
by enraged_camel | 2025-12-25 09:59:42+00:00
>> This doesn’t seem to exist in this case, which may simply be the deal breaker.

Perhaps, but perhaps not. The reason tests are valuable in these scenarios is they are actually a kind of system spec. LLMs can look at them to figure out how a system should (and should not) behave, and use that to guide the implementation.

I don’t see why regular specs (e.g. markdown files) could not serve the same purpose. Of course, most GitHub projects don’t include such files, but maybe that will change as time goes on.
by Dagger2 | 2025-12-25 10:00:39+00:00
Then the value is clear, isn't it? The value is that it gives you the ability to run a service. Maybe you don't want to do that today, which is fine -- you can simply not make use of the ability. If you ever change your mind, it's available and you can use it.

Also... the ability for people to deterministically reach out to a specific device on your network is the exact same ability you use to deterministically reach out to specific devices on their networks, just viewed from the opposite side. If the Internet wasn't a place where people could decide to run services on their networks and connect to services that other people ran on their networks, what would the point even be?

IPv6 supports customer-controlled prefix rotation. You can select how often it happens by configuring your router to periodically change its DUID. Of course, your ISP can ignore this signal and always assign the same prefix anyway, but you can hardly blame that on IPv6.
by AnthonyMouse | 2025-12-25 10:01:14+00:00
> People simply love having all their eggs in one basket

It's more accurate to say that people don't like having twelve different interfaces that all do the same thing.

The proper way to do this is, of course, to have a single interface (i.e. a user agent) that interfaces with multiple services using a standard protocol. But every proprietary service wants you to use their app, and that's the thing people hate.

But the services are being dumb, because everyone except for the largest incumbent is better off to give the people what they want. The one that wins is the one with the largest network effect, which means you're either the biggest already or you're better off to implement a standard along with everyone else who isn't the biggest so that in combination you have the biggest network, since otherwise you won't and then you lose.
by WJW | 2025-12-25 10:01:47+00:00
I know they run truly parallel when they're doing work, but GC still stops the world, right?

Assuming you mean "because with Ruby::Box classes and modules have an extra indirection to go though." in the second paragraph, I don't understand why that would be necessary. Can't you just have completely separate boxes with their own copies of all classes etc, or does that use too much memory? (Maybe some COW scheme might work, doodling project for the holidays acquired haha)

Anyway, very cool work and I hope it keeps improving! Thanks for 4.0 byroot!
by robobro | 2025-12-25 10:01:48+00:00
> Text after a blank line that is indented by two or more spaces is reproduced verbatim. (This is intended for code.)

.-"```"-.
/_\ _ _ __\
| /{` ` ` `}
{} {_,_,_,_,}
)/ a a \(
_(<o_()_o>)_ __
{ | /_)(_\ | } _/ \
/`{ \ / }`\ _| ` |
/ { '.____.' } \ {_`-._/
/ {_, ,_} \/ `-._}
| `{--}` \ / /
| / { } | ` /
; | { } |\ /
\ \ {__} | '..'
\_.-'}==//\\====/
{_.-'\==\\//====\
| ,) `` |
\__| |
| __ |
| _ /\ _ |
| || |
\ _ _ || _ _ /
{` ` `}{` ` `}
{_,_,_}{_,_,_}
| || |
/-. _||_ .-\
jgs / / \ \
|___ / \ ___|
`"""` `"""`
Show HN: Measuring the "Mom-induced" insulin resistance this Christmas
by zsolt224 | 2025-12-25 10:02:12+00:00
Does your mom show you love by the amount of cakes she bakes for you? If yes, please note that transient insulin resistance can develop within a week if you are pushing it.

I’m a precision health consultant for longevity clinics, focused on spotting metabolic risk early and I built this comprehensive Glucose Metabolism Interpreter:

- All labs are optional — plug in whatever you have

- Uses HOMA2 instead of classic HOMA (which isn’t great because it’s linear). It also provide estimated beta-cell function

- Includes insulin-independent markers, so it works even with basic annual labs

- Gives you meaningful interpretation, not just numbers

Don’t blame your mom :) I need to figure out where to secretly donate half of the cakes, because if I ate them all, my mom’s secret gift would be type 2 diabetes :)

Merry Christmas to you and your pancreas!
by wincy | 2025-12-25 10:03:08+00:00
I remember Wayland scared me off of Linux when I tried to switch to Ubuntu a few years ago. I couldn’t watch a movie without jiggling my mouse every few minutes. At the time I feel like it was like “yeah that feature doesn’t exist yet” or something. So I switched back to Windows. It looks like there’s workarounds now but I’ve mostly switch to my fantastic M1 MacBook Air at this point.
by 2000UltraDeluxe | 2025-12-25 10:04:09+00:00
Yeah, the lack of support for off-the-shelf hardware has been the doom of the Amiga revival since day one.

The refusal to port AmigaOS to anything but dead or near-dead architectures has always amazed me -- had the resources been spent on AROS instead, we'd have a usable modern ecosystem by now, rather than multiple different options that fall back on various ways of running 30 year-old binaries.

All I want is a decent modern version of YAM and universal ARexx/datatype support! :(
by OJFord | 2025-12-25 10:04:13+00:00
I don't understand that tweet, I'm not sure if it is something dismissive for you to lose respect over or not? He says it's 'not a disease' but that people with it 'are sick'... I'm not sure if the point is simply that it's not a single well-understood thing with known causes, but more of a description of a state of affairs. (Sort of like 'cellulitis' is just 'a skin infection of some sort'.) But I think that would be correct.
by bonzini | 2025-12-25 10:05:28+00:00
The actual innovation in QEMU was that the architecture-dependent part was much smaller than a full JIT compiler, because it used the C compiler to build small blocks and parsed ELF relocations to be able to move them into the translated code.

This technique has since been dropped by QEMU, but something similar is now used by the Python JIT. These days QEMU uses Tiny Code Generator, originally forked out of TCC though by now the source is probably unrecognizable except in the function names.
Show HN: FailCore – Execution-Time Safety Runtime for AI Agents
by IntelliAvatar | 2025-12-25 10:05:32+00:00
Hi HN,

FailCore is a small execution-time safety runtime for AI agents.

Instead of relying on better prompts or planning, it enforces security at the
Python execution boundary: blocking SSRF, private network access, and unsafe
filesystem side-effects before any tool side-effects occur.

I added a short live demo GIF in the README showing it blocking a real tool-use
attack, along with a DESIGN.md that explains the architecture and trade-offs.

GitHub: https://github.com/zi-ling/failcore
Design notes: https://github.com/zi-ling/failcore/blob/main/DESIGN.md

Feedback welcome — especially thoughts on runtime hooking vs. kernel-level approaches like eBPF.
by oscarcp | 2025-12-25 10:06:04+00:00
I'm writing this without reading the comments first but oh boy, I wanted to punch a stone wall while I was reading this. I don't tolerate any company that has more than 3 interviews for a position, it's an automatic "no, sorry, I have better things to do with my life", and I tried, believe me, Red Hat had 6, Creative Assembly burnt me with 2 personal and 3 technical, all on-site on different dates (edit for peace of mind: these interviews were 13 years ago, it's fine...)

Maybe it's my own personal working culture, but when I get into a company I'm not thinking about levels, growth, stock options... I go there with a salary, a position and a willingness to help in whatever I can, once I'm not needed anymore (it's usually a combination of managerial direction changes, new hires, new objectives) that's my cue to help somewhere else where I may be needed or wanted. Am I that weird? I honestly don't understand this culture of quarter finance agent, half developer, quarter manager aspirant :/
by magmostafa | 2025-12-25 10:06:49+00:00
Exciting to see Ruby 4.0.0 released! The new conditional syntax improvements (if condition1 && condition2) are really elegant. The Ruby::Box feature for true parallelism looks particularly promising for CPU-bound workloads. This could significantly improve performance in scenarios where we've historically had to resort to external services or other languages. Looking forward to seeing real-world benchmarks and adoption patterns emerge.
by kakacik | 2025-12-25 10:10:26+00:00
This is me, within limits of course. I work on 90% contract, having 10 weeks of paid vacation and sure as hell try to use that to the fullest.

Life is too short to focus on stuff that would lead to deep regrets later. I dont know about you guys but focusing all the time on money and career certainly feels like one, IT engineering is too successful to really have the need to behave so, so it becomes a choice.

I do focus on those but in short bursts and them coast the results for long time. Ie push through some boundary (lengthy acquiring of property, planning and realizing big reconstruction, naturalization process for me and family etc). I never grokked the 'completionist' mindset as a default one, its endless toil and unhappiness in big corporations.