frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Addiction Lawsuit Against Character AI Can Proceed

https://blog.ericgoldman.org/archives/2025/05/addiction-lawsuit-against-character-ai-can-proceed-garcia-v-character-technologies.htm
2•hn_acker•3m ago•1 comments

Founders: Stop reimbursing your VC's legal fees

https://auren.substack.com/p/founders-stop-reimbursing-your-vcs
1•todsacerdoti•3m ago•0 comments

Salmonella Outbreak Linked to Whole Cucumbers

https://www.cdc.gov/salmonella/outbreaks/whole-cucumbers-05-25/index.html
2•gnabgib•4m ago•0 comments

PMs: How Are You Monitoring Your LLM Chatbot?

1•aman_madhukar02•4m ago•0 comments

Judges Shouldn't Rely on AI for the Ordinary Meaning of Text

https://www.lawfaremedia.org/article/judges-shouldn-t-rely-on-ai-for-the-ordinary-meaning-of-text
2•hn_acker•5m ago•0 comments

Microsoft fires employee who interrupted CEO's speech to protest

https://apnews.com/article/microsoft-build-israel-gaza-protest-worker-fired-a395ac137b74002886b2ad727b5ae5c2
5•donsupreme•7m ago•0 comments

Desktop Icons of Yore

https://www.datagubbe.se/icons/
1•blakespot•7m ago•0 comments

Trading PETR4 stocks using Hill Climbing

https://www.dpbmdev.com/posts/hill-climbing-for-trading-c0g7f2b882afa/
1•Dpbm•8m ago•0 comments

Ask HN: Agent / workflow frameworks or roll your own?

1•dennisy•8m ago•0 comments

Writing web-based interactive fiction with ink

https://www.inklestudios.com/ink/web-tutorial/
1•Tomte•8m ago•0 comments

Writing the Prince symbol in Unicode (2013)

https://parkerhiggins.net/2013/01/writing-the-prince-symbol-in-unicode/
1•Tomte•8m ago•0 comments

AdTech: Out of Control and Systematically Breaking the Law (2022)

https://www.zylstra.org/blog/2020/01/adtech-out-of-control-and-systematically-breaking-the-law/
2•Bluestein•8m ago•1 comments

Yes, Social Media Might Be Making Kids Depressed

https://www.ucsf.edu/news/2025/05/430011/yes-social-media-might-be-making-kids-depressed
1•giuliomagnifico•10m ago•1 comments

Chicago Paper Publishes 'Summer Reading List' of Fake Books Created with AI

https://gizmodo.com/chicago-paper-summer-reading-list-fake-books-ai-2000604708
2•cpeterso•13m ago•2 comments

Kangaroo: A flash cache optimized for tiny objects (2021)

https://engineering.fb.com/2021/10/26/core-infra/kangaroo/
3•PaulHoule•14m ago•0 comments

Transfer Learning: Lessons from Predictive ML for Agentic AI

https://www.tecton.ai/blog/transfer-learning-from-ml-for-ai-agents-mcp/
4•mihirmathur•15m ago•0 comments

AI Is Eating Data Center Power Demand–and It's Only Getting Worse

https://www.wired.com/story/new-research-energy-electricity-artificial-intelligence-ai/
1•beardyw•15m ago•0 comments

Built a Technical Quant for Stocks

https://discord.com/channels/1368978013760520262/1368978014230155386
1•estebanle•15m ago•0 comments

Homeland Security blocks Harvard's ability to enroll international students

https://www.reuters.com/world/us/trump-blocks-harvards-ability-enroll-international-students-nyt-reports-2025-05-22/
4•krigath•16m ago•0 comments

Trump administration blocks Harvard's ability to enroll international students

https://www.nbcnews.com/politics/trump-administration/harvard-international-students-trump-administration-rcna208591
14•krigath•17m ago•1 comments

A potential 'anti-spice' that could dial down the heat of fiery food

https://news.osu.edu/a-potential-anti-spice-that-could-dial-down-the-heat-of-fiery-food/
2•gnabgib•17m ago•0 comments

AI is killing tech jobs. Now, a new employment model is emerging

https://www.sfgate.com/tech/article/lucrative-tech-jobs-vanish-klarna-gig-work-20339137.php
2•PretzelFisch•18m ago•0 comments

Court Upholds Verdict Adtech TCF for RTB Is Illegal Under GDPR

