HN user

earcar

1,565 karma

More at https://paolino.me

Posts70
Comments88
View on HN
paolino.me 28d ago

Founding a company in Germany: €9600, 152 days and I still can't send an invoice

earcar
608pts756
github.com 1mo ago

RubyLLM 1.16: concurrent tool execution, Rails-style instrumentation, and more

earcar
2pts0
twitter.com 1mo ago

Rails has overtaken Next.js in a dataset of 3,658 profitable startups

earcar
3pts1
kamal-backup.dev 1mo ago

Kamal Backup: Scheduled restic backups for Rails apps

earcar
1pts0
paolino.me 2mo ago

Engineering Is Not Dead, Because Accountability Isn't

earcar
3pts3
paolino.me 2mo ago

Production experience cannot be hallucinated

earcar
2pts0
paolino.me 2mo ago

Kamal-Backup: Scheduled Rails Backups for Kamal Apps

earcar
2pts0
kamal-backup.dev 2mo ago

Show HN: Kamal-backup – Rails backups with restore drills and audit evidence

earcar
1pts0
paolino.me 2mo ago

Ruby Concurrency: What Happens

earcar
2pts0
jekyll-vitepress.dev 2mo ago

Jekyll can be as fast as Vitepress by using Turbo Frames

earcar
1pts0
github.com 2mo ago

NodeLLM: RubyLLM in JavaScript

earcar
3pts0
paolino.me 3mo ago

Making the Rails Default Job Queue Fiber-Based

earcar
1pts0
rubycentral.org 3mo ago

A new chapter for Ruby Central

earcar
3pts1
rubyai.beehiiv.com 3mo ago

Ruby AI News – April 16th 2026

earcar
1pts0
github.com 3mo ago

Buttercut: Edit Videos with Claude Code

earcar
2pts0
paolino.me 3mo ago

Your Agent's Context Window Is Not a Junk Drawer

earcar
1pts0
andre.arko.net 3mo ago

André Arko: Towards an Amicable Resolution with Ruby Central

earcar
2pts0
paolino.me 3mo ago

Show HN: Hyprmoncfg – Terminal-based monitor config manager for Hyprland

earcar
11pts4
paolino.me 4mo ago

Comb Shaped Slices: Why I'm not picking a vertical

earcar
2pts0
jekyll-vitepress.dev 4mo ago

Show HN: Jekyll VitePress – VitePress-Style Docs for Jekyll

earcar
1pts0
thoughtbot.com 4mo ago

Observability for your LLM-powered apps: OTel Instrumentation for RubyLLM

earcar
1pts0
ec.europa.eu 4mo ago

Commission presents proposal for EU Inc. – a single legal entity for Europe

earcar
2pts1
github.com 4mo ago

Caxlsx: Ruby gem for xlsx generation with charts, images, schema validation

earcar
81pts4
dev.to 4mo ago

Which Programming Language Is Best for Claude Code?

earcar
1pts0
github.com 4mo ago

Omarchy 3.4.0

earcar
2pts0
arxiv.org 4mo ago

Current Large Audio Language Models largely transcribe rather than listen

earcar
4pts0
paolino.me 5mo ago

Ruby Is the Best Language for Building AI Apps

earcar
5pts0
paolino.me 5mo ago

RubyLLM 1.12: Agents Are Just LLMs with Tools

earcar
1pts0
www.youtube.com 6mo ago

AI app development has been overcomplicated (keynote video)

earcar
1pts0
rubyllm.com 11mo ago

Agentic Workflows in RubyLLM

earcar
1pts0

Thanks for litigating every layer of a bug I fixed 27 minutes after your comment, more than a year ago.

Also, the same PR was reverted a bit later, IIRC

No. Your #151 was merged. The regressions it introduced were patched the next day in #157/#159.

Cheers!

Your PR #151 was opened May 4, 2025 and merged 2 days later.

The repeated `chat.to_llm` message bug was reported Apr 30 2025, and fixed May 6, 2025, about 27 minutes after your comment.

It only showed up when reusing the same Rails chat object for multiple turns in the same Ruby object lifetime, e.g. `chat.ask("first"); chat.ask("second")` inside one controller action or one background job.

The usual flow is one turn per request/job, where the record is reloaded each time. Also, it did not overwrite records; it duplicated messages in the in-memory request context.

Gemini tool calling shipped in 1.0, schema support landed in 1.4, and observability landed in 1.16.

As for "the most trivial of applications": check the docs. RubyLLM goes well beyond that, and several multi-million-dollar companies use it in production every day.

Thank you!

Since a few mentioned Responses API: the reason why it wasn't implemented in 1.x is because RubyLLM 1.x effectively assumes a 1:1 mapping between provider and protocol. That assumption no longer holds since OpenAI has 2 protocols with different capabilities, and to access all VertexAI models we need to support a bunch under that single provider.

Therefore, a major refactoring to split Protocols and from Providers was needed, as well as a way to route different models to different Protocols under the same Provider, transparently.

That's one of the many things that's gonna ship with RubyLLM 2.0.

If you're curious: https://github.com/crmne/ruby_llm/commit/d398354da493570b050... https://github.com/crmne/ruby_llm/commit/0875ce2dfeae9d28a3a...

RubyLLM author here.

I'm not sure where you got that.

`chat.with_temperature(0.2)`

https://rubyllm.com/chat/#controlling-response-behavior

`chat.with_thinking(effort: :high, budget: 8000)`

https://rubyllm.com/thinking/#controlling-extended-thinking

Max tokens is the only one of your list that require provider specific params:

https://rubyllm.com/chat/#provider-specific-parameters

I'm one guy doing it for free. Happy to see your contribution!

there are specialized lawyers that maintain a pool of freshly founded GmbH's for you to buy

It doesn't sound easy nor cheap to buy a company and change the company name.

UG & Co. KG has a couple of advantages and while it did add some money and time to the table, it doesn't change the story.

Notaries in the US are the price of a dinner. Many people have waited up to 6 months to receive their VAT ID from Berlin.