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

After Six Years Of Work and Over 360 Patches, Linux 7.2 Finally Removes Bug-Prone strncpy

1 Share
Tech Times reports: Linux 7.2's merge window closed out a cleanup campaign on Friday that most kernel developers had stopped expecting to see end: the complete removal of strncpy(), a C string-copy function that the kernel's own documentation labels "actively dangerous," from every subsystem, driver, and architecture-specific file in the kernel source tree. The merge landed June 20, 2026. After around 362 commits spread across six years of incremental work, no call site using the function remained, and the function itself — including the last per-CPU-architecture optimized implementations — was struck from the source. The removal matters beyond housekeeping. strncpy() is a persistent source of a specific class of memory error: kernel buffers that contain sensitive data can leak bytes past an unterminated string boundary, a pattern that enables memory disclosure vulnerabilities. Eliminating the function from the tree removes that entire class from the kernel's attack surface — and, critically, makes strncpy() unavailable to any future contributor, turning a best-practice suggestion into an enforced policy. Phoronix notes it's replaced by five different functions: In place of strncpy, Linux kernel code should use strscpy() for NUL terminated destinations, strscpy_pad() for NUl-terminated destinations with zero-padding, strtomem_pad() for non-NUL-terminated fixed-width fields, memcpy_and_pad() for bounded copies with explicit padding, or memcpy() for known-length memory copies. "The reason five functions were needed," explains Tech Times, "is that different parts of the kernel were using strncpy() for five semantically distinct memory operations — each with a different intent, different termination requirement, and different padding behavior. " The original function obscured all of those differences under a single ambiguous name. The 362-commit campaign to replace it was, in effect, a codebase-wide audit that forced every call site to declare its actual intent in code That is an engineering outcome with lasting value: the kernel's string-handling semantics are now explicit where they were previously implicit, and future maintainers can read a function name and understand what a copy operation actually does.

Read more of this story at Slashdot.

Read the whole story
alvinashcraft
18 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Tested: Microsoft just debloated Windows 11 Search without Bing, and it’s crazy fast

1 Share

Windows 11’s Search is getting a long-overdue option to completely remove web results, and it is now hidden inside Insider Experimental build 26300.8697, the first build to carry Windows 11 version 26H2. With the toggle turned on, Search is noticeably faster, the panel is cleaner, and local results take over without Bing pushing its way in.

New Search in Windows 11 without web results

Windows Latest first reported in May that Microsoft was working on changes to deprioritize web results in Windows Search. More details followed in our June 7 report on the dedicated toggle being developed. Microsoft officially confirmed the feature on June 18, noting it will also improve Search performance since it no longer waits on web round-trips.

Here is everything we found.

How Windows 11 Search looks and feels without web results

Web Searches and Microsoft Store toggles are present in a new section called “Show suggested search results” in the Windows Search Privacy & security settings page. You can also access it from the Gear icon on the top right of Windows Search.

new toggles to turn off Web Searches and Microsoft Store in Windows Search

Even before turning off the toggles, Windows Search doesn’t show any MSN content, top apps, and trending searches, as it defaulted to before. However, since my Search history toggle is on, it is still showing my past web searches.

Windows Search is not showing MSN content or recommended contentWe have been complaining for quite a while that Microsoft needs to stop showing recommended content and searches in Search, and it looks like they have finally listened. But I’m not sure if this will be the default state when the changes come to all Windows 11 PCs. Also, turning off the Search history toggle just shows some Suggested apps and Windows settings.

Windows Search before and after getting new update

Keeping the Search history toggle turned on, I turned off the toggle for Web Searches, and opening Windows Search now shows my Recent app searches and Settings searches only.

Windows Search after turning off Web Searches

What’s amazing is that the mere lack of web suggestions, along with some Low Latency Profile magic, Windows Search opens faster than ever before. Note that this is an underpowered PC with dual cores and 4GB RAM running Insider Build.

Windows Search opens very fast now

Turning off Search history toggle in the settings page makes Windows Search show just the Suggested apps and settings:

Turning off Search history shows Suggested apps and settings in Windows Search

Searching for a term like “pdf” in the current stable Windows 11 build shows a Bing web result for PDF as the main highlight, with PDF editors from Microsoft Store above your local files. With the toggle off, the Best match immediately shows a local PDF file, the file type, last modified date, location, and quick actions like Open, Open file location, and Copy path. The Microsoft Store section appears below with PDF-related apps you haven’t installed, but web results are completely gone.

Before and after disabling web search in Windows Search

Content indexing also works well now. Searching “motorola” on current stable Windows 11 floods the panel with web results. With the toggle off, the Best match becomes a local text file, which only shows up because its content includes the word “motorola.” The file location is shown at C:\Users\abhij\Downloads, along with the last modified time, and it shows the relevance of the search as content related to “Motorola” found. Web results are nowhere to be seen.

Windows Search shows a local file with content indexing

Microsoft Store results can also be turned off separately in Windows Search

It’s great that the Web Searches and Microsoft Store toggles work independently. With Web Searches off but Microsoft Store still on, searching “call of duty” shows Call of Duty Warzone from the Store as the Best match, with more Store listings below. The preview panel even shows the Store page with the Get button, ratings, and game screenshots.

Searching for Call of Duty with Web Searches off and Microsoft Store search on

This is the way Search is supposed to be, and I will continue using Search with Microsoft Store enabled, just because the new update makes finding apps from the Store easier with Search.

Turn the Microsoft Store toggle off as well, and searching “call of duty” returns “No results found for ‘candy.'” Since there is no locally installed app or file matching that term and no Store or web source to pull from, Search comes up empty. If you want a strictly local experience with no unsolicited app suggestions, that is exactly the correct behaviour.

Windows Search shows no results for a query after disabling Web Searches and Microsoft Store

The Store toggle addresses a separate complaint that had been building since Microsoft added Store integration to Windows Search. When you search for something you don’t have installed, Search suggests Store downloads with a Get button inline. Some users find it useful; others see it as Search being used as a sales channel. Now you can turn both off independently.

In case you’re wondering, searching for Windows settings also works with both toggles turned off:

Searching Settings in Windows Search

Also, the sheer improvement in Windows Search is compelling me to say it again that Windows Search with web results and Microsoft Store results turned off is by far the fastest version of Search I have felt in Windows. And I’m not talking about just Windows 11!

How to enable the hidden Windows Search toggle in Windows 11 build 26300.8697

The feature is hidden behind feature flags in Insider Experimental build 26300.8697 released on June 19, 2026. It is not rolling out to all Insiders automatically yet. On X, Microsoft watcher Phantomofearth shared the ViveTool IDs needed to force-enable it.

You need to download ViveTool from GitHub, extract it, and run Command Prompt as administrator. Then navigate to the folder where you extracted ViveTool and run the following command:

vivetool /enable /id:61267302,61344081,61482515,61532758,61760679

How to enable Windows 11 Search to disable web results and Microsoft Store results

If the new experience does not appear after restarting, @phantomofearth notes that feature ID 48433719 must also be enabled, which it should be on most Experimental channel installs already. You can verify or enable it with:

vivetool /enable /id:48433719

After restarting, go to Settings > Privacy & security > Search and the “Show suggested search results” section with the Web Searches and Microsoft Store toggles should be visible. The feature is still experimental, so behaviour may vary between systems.

toggle to turn off web searches and Microsoft Store searches in Windows Search

Turn off these toggles to experience Search without Bing.

Note that ViveTool is a third-party tool not supported by Microsoft and should be used at your own risk on Insider builds only.

More Windows Search improvements coming to Windows 11 in 2026

Windows Search is getting faster and more reliable too. As we reported last week, Windows Search is also getting typo forgiveness for app queries in Insider build 26300.8687. Typing something like “pwerp” now shows PowerPoint, and “tskm” finds Task Manager. Before this, spell-check in Windows Search was only applied to Bing web queries, never to local apps or files.

Windows Search shows Task Manager with wrong spelling

Search improvements have also already shipped to stable users via the June 2026 update (KB5094126). Search now triggers file results after just two characters instead of three, and substring matching for compound file names is in testing in Insider builds.

Searching files with just two characters
Searching files with just two characters

But there are more interesting things happening in the background. Microsoft is pulling back on its account and service lock-in across products. Microsoft Account requirements are being softened across products and removing Bing from Windows Search follows this pattern of the software giant giving users more control over their Windows experience instead of using the OS as a pipeline for Microsoft services.

As we noted in our comparison of Windows 10 and Windows 11 taskbars, the latter is also gradually getting more control back to users, making Windows Search feel more personal.

New Windows 11 Search in vertical taskbar with web results turned off

While Windows Search panel with no web results makes for a very welcome upgrade, what I also want is for Microsoft to make the Search UI itself less crowded by default as the web experiences make it feel inferior.

How Windows Search looks currently

As of now, we have no official word on when these Search improvements are coming to regular Windows 11 users, but seeing the experience is as polished as expected, I expect to see them sooner rather than later.

The post Tested: Microsoft just debloated Windows 11 Search without Bing, and it’s crazy fast appeared first on Windows Latest

Read the whole story
alvinashcraft
31 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Week in Review: Most popular stories on GeekWire for the week of June 14, 2026

1 Share

Get caught up on the latest technology and startup news from the past week. Here are the most popular stories on GeekWire for the week of June 14, 2026.

Sign up to receive these updates every Sunday in your inbox by subscribing to our GeekWire Weekly email newsletter.

Most popular stories on GeekWire

Read the whole story
alvinashcraft
51 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Links For You (6/21/26)

1 Share

Greetings and salutations, readers. It's been a few weeks since I shared one of these, mostly due to the job search being somewhat exhausting, but I've got a backup of links so it's time to get back in the habit. And of course, it's Father's Day and I want to wish all the dads out there (myself included) a very happy father's day. This weekend I got to officiate my first wedding (for my brother-in-law and his fiance) so my plan today is to do... nothing. Enjoy your links!

Mastodon and Translation with Chrome AI

First up is a presentation by Thomas Steiner demonstrating Chrome built-in AI APIs doing language detection and translation for Mastodon. I'm a pretty big fan of those APIs (my last presentation was on them!) so I enjoyed this quite a bit. Thomas has been a big help with my demos and posts on these APIs and is a scary smart dev.

Play Video

Datatype - Text into Charts

Next is Datatype, a font that creates charts. Seriously. For example:

Sales {l:20,45,60,55,80,95} are up this quarter.

And this was driven by CSS and text:

<style>
@font-face {
  font-family: 'Datatype';
  src: url('https://static.raymondcamden.com/fonts/Datatype-Regular.woff2') format('woff2');
  font-weight: 100 900;      /* Variable weight axis */
  font-stretch: 0% 100%;     /* Variable width axis */
  font-display: swap;
}

.chart {
  font-family: 'Datatype', monospace;
}
</style>

<span class="chart">{l:20,45,60,55,80,95}</span>

It supports bar charts, sparklines, and pie charts. As it's just text, in theory it would be easy to animate and make it 'live' with just a bit of JavaScript.

You Don't Know HTML Lists

Finally there's a spectacular deep dive into HTML lists by Frank Taylor, You don't know HTML lists. You know this is going to be a great article with a sentence like this in the intro:

"We're skipping over the MDN and W3Schools introductory pages and instead we're going into the kind of stuff you discover after accidentally taking your cousin's Ritalin right before you open up the W3C specs."

I knew maybe... half of this? Maybe a bit more? Either way, it's a damn good investigation into a part of HTML you may not know even got that complex.

Just For Fun

Looking for your next read? Are you mostly through your current book and getting a bit of anxiety over whether or not you'll have your next read as soon as you finish? Good news, you're in luck. I've spoken about Scott Stroz in the past (and linked to some of his cool blogs too), he's one of my oldest, and best friends. He's a father as well to two incredible kids, one of which just released his first novel, "The Dreaded."

The Dreaded cover

Tyler's shared some of his works for me in the past so as soon as this one became available, I went ahead and purchased a copy for myself. Grab your copy today - available on Kindle, paper and hardback.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Making A Guided Animated Tour For A Blazor App

1 Share
On Reddit I saw the following post:   The Github project is at: https://github.com/MiracleFoundation/GuideFlow   The project has excellent documentation: https://miraclefoundation.github.io/GuideFlow/   These days good documentation is all you need to supply your AI with the information it needs to leverage any library or tool. I decided to make a guided tutorial for my Blazor RFP Response Creator app located at: https://github.com/BlazorD
Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Migrating Agentic Code Python -> C# Part 4

1 Share

In the previous blog post we looked at the Blogger (orchestrator) code in C#. Let’s move on to some of the other agents.

The Blogger invokes the Researcher, so let’s go there next.

The Researcher class is created with an IChatClient (the principal object for llms), a set of options and the search tool (Tavily)

using System.Text.Json;
using Microsoft.Extensions.AI;

namespace BlogMigration;

/// <summary>Creates a researcher agent that uses Tavily search.</summary>
public class ResearcherAgent(IChatClient llm, ChatOptions chatOptions, AIFunction tavilyTool) : IResearcherAgent
{

The main method is InvokeAsync which gets a copy of the query and uses Tavily to search the web using that query. The results are JSON, and the next step is to extract a JsonDocument object by parsing these results.

try
        {
            object? searchResult = await tavilyTool.InvokeAsync(
                new AIFunctionArguments { ["query"] = query });

            string searchJson = searchResult switch
            {
                JsonElement je => je.ValueKind == JsonValueKind.String ? je.GetString() ?? "{}" : je.GetRawText(),
                string s => s,
                _ => searchResult?.ToString() ?? "{}"
            };

            var formattedResults = new List<string>();

            using (JsonDocument document = JsonDocument.Parse(searchJson))
            {
                if (document.RootElement.TryGetProperty("results", out JsonElement results)
                    && results.ValueKind == JsonValueKind.Array)
                {
                    foreach (JsonElement result in results.EnumerateArray().Take(3))
                    {
                        string title = result.TryGetProperty("title", out JsonElement t) ? t.GetString() ?? "Untitled" : "Untitled";
                        string url = result.TryGetProperty("url", out JsonElement u) ? u.GetString() ?? "N/A" : "N/A";
                        string content = result.TryGetProperty("content", out JsonElement c) ? c.GetString() ?? "" : "";
                        string snippet = content.Length > 250 ? content[..250] : content;
                        formattedResults.Add($">>{title}\nSource: {url}\n{snippet}...\n");
                    }
                }
            }

            string rawOutput = formattedResults.Count > 0
                ? string.Join("\n", formattedResults)
                : "No results found";

We next instruct the llm using a system prompt, passing in the raw output we just created. We get back the summary of the findings and if that is not empty we return it.

           string summaryPrompt = $"""
                Based on these search results about '{query}',
                provide a concise summary of key findings:
                {rawOutput}
                """;

            ChatResponse summaryResponse = await llm.GetResponseAsync(summaryPrompt, chatOptions);
            string summary = summaryResponse.Text;

            return !string.IsNullOrEmpty(summary) ? summary : rawOutput;

Finally, we handle any exceptions raised

       catch (Exception e)
        {
            Console.WriteLine($"Research error: {e.Message}");
            return $"Research completed on: {query}. Key information has been gathered from web sources.";
        }
 

As we did with Blogger, we also create a Node, passing in the state and getting back the updated state.

   public async Task<ResearchState> ResearchNodeAsync(ResearchState state)
    {
        Console.WriteLine("\n>>>RESEARCHER");

        string subTask = !string.IsNullOrEmpty(state.CurrentSubTask) ? state.CurrentSubTask : state.MainTask;
        Console.WriteLine($"Researching: {subTask}");

        string findings;
        try
        {
            findings = await InvokeAsync(subTask);
            string preview = findings.Length > 100 ? findings[..100] : findings;
            Console.WriteLine($"Found: {preview}...");
        }
        catch (Exception e)
        {
            Console.WriteLine($"Research error: {e.Message}");
            findings = $"Research on {subTask} - information gathered";
        }

        state.ResearchFindings.Add(findings);
        return state;
    }

In the next blog post we’ll look at the Author

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