Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
152806 stories
·
33 followers

The GitHub problem (and other predictions) (Friends)

1 Share

Mat Ryer is back and he brought his impromptu musical abilities with him! We discuss Rob Pike vs thankful AI, Microsoft’s GitHub monopoly (and what it means for open source), and Tom Tunguz’ 12 predictions for 2026: agent-first design, the rise of vector databases, and are we about to pay more for AI than people?!

Join the discussion

Changelog++ members get a bonus 3 minutes at the end of this episode and zero ads. Join today!

Sponsors:

  • Namespace – Speed up your development and testing workflows using your existing tools. (Much) faster GitHub actions, Docker builds, and more. At an unbeatable price.
  • Notion – Notion is a place where any team can write, plan, organize, and rediscover the joy of play. It’s a workspace designed not just for making progress, but getting inspired. Notion is for everyone — whether you’re a Fortune 500 company or freelance designer, starting a new startup or a student juggling classes and clubs.
  • Squarespace – A website makes it real! Use code CHANGELOG to save 10% on your first website purchase.

Featuring:

Show Notes:

Something missing or broken? PRs welcome!





Download audio: https://op3.dev/e/https://cdn.changelog.com/uploads/friends/123/changelog--friends-123.mp3
Read the whole story
alvinashcraft
14 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Runing tSQLt Tests with Claude

1 Share

Running tSQLt unit tests is great from Visual Studio but my development workflow isn’t just write tests, run tests, fix tests, run tests anymore, it is 2026 and I am a big fan of using claude code to help me write more efficiently than I used to be with just a keyboard and mouse.

I was using claude and asked it to write tests, there were some errors and so I had to paste the error over to claude, let claude diagnose and then I had to rerun the tests and my first reaction was to wonder why I am even involved in this process? It should be that I tell claude what to do, it writes the code and the tests and then runs the tests to check it all works, there is no reason for me to copy and paste anything.

The post Runing tSQLt Tests with Claude appeared first on SQLServerCentral.

Read the whole story
alvinashcraft
15 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Symfony AI v0.2.0 Released: Feature Breakdown and Practical Guide

1 Share

If you still think PHP is limited to simple CRUD operations, you are officially out of the loop. The emergence of the Symfony AI component marks PHP's formal entry into the era of AI-native development.

Symfony AI v0.2.0 was officially released on January 10, 2026.

Version 0.2.0 is not just a simple version update; it brings features urgently needed for production environments, such as Failover, significant enhancements to the CLI tool Symfony Mate, and deep support for OpenRouter and VertexAI.

Below is a breakdown of the core updates in v0.2.0 and a practical guide to getting started.

v0.2.0 Core Updates at a Glance

This update focuses on the following key areas:

High Availability Enhancement: FailoverPlatform

In production environments, a single AI interface (like OpenAI) may experience fluctuations or downtime. The new version introduces FailoverPlatform, allowing the configuration of backup lines. When the primary interface is unresponsive, the system automatically switches to a backup platform (such as Azure or Anthropic), ensuring service continuity.

Mate Component Upgrades & Compatibility Expansion

The development assistant, Symfony Mate, has been significantly improved. CLI commands now include detailed descriptions to facilitate debugging. More importantly, v0.2.0 is backward compatible with Symfony 5.4 and 6.4, allowing teams maintaining older projects to also access AI capabilities.

Model and Platform Support Expansion

  • OpenRouter: Improved support for Streaming and Structured Output.
  • VertexAI: Added API Key authentication, simplifying the access process for Google Cloud.
  • Whisper: Supports verbose output mode, providing richer metadata for voice transcription.

Breaking Change

Special attention is required: The signature of the StoreInterface::add() method has changed. The variable-length arguments from the old version have been removed; you must now pass a VectorDocument object or an array. Relevant code must be modified synchronously during the upgrade.

Practical Guide: Building an Intelligent Q&A Service

The core design philosophy of Symfony AI is "Everything is Configurable". It abstracts complex AI logic through YAML files.

1. Install the Component

In your Symfony project (ensure your PHP environment is configured via ServBay):

composer require symfony/ai-bundle

2. Configure AI Services

Configuration in v0.2.0 is much more flexible. Below is a classic configuration example:

