The Postmark alternative for AI agents
MailKite launches an alternative to Postmark for AI agents, offering free-tier inbound email, signed webhooks with auth blocks, and a built-in agent runner. Postmark's inbound parsing is good but requ…
MailKite launches an alternative to Postmark for AI agents, offering free-tier inbound email, signed webhooks with auth blocks, and a built-in agent runner. Postmark's inbound parsing is good but requ…
MailKite launches an email API designed for AI agents, offering parsed JSON inboxes and a receive-reply loop as an alternative to Mailgun's rule-engine-based inbound handling. The service targets deve…
MailKite launched a service that gives AI agents their own email inboxes on custom domains, enabling autonomous email handling without IMAP or MIME parsing. Developers can either run agents themselves…
Developers can safely and efficiently transform payloads in Ruby and Ruby on Rails workflows by isolating transformation logic behind dedicated transformers, using the strategy pattern for multiple in…
A developer reverse-engineered Codemasters' BIGF archive format using pure Ruby, demonstrating that Ruby's binary string handling and String#unpack method can efficiently parse game data from TOCA Rac…
Google's Gemini API lacks an official Ruby SDK, but developers can build AI agents in Rails using the Interactions REST API via Faraday. The Interactions API supports multi-turn workflows with server-…
A developer explains the basics of type inference for anonymous records, arguing that good type inference for such records is a key missing feature in statically typed languages. The post introduces t…
A developer tested LLM code translation by passing a Go program through 10 languages and back, finding the final Go version grew from 94 to 443 lines while retaining correctness. The experiment used a…
Ruby 4.0 has been released, but AI coding assistants still generate Ruby 3.0-era code, ignoring modern idioms like hash value omission and anonymous block parameters. This creates a feedback loop that…
Geir Isene built a complete personal computing stack from scratch, replacing nearly every off-the-shelf program with custom tools including a text editor, file manager, and email client, all developed…
Software developer and writer Sharon Rosner reflects on the joy of coding as a craft, arguing that the process of building software is more fulfilling than the end result. He critiques the AI revoluti…
A new domain-specific language (DSL) called Web Pipe is being developed to remain viable in the era of large language models by integrating with LLM agents through an AGENTS.md template file and embed…
A developer building a Retrieval-Augmented Generation (RAG) pipeline for Ruby documentation found that while the system improved answer accuracy, it did not eliminate hallucinations. The model still p…
Yukihiro "Matz" Matsumoto, the creator of the Ruby programming language, is developing a native compiler for Ruby with assistance from artificial intelligence. The project aims to significantly improv…
A developer released a small Ruby prototype for an OpenAI-compatible LLM proxy that enforces per-user rate limits using a refillable token bucket system. The proxy, built entirely with Ruby standard l…
A developer built a Claude Cowork DOCX plugin in Ruby, Java, and TypeScript to compare the languages for processing zip files and XML. Java handled zip and XML support best in its runtime without issu…
yard-fence 0.9.0 is a Ruby gem that preprocesses Markdown files to prevent YARD from generating noisy `InvalidLink` warnings caused by braces in code examples or placeholders. The update introduces ex…
Rubish is a UNIX shell written in pure Ruby that parses shell syntax and compiles it to Ruby code for execution by the Ruby VM. It is fully compatible with bash, allowing existing bash scripts to run …
A new wave of software efficiency is approaching as large language models (LLMs) are increasingly used to optimize bloated codebases, targeting resource-heavy applications like Electron and Chrome. LL…
This README file explains that the provided script cannot use `YAML.dump(payload)` to generate a useful payload, as it only produces a worthless YAML representation of a `Gem::Requirement` object. Ins…