https://www.zylstra.org/blog/2025/05/court-upholds-verdict-adtech-tcf-for-rtb-is-illegal-under-gdpr/
3•speckx•20m ago•0 comments

Google is paying Samsung an 'enormous sum' to preinstall Gemini

https://www.theverge.com/news/652746/google-samsung-gemini-default-placement-antitrust-trial
3•mgh2•20m ago•0 comments

The Next Abstraction

https://substack.com/inbox/post/164096497
1•mbs348•20m ago•0 comments

Blue light may not affect your sleep-wake cycle, study finds

https://www.medicalnewstoday.com/articles/blue-light-may-not-affect-sleep-wake-cycle
1•akyuu•22m ago•0 comments

Scientific conferences are leaving the US amid border fears

https://www.nature.com/articles/d41586-025-01636-5
10•jmsflknr•22m ago•0 comments

Ask HN: Software to Render Font to PNG

1•delduca•24m ago•0 comments

Book Order Scams and Fake Reviews

https://writerbeware.blog/2025/05/09/two-to-avoid-book-order-scams-and-fake-reviews/
1•ilamont•25m ago•0 comments

Lawsuit claims discrimination by Workday's hiring tech

https://www.cnn.com/2025/05/22/tech/workday-ai-hiring-discrimination-lawsuit
2•PretzelFisch•25m ago•0 comments
Open in hackernews

Fast Allocations in Ruby 3.5

https://railsatscale.com/2025-05-21-fast-allocations-in-ruby-3-5/
118•tekknolagi•4h ago

Comments

alberth•4h ago
Can someone explain, is YJIT being abandoned over the new ZJIT? [0]

And if so, will these YJIT features likes Fast Allocations be brought to ZJIT?

https://railsatscale.com/2025-05-14-merge-zjit/

firemelt•4h ago
after reading your source I'd say YJIT still there up until ZJIT is ready and on par with YJIT

and the features is there when its there

ksec•4h ago
>For this reason, we will continue maintaining YJIT for now and Ruby 3.5 will ship with both YJIT and ZJIT. In parallel, we will improve ZJIT until it is on par (features and performance) with YJIT.

I guess YJIT will always be faster in warmup and minimal increase of memory usage. ZJIT being more traditional should bring more speedup than YJIT.

But most of the speedup right now is still coming from rewriting C into Ruby.

uticus•2h ago
> But most of the speedup right now is still coming from rewriting C into Ruby.

Quick glance, this statement seems backwards - shouldn't C always be faster? or maybe i'm misunderstanding how the JIT truly works

vidarh•2h ago
Unless your JIT can analyse the full code, a transition between byte code and native code is often costly because the JIT won't be able to optimize the full path. Once your JIT generates good enough code, it then becomes faster to avoid that transition even in cases when in isolation native code might still be faster.

EDIT: Note that this isn't an inherent limit. You could write a JIT that could analyze the compiled C code too. It's just that it's much harder to do.

molf•2h ago
C itself is fast; it's calls to C from Ruby that are slow. [1]

Crossing the Ruby -> C boundary means that a JIT compiler cannot optimize the code as much; because it cannot alter or inline the C code methods. Counterintuitively this means that rewriting (certain?) built-in methods in Ruby leads to performance gains when using YJIT. [2]

[1]: https://railsatscale.com/2023-08-29-ruby-outperforms-c/ [2]: https://jpcamara.com/2024/12/01/speeding-up-ruby.html

tenderlove•2h ago
It's not being abandoned, we're just shifting focus to evaluate a new style of compiler. YJIT will still get bug fixes and performance improvements.

ZJIT is a method based JIT (the type of compiler traditionally taught in schools) where YJIT is a lazy basic block versioning (LBBV) compiler. We're using what we learned developing and deploying YJIT to build an even better JIT compiler. IOW we're going to fold some of YJIT's techniques in to ZJIT.

> And if so, will these YJIT features likes Fast Allocations be brought to ZJIT?

It may not have been clear from the post, but this fast allocation strategy is actually implemented in the byte code interpreter. You will get a speedup without using any JIT compiler. We've already ported this fast-path to YJIT and are in the midst of implementing it in ZJIT.

FooBarWidget•1h ago
Why is a traditional method based JIT better than an LBBV JIT? I thought YJIT is LBBV because it's a better fit for Ruby, whereas traditional method based JIT is more suitable for static languages like Java.
tenderlove•1h ago
One reason is that we think we can make better use of registers. Since LBBV doesn't "see" all blocks in a particular method all at once, it's much more challenging to optimize register use across basic blocks. We've added type profiling, so ZJIT can "learn" types from the runtime.
ysavir•24m ago
Thanks for all the work you all are putting into Ruby! The improvements in the past few years have been incredible and I'm excited to see the continuous efforts in this area.
ksec•4h ago
I know I may be jumping the gun a little here but I wonder what percentage speedup could we expect on typical rails applications. Especially with Active Record.
GGO•3h ago
so far no diff here (https://speed.yjit.org/). But the build is from May 14 so maybe it will show up in new build?
tempest_•2h ago
At this point from the outside looking in Ruby is Rails at this point.
firemelt•4h ago
did it means more speeds to all rails/active records collections?
90s_dev•4h ago
It seems to me like all languages are converging towards something like WASM. I wonder if in 20 years we will see WASM become the de facto platform that all apps can compile to and all operating systems can run near-natively with only a thin like WASI but more convenient.
berkes•3h ago
Wasn't this the idea of the JVM?
foldr•3h ago
And of course the ill-fated Parrot VM associated with the Perl 6 project.
rhdjsjebshjffn•3h ago
I think that was more of a language-oriented effort rather than runtime/abi oriented effort.
foldr•3h ago
Parrot was intended to be a universal VM. It wasn’t just for Perl.

https://www.slideshare.net/slideshow/the-parrot-vm/2126925

rhdjsjebshjffn•2h ago
Sure, I just think that's a very odd way to characterize the project. Basically anything can be universal vm if you put enough effort to reimplementing the languages. Much of what sets Parrot aside is its support for frontend tooling.
foldr•1h ago
“The Parrot VM aims to be a universal virtual machine for dynamic languages…”

That’s how the people working on the project characterized it.

rhdjsjebshjffn•30m ago
I certainly think the humor in parrot/rakudo (and why they come up today still) is how little of their own self image the proponents could perceive. The absolute irony of thinking that perl's strength was due to familiarity with text-manipulation rather than the cultural mass....
90s_dev•3h ago
I think so, but that was the 90s where we needed a lot more hindsight to get it right. Plus that was mostly just Sun, right? WASM is backed by all browsers and it looks like MS might be looking at bridging it with its own kernel or something?
lloeki•2h ago
> that was the 90s

In the meantime the CLR happened too.

And - to an extent - LLVM IR.

bgwalter•2h ago
I don't know. The integration of Java applets was way smoother than WASM.

Security wise, perhaps a different story, though let's wait until WASM is in wide use with filesystem access and bugs start to appear.

hueho•1h ago
Java bytecode was originally never intended to be used with anything other than Java - unlike WASM it's very much designed to describe programs using virtual dispatch and automatic memory management. Sun eventually added stuff like invokedynamic to make it easier to implement dynamic languages (at the time, stuff like Ruby and Python), but it was always a bit of round peg in square hole.

By comparison, WASM is really more like traditional assembly, only running inside a sandbox.

hinkley•1h ago
> I’ve been interested in speeding up allocations for quite some time. We know that calling a C function from Ruby incurs some overhead, and that the overhead depends on the type of parameters we pass.

> it seemed quite natural to use the triple-dot forwarding syntax (...).

> Unfortunately I found that using ... was quite expensive

> This lead me to implement an optimization for ... .

That’s some excellent yak shaving. And speaking up … in any language is good news even if allocation is not faster.

hinkley•1h ago
> It’s very rare for code to allocate exactly the same type of object many times in a row, so the class of the instance local variable will change quite frequently.

That’s dangerous thinking because constructors will be a bimodal distribution.

Either a graph of calls or objects will contain a large number of unique objects, layers of alternating objects, or a lot of one type of object. Any map function for instance will tend to return a bunch of the same object. When the median and the mean diverge like this your thinking about perf gets muddy. An inline cache will make bulk allocations in list comprehensions faster. It won’t make creating DAGs faster. One is better than none.

masklinn•2m ago
> One is better than none.

Not necessarily. An inline cache is cheap but it's not free, even less so when it also comes with the expense of moving Class#new from C to Ruby. It's probably not worth speeding up the 1% at the expense of the 99%.

> An inline cache will make bulk allocations in list comprehensions faster.

Only if such comprehensions create exactly one type of object, if they create two it's going to slow them down, and if they create zero (just do data extraction) it won't do anything.