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

Cursor capitalizes on GitHub frustration, launches rival hosting platform

1 Share
Cursor, known for its AI Code Editor, is launching a new code-hosting platform to rival developers' long preferred favorite, GitHub.
Read the whole story
alvinashcraft
50 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Interviews are better with Behavioral Questions

1 Share

I spent 21 years at Microsoft interviewing people. I asked why manhole covers are round. I asked coding questions. We used behavioral questions some of the time; a good interviewer would ask “tell me about a time” and actually listen. We also asked “tell me about yourself” and “how do you handle disagreements with others,” and then decided whether we thought the person was smart and liked them. It was not a mechanism, it was instinct. Some of us had good instincts. That is not the same thing as a scalable mechanism.

Within weeks of joining Amazon I saw the difference. Same job, completely different mechanism. You walk in with assigned leadership principles, two or three behavioral questions you actually intend to ask, and a bar you are supposed to raise. You write down what the candidate did, not how they made you feel. The debrief is about evidence. Amazon made conscious what I had been doing, inconsistently, for two decades.

Open-ended questions collect opinions and theater. Behavioral questions collect evidence.

This is not a new argument. Schmidt and Hunter summarized 85 years of selection research across 19 ways companies try to predict who will do the job. Structured interviews sit near the top, with a validity of .51. Unstructured interviews sit well below that at .38, and they wrote that carelessly run ones are worse still. Google’s hiring research says the same thing, and Laszlo Bock wrote it down: in the first minutes you make a snap judgment, then you spend the rest of the hour hunting for evidence that you were right. Psychologists call that confirmation bias. Interviewers call it “I just didn’t get a good feeling.”

Campion compared past-behavior questions to future-oriented “what would you do” questions. The past-behavior questions won. The candidate who tells you what they did is giving you data. The candidate who tells you what they would do is giving a performance.

I put all the behavioral interview questions I have collected and used over the years on the internet, so you have no excuse to not use them.

kindel.com/biq is an interview-prep tool. Select the principle you want to test and you get example questions and guidance. If you already know a listed company’s principles, pick that company and use those names. Or type the principle you care about in your own words. There are over 200 questions in it, the ones I have used and collected over the years.

Each question has hire and no-hire example sheets at Junior, Senior, and Exec. A raise-the-bar interview and a lower-the-bar interview, with a transcript, interviewer notes, and the scorecard writeup. The examples were generated from dozens of real interview notes and debriefs I anonymized and fed into an LLM with a tuned prompt.

The questions, the prompt that writes the examples, the generator, and a standalone site you can run yourself are open source at kindel/biq. kindel.com/biq is the hosted version. If you want to see exactly how a hire-level answer and a common no-hire answer get written, read the prompt. To add another company’s principles, open an issue on kindel/principles. Feel free to make it better and submit a PR.

I use it the way I learned to after Microsoft. The hiring manager assigned two or three principles and I picked two or three questions to ask per principle. When asking, I’d push the candidate to prefer a time he or she did the work over an opinion.

If you want the philosophy behind why hiring is the work, that is Hiring First. Everything Else Second. The interview craft (killing opinions and theater, becoming a bar raiser, running a debrief that is not a popularity contest) is in my training curriculum.

The bank is here: https://kindel.com/biq/. As usual, I’d be interested in hearing feedback or pushback.

The post Interviews are better with Behavioral Questions first appeared on tig.log.
Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Using Microsoft Graph to bulk delete file version history

1 Share
SharePoint versioning is invaluable until it quietly consumes massive amounts of storage. This post explores how large files, especially PowerPoint presentations, can balloon through version accumulation, why existing limits often fail to address historical growth, and how an undocumented Microsoft Graph API DELETE endpoint can rapidly purge unwanted file versions at scale.
Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

I’ve Been a Flutter GDE for 8 Years. Here’s the Ground Truth on “Flutter is Dying”

1 Share

Every few months, like clockwork, the tech blogosphere gets flooded with the same recycled headline: “Is Flutter Dying?”, “Why CTOs Are Quietly Leaving Flutter”, or “Why Google is Killing Its Cross-Platform Bet.”

As someone who has been a Flutter Google Developer Expert for eight years now—literally from day one of the GDE program—and a five-decade software industry veteran, I usually just chuckle at the clickbait.

“Flutter is dead.”Said every six months since 2018.

Meanwhile: Flutter is kicking tail on every single measurable scale.

The alarmist articles point to standard corporate reorganizations, shifting tech job boards, and "state management fatigue" as evidence of Flutter’s demise. But having watched this ecosystem evolve from an experimental alpha into an enterprise powerhouse, the reality on the ground is the exact opposite.

Here is the real insider story on what’s actually happening with Dart and Flutter.

1. The Inside Story: What Happened at Google?

When tech companies restructured engineering teams recently, the internet spun a wild narrative that "Google put Flutter on life support."

Having direct access to internal teams, I watched the commitment to Dart and Flutter remain steadfast within the organization. However, there was a temporary disconnect: internal engineering activity was roaring, but external communications and public advocacy had slowed down, leaving an information vacuum that clickbait writers eagerly filled.

I personally called out to team leaders and senior VPs that this perception gap needed immediate correction.

And the leadership responded strongly:

  • Revitalized DevRel & Advocacy: A renewed surge in active community engagement, tutorials, and public roadmaps.
  • Enterprise Adoption Transparency: Showcasing massive internal and external production milestones.
  • Aggressive Core Investment: Deep work on the Impeller rendering engine, Dart 3.x ergonomics, WebAssembly (Wasm) compilation, and native multiplatform performance.

Flutter is not a side project at Google; it powers critical business apps across Google (Google Ads, Google Pay, Family Link, Google Classroom) and continues to see deep infrastructure investment.

2. The "Hiring Paradox": Why Flutter Job Postings Look Different

Critics often point to public job boards and claim, "Look, there are fewer Flutter job postings than native Android or iOS!"

What they fail to realize is how enterprises actually adopt Flutter:

When an enterprise migrates to Flutter, they rarely post 10 new external job listings. Instead, they merge their existing 5-person iOS team and 5-person Android team into a single, unified Flutter team—often cutting total hiring demand in half while doubling feature velocity.

Flutter's sheer efficiency is what creates the illusion of fewer job listings.

And when greenfield Flutter positions do open up, junior applicants aren't competing in a vacuum—they are competing against senior mobile engineers with a decade of native iOS and Android experience who upskilled into Flutter. That’s not a sign of a dying framework; that’s a sign of a mature, competitive engineering discipline.

3. "State Management Fatigue" Is a Solved Problem

Another frequent complaint is that Flutter has "too many state management libraries."

Yes, Flutter gave developers freedom. And over the years, the community experimented with everything from ScopedModel and Provider to BLoC, MobX, and Riverpod.

2018 (Streams & Microtasks): Heavyweight stream controllers and async microtask queues.

2020 (Provider & Codegen): Context lookups, code generation, and complex lifecycles.

2026 (Signals & Modern BLoC): Fine-grained reactivity, 0ms synchronous updates, and zero boilerplate.

That evolution isn’t a sign of fragmentation—it’s the natural progress of modern software engineering. We learned what worked (unidirectional data flow, state machines, fine-grained reactivity) and discarded what didn't (excessive code generation, microtask queue latency, and lingering build dependencies).

Today, with modern solutions like pure Dart Signals and frameworks like BlocSignal, state management in Flutter is faster, more synchronous, and more reliable than it has ever been.

4. The Measurable Reality: Flutter is Kicking Tail

If you want to know whether a framework is healthy, look at the cold, hard data:

  • Play Store / App Store Presence: Over 1,000,000+ Flutter apps published and growing rapidly.
  • Rendering Engine: Impeller delivers flawless 60/120fps GPU pipelines, eliminating shader jank once and for all.
  • Web Performance: Wasm compilation brings near-native performance to the browser.
  • Universal Reach: Seamless execution across iOS, Android, macOS, Windows, Linux, Embedded, and Web (via Jaspr).
  • Language Evolution: Modern Dart 3.x delivers sealed classes, pattern matching, records, and primary constructors.

The Bottom Line

Every successful technology goes through the classic hype curve:

  1. The Novelty Phase (Everything is magic!)
  2. The "Trough of Disillusionment" (Clickbait writers declare it dead when the initial hype normalizes)
  3. The Plateau of Productivity (Enterprises quietly build profitable, massive-scale products with it every day)

Flutter is firmly in the Plateau of Productivity. It is mature, stable, blazingly fast, and supported by one of the most vibrant developer communities in software history.

So the next time you see a headline asking "Is Flutter Dying?"... smile, close the tab, and go build something great. 🚀

Randal L. Schwartz is a Google Developer Expert (GDE) in Dart and Flutter, author of numerous classic programming books, five-decade software industry veteran, and Project Lead for the BlocSignal ecosystem.

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

Announcing AppxManifest IntelliSense Support in the WinApp VS Code Extension

1 Share

Decorative header

The WinApp VS Code extension exists to make Windows app development feel at home in VS Code. It brings the Windows App Development CLI right into the editor, so you can initialize, run, debug, define the identity of, package, and sign Windows apps built with .NET, WPF, WinUI, C++, Electron, Rust, Tauri, or Flutter, all without switching tools.

Get it now: Install the WinApp extension from the VS Code Marketplace.

We’re excited to announce the release of v0.3.0. This release brings schema-aware IntelliSense to your manifest files, adds workspace search to the commands that require a file or folder, and includes a bunch of other feature and reliability improvements.

IntelliSense for AppxManifest

Your AppxManifest.xml (or .appxmanifest) declares your app’s identity, capabilities, dependencies, and activation. In v0.2 we shipped a visual editor, a user-friendly form for editing and validating manifest files.

With v0.3.0, we’re introducing support for AppxManifest IntelliSense in VS Code. The extension bundles the AppxManifest XSD schemas from the Windows SDK and parses your manifest as you type, offering autocomplete suggestions and flagging errors the moment the manifest becomes invalid. AppxManifest IntelliSense in the WinApp extension supports:

  • Element autocompletion: IntelliSense suggests valid elements such as Identity or uap:VisualElements based on your cursor position and the contents of your manifest
  • Attribute autocompletion: IntelliSense suggests the attributes the current element supports, sorting required attributes to the top and hiding ones you’ve already set
  • Value autocompletion: IntelliSense suggests the allowed values for attributes that accept a fixed set
  • Hover documentation: IntelliSense shows the schema’s own description of an element or attribute, along with its type, whether it’s required, and what it accepts
  • Diagnostics: IntelliSense reports missing required elements and attributes, invalid values, format and length violations, misplaced elements, and malformed XML inline as you edit
  • Go to Definition: IntelliSense resolves any element to its schema definition, reachable with F12 or Ctrl+Click

Decorative header

The text editor and the visual editor now share the same schema model and validation rules. Moving between them is a single click. Open a manifest in the text editor and you’ll find a new button in the upper-right corner of the editor title bar that opens it in the WinApp visual manifest editor.

VS Code application open to a Package.appxmanifest file. Error displayed over file text alerting user that their version attribute has an invalid value. In the upper right corner of the text editor a markup arrow points to the Open Manifest Editor button

Getting started is nothing more than opening any AppxManifest.xml or .appxmanifest in the VS Code text editor. IntelliSense is on by default when the WinApp extension is installed.

For more information about manifest IntelliSense, visit the AppxManifest IntelliSense documentation.

Less File Hunting

WinApp commands that need a file or folder used to open a native file dialog straight away, leaving you to navigate to your build output, package, or certificate by hand.

In v0.3.0, those commands search your workspace first and present matching candidates in a Quick Pick:

Command What appears in the Quick Pick
WinApp: Create MSIX Package Lists build output folders containing an .exe
WinApp: Run Application Lists build output folders containing an .exe
WinApp: Sign File Lists MSIX/APPX packages, .exe, and .dll files, then the .pfx certificates to sign them with

If the file or folder you’re after isn’t listed, every Quick Pick ends with a Browse… option that opens the familiar file dialog.

VS Code application open. Command palette is open showing a quick pick of build output folders to choose from along with a browse option.

For more information about the WinApp commands, visit the Command Palette documentation.

More Improvements in v0.3.0

New Commands

  • WinApp: Open Manifest Editor is now available from the Command Palette. Select a manifest in your workspace to open it in the manifest visual editor.
  • WinApp: Sign Package is now WinApp: Sign File, reflecting that it signs .exe and .dll files as well as packages.

User Experience

  • WinApp: Create MSIX Package now reports back when it finishes. A notification names the package that was produced and offers Reveal in Explorer, Sign (which starts the signing flow with the package already filled in), and Install (which sideloads it with Add-AppxPackage).
  • Packaging a self-contained app compares the architecture of your build output against your machine’s. If they don’t match, a warning now appears with the option to continue anyway.
  • Pressing F5 now checks whether the debugger extension your project needs is installed. If it isn’t, a prompt names the missing extension and offers to install it before continuing the session.
  • File and folder searches in the pack, run, and sign commands run behind a cancellable progress notification.
  • Installing a certificate no longer fails with “access denied” when VS Code isn’t running as administrator. Trusting a certificate in the machine store requires elevation, which is now requested with a UAC prompt.

Reliability

  • Fixed the WinApp debug adapter handshake during F5 sessions.
  • The winapp run process is no longer left running in the background when a debug session fails to start or tears down unexpectedly.
  • A relative workingDirectory in launch.json now resolves against your workspace folder instead of the extension host’s working directory.
  • An inputFolder configured in launch.json is validated before launch. If it’s missing, isn’t a directory, or contains no .exe, you get a clear error rather than an unexplained fallback to a folder picker.

Get Started

The WinApp VS Code extension is available in public preview on the Visual Studio Code Marketplace.

Install from VS Code:

  1. Open VS Code
  2. Go to the Extensions view (Ctrl+Shift+X)
  3. Search for WinApp
  4. Click Install

Or from the command line:

code --install-extension Microsoft-WinAppCLI.winapp

Requirements:

  • Windows 10 or later
  • Visual Studio Code 1.109.0 or later
  • For debugging, the debugger extension matching your app’s language (C#, C/C++, or built-in Node.js)

We Want Your Feedback

This is still a public preview, and your feedback directly shapes what we build next. Whether IntelliSense is missing a manifest scenario you rely on, a command didn’t surface the file you expected, or you have an idea to make the workflow smoother, we want to hear it.

Happy coding!

The post Announcing AppxManifest IntelliSense Support in the WinApp VS Code Extension appeared first on #ifdef Windows.

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

MBW 1038: The Silicon-Controlled Rectifier - Will Apple's Upcoming Folding iPhone Cost A lot?

1 Share

The recent public betas for iOS 27, macOS 27, and iPadOS 27 are available. What Tim Cook hopes others will view as his legacy as Apple's CEO. Apple proposes commissions of up to 15% for off-App Store purchases in the US. And will the iPhone 18 skip the fall launch?

  • Apple releases public beta 4 for iOS 27, macOS 27, iPadOS 27, tvOS 27.
  • Here's what's new with iOS and macOS 27 beta 6.
  • iOS 26.6.1 has fixes for 20+ security issues on iPhone.
  • Tim Cook on his Apple legacy: 'I hope people say I was a good and decent man'.
  • macOS Tahoe 26.7 beta references several unreleased products like Home Hub.
  • Apple's camera-equipped AirPods confirmed.
  • Apple proposes commissions of up to 15% for off-App Store purchases in the US.
  • Apple announces changes for apps in the European Union.
  • It looks like Apple's iPhone 18 really will skip the fall launch this year.
  • Leaker details A20 Pro chip's new speed gains.
  • Apple's Back to School offers have been extended, but you can do much better.
  • Apple in talks to pay publishers to improve AI-powered Siri.
  • Apple's China AI strategy now includes training its own custom model.
  • Apple sends fresh wave of mercenary spyware warnings worldwide.
  • Golf's US Open Championship could come to Apple TV in latest sports bid.
  • Jessica Chastain says Apple TV will finally release 'The Savant' after postponement following Charlie Kirk assassination: 'We're going to see it'.

Picks of the Week

  • Andy's Pick: SuperDuper! 4
  • Christina's Pick: Sony MDR-7506
  • Jason's Pick: Unforgetful

Hosts: Leo Laporte, Andy Ihnatko, Jason Snell, and Christina Warren

Download or subscribe to MacBreak Weekly at https://twit.tv/shows/macbreak-weekly.

Join Club TWiT for Ad-Free Podcasts!
Support what you love and get ad-free audio and video feeds, a members-only Discord, and exclusive content. Join today: https://twit.tv/clubtwit

Sponsors:





Download audio: https://pdst.fm/e/pscrb.fm/rss/p/mgln.ai/e/294/cdn.twit.tv/megaphone/mbw_1038/ARML9390741515.mp3
Read the whole story
alvinashcraft
52 minutes ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories