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

Microsoft confirms it’s not launching Windows 12, as it teases a big announcement

1 Share

The tech industry spent the last few days buzzing with intense speculation about a new desktop OS from Microsoft. Numerous publications suggested that the software giant would finally unveil Windows 12 at the upcoming Build 2026 developer conference. The rumor mill reached a boiling point when a highly coordinated social media campaign teased a fundamental shift in computing. I followed the breadcrumbs closely as the clues unfolded over the last forty-eight hours, and the reality is far more exciting than a simple software update.

Build 2026

Pavan Davuluri currently leads both the Windows and Surface divisions at Microsoft. He stepped in to manage expectations and prevent any misplaced disappointment. In a definitive statement accompanying a hardware teaser image, Davuluri confirmed that the upcoming announcements do not feature a new operating system version. The highly anticipated Windows 12 is officially off the table for the immediate future.

Pavan Davuluri's tweet dismissing Windows 12 while teasing a likely Surface hardware

Instead, we are standing on the precipice of a massive hardware paradigm shift. Microsoft is supposedly orchestrating a tri-party alliance to fundamentally break the traditional x86 monopoly and bring high-performance gaming and AI locally to the ARM architecture.

Forget Windows 12 because the NVIDIA N1X chip will launch “A new era of PC”

The speculation frenzy began when the main Windows handle and the official NVIDIA account posted the phrase “A new era of PC” simultaneously.

NVIDIA and Windows share A new era of PC at the same time, along with coordinates of NVIDIA Computex keynote

The number of views alone tells the buzz it generated. Arm’s official handle followed with the same post a few hours later. MediaTek joined the conversation even later with a quote repost of the initial NVIDIA announcement.

Mediatek posts coordinates with The Future Of PCs

The geographical coordinates of 25.0528, 121.5990 map out to the Taipei Music Center in Taiwan, which is the physical venue for NVIDIA CEO Jensen Huang’s highly anticipated Computex keynote on June 2.

We all know NVIDIA to be the undisputed champion of gaming GPUs, but for the past few years, the world’s most valuable company became that way by selling AI-focused H100 and B200 “Blackwell” GPUs. And, if you haven’t been living under a rock made of sand and quartz, you might have heard that NVIDIA is building an incredibly powerful ARM silicon codenamed the N1X in partnership with MediaTek.

A new era of PC begins with Surface?

NVIDIA can design an incredibly capable system on a chip, but the silicon requires a high-end flagship platform to demonstrate its real-world benefits to consumers. Interestingly, the Windows and Devices lead, Davuluri’s post came just a couple of minutes after the post by NVIDIA. But it didn’t end there, as Marcus Ash, who leads Design and Research for Windows + Devices, welcomed Surface Product Lead Andrew Hill to the “tweets”, which was also posted a few minutes after the coordinated social media post about “A new era of PC.”

Marcus Ash introduces Andrew Hill, Product Maker at Microsoft Surface

Showcasing Hill’s product development role suggests that the Surface division is preparing a custom piece of hardware to act as the primary launch vehicle for the new N1 or N1X silicon from NVIDIA, and since Surface devices aren’t known for gaming, it’s safe to assume that the “new era of PC” is powered by AI.

Leaked NVIDIA N1X specifications reveal a powerful chip designed to challenge x86 dominance

Apart from Surface hardware, we’ll see other premium hardware too, as leaks by Axios and VideoCardz confirm Dell XPS 13 powered by NVIDIA’s new N1X silicon.

VideoCardz also leaked the specifications of the custom ARM processor co-developed by MediaTek and NVIDIA, combining a 20-core CPU configuration featuring 10 performance cores and 10 efficiency cores. The graphics processor relies on the modern Blackwell architecture, packing 6144 CUDA cores to deliver a graphical experience equivalent to a dedicated desktop RTX 5070 graphics card.

VideoCardz leaks NVIDIA N1 Series specifications
Source: VideoCardz

The leak shows four SKUs of the silicon. Motherboard manufacturing will use TSMC’s advanced 3nm production node and include tightly integrated LPDDR5X memory. The specs are a monumental leap over Qualcomm’s first attempt at Windows on Arm with the Snapdragon X Elite, which relied on a 12-core Oryon setup and a much smaller 4.6 TFLOPS Adreno graphics engine built on an older 4nm node. It remains to be seen how the Snapdraon X2 Elite Extreme compares to NVIDIA’s second attempt at Windows on an ARM architecture after nearly 16 years.

Former Windows chief explains why the original ARM partnership is finally paying off

NVIDIA returning to the Windows on ARM ecosystem is not a new concept. Former Windows Division President Steven Sinofsky recently weighed in on the chatter, reminding everyone that the graphics giant was Microsoft’s original partner for the first Surface back in 2012. Sinofsky noted that the first Surface ran on Tegra ARM chips specifically because the graphics processor and driver stability far outclassed the competition. He even highlighted a classic engineering milestone from September 2010, which marked the first time the Windows desktop compositor ran successfully on ARM silicon.

Windows RT partnerships

I remember the launch of the original Surface RT. The hardware was beautiful, and it promised iPad-level battery life powered by an NVIDIA Tegra 3 quad-core processor. The execution sadly failed because the ecosystem was not ready. The Tegra 3 chip ran a locked-down Windows RT. Users felt completely misled when they realized their new Microsoft tablet could not run legacy applications like Photoshop or Google Chrome. The processor was also sluggish when handling a multitasking desktop interface, forcing Microsoft to take a huge financial write-down on unsold inventory.

Surface RT

While Windows on ARM has matured significantly in recent years thanks to Qualcomm’s persistent hardware efforts, the industry is shifting back toward heavy graphics computing. Sinofsky believes the ultimate success of the platform depends on deep software execution rather than just raw processing power.

Snapdragon X2 Elite sticker on a Lenovo Yoga Slim 7X
Source: Lenovo

According to Sinofsky, the most important thing to watch is how the CUDA and CUDA-X ecosystems are made available to developers as a first-party API within the operating system shell. Securely integrating those developer tools could easily give serious competition to Apple and force developers to rethink their ecosystem loyalty.

Steven Sinofsky talks about NVIDIA N1 series for Windows

While some continue to evaluate these new ARM chips based on how well they handle legacy x86 app emulation via modern translation layers, Sinofsky dismisses that old school mindset, saying that “no one working with AI and CUDA on device is at all concerned with x86 compatibility.” The modern computing stack is natively optimized for ARM architecture. Evaluating next-generation silicon through the lens of legacy desktop software means looking backward instead of forward. The real value of the NVIDIA N1 series comes down to raw AI compute, which opens up an entirely new market for high-end professional hardware.

Yes, it all boils down to AI, and there is more confirmation:

Supply chain analyst confirms the new processor targets a specialized local AI market

Respected industry analyst Ming-Chi Kuo recently shared insights that temper the waves of mainstream consumer hype. Kuo’s tracking data estimates roughly 10 million global shipments of N1X devices over the next two years. The analyst labels the platform as a specialized niche market made strictly for power users who require large integrated memory and local model execution capabilities.

Perhaps the most interesting thing here is that the AI that N1X intends to power is unlike the ones we’re used to; Microsoft Copilot included.

Copilot app

The global tech industry in general currently uses cloud servers and remote tokens to process large language models, meaning the core computational AI heavy lifting happens far away from the client device.

Kuo mentions the strong sales of the MacBook Neo, where factory shipments were revised upward from five million units to ten million units, all because buyers were investing in the Neo for ecosystem integration, competitive pricing, and lightweight design rather than any localized machine learning frameworks. This essentially puts an end to the topic of whether the rumoured NVIDIA N1 series-powered Surface hardware is an answer to the MacBook Neo. It’s not.

MacBook Neo

The true catalyst for a hardware upgrade cycle will depend entirely on how Microsoft shapes the user experience. Both Sinofsky and Kuo agree that the new era of the personal computer is fundamentally about AI compute instead of legacy software compatibility. For the N1X platform to achieve mainstream growth, Windows must deliver deeply integrated, cross-app AI workflows that keep personal data secure locally on the machine.

But we’ve been hearing about AI from Microsoft for so long, and the backlash that followed was nothing short of extraordinary. So what AI are these tech giants planning now?

Microsoft is secretly building an AI Super App, which has an OpenClaw-like agent

Microsoft is rumored to be consolidating its currently fragmented AI ecosystem into a singular unified interface. As reported by Fortune, the company is developing an AI Super App designed to completely replace the scattered Copilot menus currently haunting Windows 11.

A leaked screenshot from Sources shows the application featuring distinct tabs for standard chat, a dedicated coding environment, and a coworking task assistant. The crown jewel of the platform lives inside a brand new Autopilot tab. Microsoft is introducing a fully autonomous background agent named Scout.

Leaked image of Copilot super app featuring Scout
Source: Sources

Scout is Microsoft’s response to OpenClaw, which is the viral open source AI agent that took the internet by storm late last year because it could execute local machine commands like installing applications or organizing desktop folders. While OpenClaw was powerful, enterprise IT departments viewed the open source tool as a massive security liability. Scout supposedly delivers that same proactive automation but wraps it safely inside a corporate-approved security shield, courtesy of Microsoft.

So, unlike the standard chatbot that goes to sleep when you close the window, Scout may maintain an always-on status. The agent could autonomously triage your Outlook inbox and Teams messages while you sleep. Users can wake up to a curated morning brief where Scout has already drafted email replies or flagged urgent conflicts in their calendar.

Copilot Tasks demo
Copilot Tasks demo

An always-on agent handling highly sensitive corporate emails and personal documents cannot depend on cloud processing. Sending constant background screenshots and keystrokes to a remote server is a privacy nightmare.

Now, a chip from a company that leapfrogged AI agents with their GPUs makes sense. The new NVIDIA N1X may power these local AI capabilities, powered by Microsoft’s rumoured AI super app.

Of course, all this is speculation, and Microsoft may mention the all-in-one Copilot app in the upcoming Build conference. But as Fortune notes, Microsoft will not showcase the app now; instead, a launch is expected by the end of summer.

As you’d probably know by now, AI and Microsoft are two words that people didn’t like to hear together, and one reason for this was the company’s lack of focus on their desktop OS. But things aren’t the way they used to be, and Windows 11 is actually improving before our eyes.

Microsoft still wants to focus on Windows 11

Announcing a product is one thing, but market launch would take more time, and the end of summer gives a few more months for Microsoft to make Windows 11 worthy of the Agentic AI that will eventually come for it.

While a massive architectural hardware revolution looms on the horizon, Microsoft is acutely aware that the software foundation must be flawless before users buy new devices. The company is dedicating the bulk of its current engineering resources to polishing, optimizing, and modernizing every broken aspect of Windows 11.

The software giant is fully committed to native WinUI 3 to remove sluggish web wrappers. Even the Start menu, which recently got one of its biggest updates, will also soon be updated to WinUI 3 for more performance gains.

Start menu with All apps only in Grid view and List view

As for issues with the WinUI 3 framework, the company is already working to permanently eliminate the black tearing that occurs when expanding WinUI 3 app windows.

Ancient code from the nineties is finally disappearing as the Windows 95 era File Explorer properties dialog is getting replaced with a modern WinUI 3 version. The main File Explorer application is also receiving stability patches.

Performance remains the absolute highest priority heading into the summer months. To make the interface feel buttery smooth, Microsoft has quietly implemented a controversial but highly effective hardware scheduling trick called Low Latency Profile that has now come to all PCs that installed the recent May 2026 KB5089573 Optional update.

Funnily enough, all of this alleged hardware AI capabilities comes at a time when Microsoft is scaling back the intrusive Copilot features that frustrated power users. The company showcased a deliberate reduction of the Copilot footprint across core inbox applications like Notepad and the Snipping Tool.

Microsoft removes the Copilot branding throughout Notepad

The deliberate move away from unoptimized software features proves that Microsoft is finally laying a stable foundation for the upcoming silicon era. We will not see the launch of Windows 12 at the Build 2026 developer conference, but the event will be vital for setting the stage for what comes next. Polishing Windows 11 today makes it optimized and ready to orchestrate the powerful local AI workflows and NVIDIA ARM hardware arriving later this year.

The post Microsoft confirms it’s not launching Windows 12, as it teases a big announcement appeared first on Windows Latest

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

What’s new in Svelte: June 2026

1 Share

This month we got a bunch of improvements in SvelteKit's forms and remote functions. Plus, a new query function (.live(...)) that makes accessing real-time data from the server easier.

Keep an eye out for a few breaking changes in remote functions, if you're using those. Otherwise, enjoy all the new SvelteKit features and bug fixes in the latest versions of Svelte.

Let's dive in!

What's new in SvelteKit

  • Form submit now returns a boolean to indicate submission validity for enhanced remote forms (2.57.0, Docs, #15530)
  • Breaking: requested(...) now requires limit and yields { arg, query } entries instead of returning the validated argument directly (2.58.0, Docs, #15739)
  • requested(...) now supports query.batch(...), which makes batch remote query workflows easier to inspect in request-time logic (2.59.0, Docs, #15751)
  • submit and hidden remote form fields can now accept booleans and numbers directly (2.60.0, Docs, #15802)
  • SvelteKit now warns when remote form validation issues are never read, helping catch missed UX paths earlier (2.60.0, Docs, #15653)
  • Breaking: .run() was removed from remote queries - use await query() directly in all contexts instead (2.61.0, Docs, #15779)
  • Remote queries can now be awaited in event handlers, async callbacks and module scope, with cache deduping shared across reactive and non-reactive consumers (2.61.0, Docs, #15779)
  • query.live(...) makes working with long-lived remote query subscriptions easier and are now async-iterable (experimental 2.59.0, async in 2.61.0, Docs, #15878)
  • Breaking: Enhance callbacks now receive a copy of the form remote function instance, rather than a { form, data, submit } object. Plus, remote form instances now expose a programmatic submit() API and can be passed into enhance callbacks (2.61.0, Docs, #15657)

For all the features and bugfixes that landed this month, check out the SvelteKit / Adapter CHANGELOGs.

What's new in Svelte and the Svelte ecosystem

  • Templates now allow declarations directly in markup, making it easier to define values close to where they're used (svelte@5.56.0, #18282)
  • Svelte language-tools now support TypeScript 6.0 across the language server, svelte2tsx and svelte-check packages (svelte-language-server@0.18.0/svelte2tsx@0.7.55/svelte-check@4.4.8/svelte-preprocess@6.0.4, Docs, #2985 / #675)
  • Svelte MCP's stdio mode can now read file content directly, reducing round trips in local tool workflows (mcp@0.1.23, Docs, #198)
  • vite-plugin-svelte now enables the optimizer for server environments during development (vite-plugin-svelte@7.1.0, #1328)

Want to dive deep into everything new this month? Check out the language-tools, ai-tools and vite-plugin-svelte releases.

For all the minor changes and bugfixes that came out in the Svelte compiler this month, you can read the full Svelte CHANGELOG.


Community Showcase

Apps & Sites built with Svelte

  • asciidia.com is an ASCII-style browser game experiment built with Svelte
  • Bingewatcher.org is a daily movie guessing game based on data from Wikipedia and word vectors for 157 languages
  • Delcard is an open source peer-to-peer card game platform built with SvelteKit (GitHub)
  • Dialyma is an open source canvas builder that can export production-ready code (GitHub)
  • Exort is a local workspace for writing microcontroller code, compiling and uploading projects, and monitoring live serial output on supported boards (GitHub)
  • Heavy Duty Inc is a turn-based tactics game built with Svelte (Reddit)
  • hope-art.app applies protection filters to artwork images before sharing them online to prevent unauthorized AI training and style mimicry (GitHub)
  • Image Palette Studio turns images into UI themes with generated CSS variables (GitHub)
  • Pad is a local-first collaboration tool that combines a Go CLI with an embedded Svelte web app for human-agent workflows (GitHub)
  • Serverwat.ch is a SvelteKit dashboard for monitoring Hetzner-hosted projects
  • Trezur is a privacy-preserving browser-side 2FA authenticator with PWA support and cloud sync (GitHub)
  • Splitwave is a free node-based audio router for macOS built with Tauri + Svelte (GitHub)
  • Tank Supremo is a multiplayer 3D tank game built with Svelte
  • Vivix is a JavaScript execution visualizer that uses a worker-based interpreter for smooth timeline scrubbing (GitHub)
  • Zenos is a stealth startup from SvelteKit maintainer Ben McCann that is bringing software productivity to the physical world.

Learning Resources

This Week in Svelte

To Read

Libraries, Tools & Components

UI Components and Visual Effects

App Building and Product Tooling

Developer Tools and Utilities

Plugins and Runtime Integrations

That's it for this month! Let us know if we missed anything on Reddit or Discord.

Until next time 👋🏼!

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

Joining the atmosphere

1 Share

I don’t post to or visit the social network formerly known as Twitter, but as a very early Twitter user, I can’t quite bring myself to delete all my old posts. There’s so much history there, not just personal history but the stories of a lot of the work I’ve done. This is the problem with social networks, we use them to document our lives but we don’t own that data. The platform can become a place we aren’t welcome or don’t want to be, or simply vanish, taking all our data with it.

This doesn’t happen if you post to your own website, with a domain that you own and control. If your host goes bad, you move your content elsewhere, point your domain to it, and your visitors won’t even know that you’ve moved. However, on your own website you don’t have the social aspect of posting to the place where everyone else is. At best you can publish on your own site and syndicate elsewhere.

AT Protocol (often referred to as atproto) solves this problem by allowing you to own your social media posts, linked to a domain that you own. For an explanation of how this works read Open Social. AT Protocol was created by Bluesky, and seems to have generated a lot of momentum in a relatively short time. This week, Bluesky announced that links to posts using the standard.site lexicons would display an enhanced link card. I’d been intending to explore atproto for a while, this helped push me over the edge.

Adding the standard.site lexicons to this site was straightforward, thanks to the ATmosphere plugin for WordPress, which installed as described. I updated my Bluesky handle to my own domain rachelandrew.co.uk.

I also set up a profile on Sifa ID, which is a place to store a professional profile. As with all atproto sites, you register using OAuth with your atproto identity, and my profile immediately populated with my Bluesky posts. The site lets you import a LinkedIn profile export to start your Sifa profile, which makes getting set up really quick. I found a few contacts from Bluesky—if you are on Sifa, connect with me.

I can now be found in a few places in the atmosphere. I was curious what this looked like in the records, and discovered that I can put my domain into the search at https://pdsls.dev/ and explore my data.

None of this took me very long at all, any complexity was due to the off-the-shelf theme I’m using with WordPress rather than anything to do with atproto. I’m now itching to properly redesign this site, but also to explore more of the atmosphere ecosystem.

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

Lost ASP.NET Cookies on IIS Application Pool Restarts

1 Share
If you find that your ASP.NET authentication cookies expire every time your IIS application pool restarts or recycles, the culprit is likely the DataProtection API not finding the previously stored keys. This post describes one gotcha I ran into with the default storage location on IIS in the user profile due to a default Application Pool setting.
Read the whole story
alvinashcraft
32 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

From Developer to Architect, the Career Path Nobody Explained

1 Share
A practical look at the path from developer to architect, what the role really involves, and the tools that help teams stay aligned.
Read the whole story
alvinashcraft
33 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Guidelines for Respectful Use of AI

1 Share

As companies adopt AI tools, a lot of time is spent on thinking about AI policies from a security, compliance, or even cost-focused angle. But many leaders are neglecting to address how their teams should work with AI in the context of the team as a whole. This creates a lot of unresolved tension, and it’s time for leaders to step up and set some guidelines not just for how to use AI in an “approved” sense, but how to use it respectfully.

When I say respectfully, I am not talking about the baseline appropriate workplace behavior (bullying, abuse, harassment, etc). Instead, I’m concerned that many of us haven’t considered that the ways AI can make an individual more productive (literally enabling them to produce more outputs) can have an overall negative impact on the team’s productivity. Leaders can’t just sit around and expect that their teams will know that they can’t just produce slop and send it to others; if you haven’t set up a thorough policy yet, here are some suggestions on what to cover.

Elements of Respectful AI Use

Don’t ask someone to read/review what you haven’t read or reviewed yourself.

This is one of the most common frustrations I hear amongst people working on AI-heavy teams. Whether it’s code that the owner didn’t really bother to understand before submitting for review, or documents that they generated and didn’t bother to read, too often people try to steal productivity from their colleagues by streamlining their production of work while asking their colleagues to do all of the quality control themselves. It’s great to have a loop of AI code generation -> AI code review -> AI fixes -> final human review, but if the person prompting the AI doesn’t bother to review that code first, they’re putting a huge validation tax onto their teammate, who has to trust both that you prompted well AND that the AI understood the context and problem well enough to get a sustainable solution.

Documents are an even bigger temptation than code, because AI is so verbose and most of us hate writing and editing. It’s easy to get into a loop where you ask the AI some questions, skim the answers, output a document and send it to others. I’m guilty of this myself! But what makes sense when you’re skimming one answer at a time may not make for a good overall document, and there is a big difference between answering individual questions and writing for a human reader. In particular, the context that you have in your own head as you are talking to the AI may not come out at all in the document; if you don’t bother to read it thoroughly before sending it out, you won’t catch the gap in framing.

Even worse, sometimes people don’t even understand what the document they prompted is trying to say. Can you describe this document, and have a conversation about the concepts it presents with others and why it makes sense? If not, you have no business sending it along without at minimum the huge caveat this is AI-generated and I still don’t really understand this space, please help me.

Many people have reached the point where they won’t read something a person didn’t bother to write themselves, and who can blame them when so many don’t even bother to read their output before sending it on?

Shorter is better.

Part of the annoyance of reviewing AI-generated work is that the AI can be painfully long-winded. AI code often looks like tutorial code, with much more verbosity than human developers would bother with. Add in the temptation to one-shot big changes rather than thinking about how to break the code down into pieces, and you can end up with stacks of thousand line pull requests. The documents AI produces are so thorough that something that should be 3 pages turns into 10 or 20. And for those who have fully embraced AI for all of their text-based interactions, you start to see the LLM-generated wall of text chat messages or emails.

This is, frankly, just rude. It goes hand in hand with not bothering to review your own work, but even if for some reason you convince yourself that you really did read and edit that giant PR/document/message, you’re still asking so much more of the audience than you probably put into the exercise in the first place. When it comes to code, I encourage you to honestly ask yourself: if this broke at 3am and none of the AI tools were working, would you be able to look at the PR context and the change and debug it? If not, it is probably too much. When it comes to a big document, at a minimum, have you at least summarized the important points up-front? If someone is just going to ask an AI to summarize the document themselves, you should probably do more work to provide that value before handing it off.

Finally, if you’re writing long-winded emails or chat messages with AI-assistance in order to painstakingly try to explain something, perhaps you actually need to have a meeting or call instead. Increasingly long text exchanges have always been a sign that people need to stop and talk face-to-face, and AI logorrhea hasn’t changed that.

AI is not an excuse to turn off your brain, or your heart.

Signs we’ve switched off our brains and our hearts include: not reviewing the AI-generated work, not taking the time to do human editing, not breaking the changes down into chunks, and avoiding real conversations through AI-mediated text exchange. This guidance is about respectful use of AI because if you have empathy for your colleagues and respect for their time and skills, you will show them the courtesy of giving them work that you are proud of, that you stand behind, that you have thought through and can explain. The AI may have produced a lot of the output, but you thought about all of the pieces that needed to be done, and used the extra productivity to make something better: more reliable, simpler, well tested, whatever. If you find yourself not thinking at all and just mindlessly prompting, accepting output, and moving forward, it’s a warning sign that something is wrong. Perhaps take some advice from Vicki Boykis on adding friction to your development process (or whatever the equivalent is of your day to day work).

Framing these guidelines

If you decide to do this, one final tip from me: assuming your company has some sort of company values, it’s always a good idea to call back to these values when you create policies and guidelines like this. It’s one thing to abstractly say that shorter is better, but if you can tie that to a value for your company, it will resonate more strongly. As an example, if I were at Amazon I might consider tying “shorter is better” to the leadership principle Invent and Simplify. And since shorter is better and this is already too long, I leave you here.

This post is 100% human-generated except that I needed a spell-checker to spell logorrhea. Maybe I should’ve used an AI editor, feel free to tell me if you think so!

Enjoy this post? You might like my books: The Manager’s Path, and Platform Engineering: A Guide for Technical, Product, and People Leaders, available on Amazon and Safari Online.

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