Systems | Development | Analytics | API | Testing

How to Use Shoulda Matchers with RSpec for Ruby on Rails

shoulda-matchers gives you one-line RSpec and Minitest matchers for common Rails behavior — it { should validate_presence_of(:name) } replaces a hand-written validation spec. Add gem "shoulda-matchers", "~> 8.0" to your Gemfile’s test group, then add the configuration block to spec/rails_helper.rb naming your test framework and library. Version 8 works with Rails 8.1 and rspec-rails 8.

Top ESG Software Companies for US Sustainability Reporting in 2026

Ask a sustainability team what slowed their last disclosure and the answer is usually mundane: inconsistent units, missing supplier records, emission factors applied three different ways across four business units, and no audit trail explaining why a number changed between drafts.

A token is not a message: stop storing AI responses like event logs

How you store a streamed AI response decides what a client sees when the client joins partway through. A human agent taking over a support conversation, a refreshed browser, and a second device all need the response generated so far, and depending on how the response was stored, that late joiner gets the full response, fragments, or nothing. This article compares four common ways to store a streamed response, what each one gives a late joiner, and what each one costs your team.

Do AI Agents Better

See how AI agents use Model Context Protocol (MCP) with FME to connect complex enterprise and spatial data to Snowflake. In this episode of Do It Better with Snowflake, Safe Software CEO Don Murray demonstrates how FME extends Snowflake Cortex AI Agents with FME workflows for data integration, transformation, and spatial analysis. See how Snowflake + FME can help you: Connect complex data: including GIS, CAD, 3D, LiDAR, BIM, ERP, and unstructured data.

Stop re-pasting context into AI prompts: Katalon AI Knowledge Base & more | Give It a Test

Katalon True Platform's September updates are here. Anh Chu (True Platform team) walks through what's new, including a Knowledge Base for Katalon AI: upload your project docs and glossary once, and stop pasting the same background notes into every prompt. In this episode: Plus honourable mentions: Jira custom fields in Requirements, cross-project dashboards, MailSlurp OTP support for the AI runner, and console logs in TrueTest Session Replay.

Reducing GitHub reliability risk for tool installs

You’ve probably encountered the online conversations about GitHub’s AI scaling challenges. A lot of the chatter is about how forgiving (or not) users should be to GitHub in light of inexorable traffic increases but also GitHub’s own decision-making. There is certainly irony in the fact that it was a swashbuckling GitHub, against the objections of many open source developers, that pressed Copilot on the industry.

Ep 95 | AI Agents Move Fast. Can Security Keep Up?

Your AI agent has credentials. Now, what happens when it goes off script? An agent can take action and change course before a traditional security review even begins. For Alex Bovee, identity is only the beginning of the security conversation. In this episode of The AI Forecast, Paul Muller sits down with Alex Bovee, co-founder and CEO of C1 and longtime cybersecurity and identity leader, to explore how autonomous AI agents are changing enterprise security.

Jeff McMillan on How to Think About AI and Jobs

AI and jobs… the topic that’s top of mind for everyone, yet most organizations are asking the wrong questions. The conversation usually starts with cost cutting: how do we reduce headcount, automate repetitive tasks, trim the budget? Jeff McMillan, founder of McMillanAI, thinks that's the wrong frame entirely. He shares what the better questions are in this clip from The Data & AI Chief podcast.