ai:
    # 1. Platform Definitions
    platform:
        primary_openai:
            openai:
                api_key: '%env(OPENAI_API_KEY)%'

        backup_azure:
            azure:
                gpt_deployment:
                    base_url: '%env(AZURE_BASE_URL)%'
                    deployment: 'gpt-4o-backup'
                    api_key: '%env(AZURE_KEY)%'
                    api_version: '2024-02-15-preview'

        # v0.2 New Feature: Failover Platform
        production_mix:
            failover:
                platforms: ['primary_openai', 'backup_azure']

    # 2. Agent Definitions
    agent:
        # Define a translation assistant
        translator_bot:
            platform: 'ai.platform.production_mix' # Use the failover platform defined above
            model: 'gpt-4o'
            prompt:
                text: 'You are a translation expert proficient in multiple languages. Please output the translation results directly without including extra explanations.'
                # If dynamic loading of prompts is needed: file: '%kernel.project_dir%/prompts/translator.txt'
            temperature: 0.3 # Control output randomness

3. Business Code Integration

Once configured, the AI Agent is automatically registered as a service. You can use it in a Service or Controller via dependency injection.

The following code demonstrates a service class that encapsulates the calling logic, receiving user input and returning the AI response.

<?php

namespace App\Service;

use Symfony\AI\Agent\AgentInterface;
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\Component\DependencyInjection\Attribute\Autowire;

final readonly class TranslationService
{
    public function __construct(
        // Inject the translator_bot defined in the configuration file via alias
        #[Autowire(service: 'ai.agent.translator_bot')]
        private AgentInterface $translator
    ) {
    }

    public function translateText(string $sourceText): string
    {
        // Build message context
        $conversation = new MessageBag(
            Message::ofUser($sourceText)
        );

        // Execute call
        $result = $this->translator->call($conversation);

        // v0.2 supports retrieving metadata, such as Token usage (requires platform support)
        // $usage = $result->getMetadata()->get('token_usage');

        return $result->getContent();
    }
}

Advanced Feature: Multi-Agent Collaboration

This is currently the hottest pattern in the AI field. For complex business scenarios, a single Prompt is often insufficient. v0.2.0 optimizes the Multi-Agent orchestration configuration, allowing requests to be distributed to different specialized Agents based on user intent.

Configuration Example:

ai:
    multi_agent:
        support_team:
            # Orchestrator: Responsible for analyzing user intent
            orchestrator: 'ai.agent.manager'

            # Handoff Rules: Automatic routing based on keywords
            handoffs:
                # Hand over to technical Agent for code or error keywords
                ai.agent.tech_lead: ['php', 'exception', 'debug', 'code']
                # Hand over to finance Agent for invoice or refund keywords
                ai.agent.finance: ['invoice', 'refund', 'payment']

            # Default fallback Agent
            fallback: 'ai.agent.general_faq'

In your code, simply inject ai.multi_agent.support_team to use this intelligent distribution system without manually writing routing logic.

Common CLI Tools

The Mate toolkit in v0.2.0 provides convenient command-line debugging functions:

Direct Dialogue Test: Test Agent performance directly in the terminal without writing code.

php bin/console ai:agent:call translator_bot

Platform Connectivity Test: Verify if the API Key and network connection are normal.

php bin/console ai:platform:invoke openai gpt-4o "System check"

Installing Symfony & Environment Requirements

Symfony has specific requirements for the PHP environment, needing PHP 8.4 or higher.

This can be deployed in one click via ServBay. ServBay is a robust tool for web dev environment management. It supports one-click configuration of the PHP environment as well as backend services required for vector storage like Redis and PostgreSQL, effectively avoiding distractions caused by environment configuration issues.

Summary

Symfony AI v0.2.0 is a release that moves from experimental to mature. The addition of the failover mechanism provides the foundation for production environments, while compatibility support for older Symfony versions expands its scope of application. Combined with infrastructure quickly built using ServBay, PHP developers can implement AI features in existing projects at a lower cost.

Read the whole story
alvinashcraft
15 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Claude Cowork Exfiltrates Files

1 Share

Claude Cowork Exfiltrates Files

Claude Cowork defaults to allowing outbound HTTP traffic to only a specific list of domains, to help protect the user against prompt injection attacks that exfiltrate their data.

Prompt Armor found a creative workaround: Anthropic's API domain is on that list, so they constructed an attack that includes an attacker's own Anthropic API key and has the agent upload any files it can see to the https://api.anthropic.com/v1/files endpoint, allowing the attacker to retrieve their content later.

Via Hacker News

Tags: security, ai, prompt-injection, generative-ai, llms, anthropic, exfiltration-attacks, ai-agents, claude-code, lethal-trifecta

Read the whole story
alvinashcraft
15 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Announcing Windows 11 Insider Preview Build 28020.1371 (Canary Channel)

1 Share
Hello Windows Insiders, today we are releasing Windows 11 Insider Preview Build 28020.1371 to the Canary Channel. (KB 5073097)

What’s new in Build 28020.1371

Fixes gradually being rolled out with toggle on*

This update includes a small set of general improvements and fixes that improve the overall experience for Insiders running this build on their PCs.

[Start menu]

  • Fixed an issue where selecting something from inside a folder of pinned items in Start menu, could lead to the whole folder becoming invisible in Start menu.

[File Explorer]

  • Fixed an issue causing File Explorer to show a white flash when navigating between pages for some Insiders after the previous flight.

[Input]

  • Fixed an issue where the keyboard character repeat delay in Settings > Bluetooth & Devices > Keyboard was backwards from how it was set in the backend.

[Other]

  • Fixed an underlying issue that could lead to your PC freezing where attempting to run Windows Terminal elevated from a non-admin account.
  • Fixed an issue where the Share dialog might unexpectedly show an option to share to Shell Experience Host.

Known issues

[General]

  • [NEW] The desktop watermark is showing the wrong build number.

Reminders for Windows Insiders in the Canary Channel

  • The builds we release to the Canary Channel represent the latest platform changes early in the development cycle and should not be seen as matched to any specific release of Windows. Features and experiences included in these builds may never get released as we try out different concepts and get feedback. Features may change over time, be removed, or replaced and never get released beyond Windows Insiders. Some of these features and experiences could show up in future Windows releases when they’re ready.
  • Many features in the Canary Channel are rolled out using Control Feature Rollout technology, starting with a subset of Insiders and ramping up over time as we monitor feedback to see how they land before pushing them out to everyone in this channel.
  • Some features may show up in the Dev and Beta Channels first before showing up in the Canary Channel.
  • Some features in active development we preview with Windows Insiders may not be fully localized and localization will happen over time as features are finalized. As you see issues with localization in your language, please report those issues to us via Feedback Hub.
  • To get off the Canary Channel, a clean install of Windows 11 will be required. As a reminder - Insiders can’t switch to a channel that is receiving builds with lower build numbers without doing a clean installation of Windows 11 due to technical setup requirements.
  • Check out Flight Hub for a complete look at what build is in which Insider channel.
Thanks, Windows Insider Program Team
Read the whole story
alvinashcraft
16 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Gates Foundation will cut up to 500 positions by 2030 to help reach ‘ambitious goals’

1 Share
The Gates Foundation headquarters in Seattle. (GeekWire Photo / Taylor Soper)

The Gates Foundation on Wednesday unveiled a record $9 billion operating budget for 2026 — which includes a plan to reduce its workforce by up to 500 positions over the next five years, or about a fifth of its current headcount.

The foundation’s board approved a cap on operating expenses of no more than $1.25 billion annually — roughly 14% of its total budget — prompting the cuts and other cost controls to align internal spending with that new limit.

The Seattle-based foundation said headcount targets and timelines will be adjusted year by year, and that it will continue to hire selectively for roles deemed critical to advancing its mission.

The decision comes after the foundation announced last year that it would shut down by 2045.

The philanthropy is the world’s largest and has already disbursed $100 billion since its founding, helping save millions of lives with its focus on global health and other social initiatives.

Bill Gates, the Microsoft co-founder who helped launch the Gates Foundation in 2000, announced plans in May to give away $200 billion — including nearly all of his wealth — over the next two decades through the foundation.

“The foundation’s 2045 closure deadline gives us a once-in-a-generation opportunity to make transformative progress, but doing so requires us to focus relentlessly on the people we serve and the outcomes we want to deliver,” Mark Suzman, CEO of the Gates Foundation, said in a statement. “Ensuring as much of every dollar as possible flows toward impact is critical to achieving our ambitious goals to save and improve millions more lives over the next 20 years.”

The foundation had already begun ramping up its grant making, issuing $8.75 billion in 2025, and previously committed to distribute $9 billion this year. It has a $77 billion endowment.

This year the foundation will increase spending in priority areas, including maternal health, polio eradication, U.S. education, and vaccine development.

The increase in funding commitments comes amid Trump administration cuts to global foreign assistance, its shutdown of the U.S. Agency for International Development (USAID), and broader reductions in funding for health and scientific research.

In his annual letter released last week, Gates wrote that “the thing I am most upset about” is that the number of deaths of children under 5 years old increased in 2024 for the first time this century, which he traced to cuts in aid from rich countries.

“The next five years will be difficult as we try to get back on track and work to scale up new lifesaving tools,” he wrote. “Yet I remain optimistic about the long-term future. As hard as last year was, I don’t believe we will slide back into the Dark Ages. I believe that, within the next decade, we will not only get the world back on track but enter a new era of unprecedented progress.”

Read the whole story
alvinashcraft
1 hour ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories