<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Wes Ellis / notebook</title><link>https://wesellis.com/</link><atom:link href="https://wesellis.com/rss.xml" rel="self" type="application/rss+xml"/><description>A personal notebook on technology, things I&#39;m building, writing, and life away from the keyboard.</description><language>en-us</language><lastBuildDate>Tue, 29 Sep 2026 14:00:00 GMT</lastBuildDate><item><title>What G8KEPR Is, in Plain English</title><link>https://wesellis.com/blog/what-is-g8kepr/</link><guid isPermaLink="true">https://wesellis.com/blog/what-is-g8kepr/</guid><pubDate>Tue, 29 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>The security startup I build on nights and weekends, explained without the jargon: what it guards, how it does it, and where it runs.</description></item><item><title>Four Checkpoints on One Request: The G8KEPR Pillars</title><link>https://wesellis.com/blog/g8kepr-four-pillars/</link><guid isPermaLink="true">https://wesellis.com/blog/g8kepr-four-pillars/</guid><pubDate>Sat, 26 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>API security, MCP security, an AI gateway and a verification engine, one at a time: what each one looks at and what it&#39;s there to catch.</description></item><item><title>MCP Tool Poisoning, and Why G8KEPR Fingerprints Every Tool</title><link>https://wesellis.com/blog/mcp-tool-poisoning-and-fingerprints/</link><guid isPermaLink="true">https://wesellis.com/blog/mcp-tool-poisoning-and-fingerprints/</guid><pubDate>Wed, 23 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>What MCP is, how a tool&#39;s own description can be turned against the model reading it, and why a hash that&#39;s re-checked on every call is such a useful tripwire.</description></item><item><title>No LLM-as-Judge: Why G8KEPR Uses Regex and Classical ML</title><link>https://wesellis.com/blog/no-llm-as-judge/</link><guid isPermaLink="true">https://wesellis.com/blog/no-llm-as-judge/</guid><pubDate>Sun, 20 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>A lot of AI security tools ask another AI model to grade the first one. G8KEPR doesn&#39;t. Here&#39;s why, what it costs, and what the published numbers do and don&#39;t mean.</description></item><item><title>Why It Runs in Your VPC (and Nothing Leaves)</title><link>https://wesellis.com/blog/why-g8kepr-runs-in-your-vpc/</link><guid isPermaLink="true">https://wesellis.com/blog/why-g8kepr-runs-in-your-vpc/</guid><pubDate>Thu, 17 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>G8KEPR is self-hosted by design: deployed with Helm or Terraform, sitting in your request path, sending zero bytes out and charging nothing per token. Here&#39;s the reasoning.</description></item><item><title>Building a Security Startup by Myself</title><link>https://wesellis.com/blog/building-a-security-startup-alone/</link><guid isPermaLink="true">https://wesellis.com/blog/building-a-security-startup-alone/</guid><pubDate>Mon, 14 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>One founder, a Delaware C-Corp, evenings and weekends, and a codebase with more lines of tests than lines of code. Here&#39;s what that ratio says about how I build.</description></item><item><title>From Do-Everything Platform to Correlation Engine</title><link>https://wesellis.com/blog/from-platform-to-correlation-engine/</link><guid isPermaLink="true">https://wesellis.com/blog/from-platform-to-correlation-engine/</guid><pubDate>Fri, 11 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>G8KEPR started as an AI security platform that tried to do everything. In September 2026 I narrowed it to the one thing that&#39;s actually different, and kept most of what I&#39;d built.</description></item><item><title>Open Source for About a Day</title><link>https://wesellis.com/blog/open-source-for-a-day/</link><guid isPermaLink="true">https://wesellis.com/blog/open-source-for-a-day/</guid><pubDate>Tue, 08 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>On September 9 I decided G8KEPR would be open source under Apache-2.0. On September 10 I changed my mind. Both days had good arguments.</description></item><item><title>A Scorecard Instead of a Vanity Metric</title><link>https://wesellis.com/blog/keeping-score-without-customers/</link><guid isPermaLink="true">https://wesellis.com/blog/keeping-score-without-customers/</guid><pubDate>Sat, 05 Sep 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>How I keep score on G8KEPR with a feature scorecard graded 0 to 10, why it leaves out anything about clients or partners, and the P0-P4 lists that decide what I work on next.</description></item><item><title>Kaybl: One Cable Guide, Three Screens</title><link>https://wesellis.com/blog/kaybl-interface-case-study/</link><guid isPermaLink="true">https://wesellis.com/blog/kaybl-interface-case-study/</guid><pubDate>Wed, 02 Sep 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>Kaybl turns a Plex or Jellyfin library into something that feels like flipping channels. The hard part isn&#39;t the channels. It&#39;s drawing one guide that works on a TV, a phone and a desktop.</description></item><item><title>How I Build with Three Claude Code Agents at Once</title><link>https://wesellis.com/blog/three-claude-code-agents/</link><guid isPermaLink="true">https://wesellis.com/blog/three-claude-code-agents/</guid><pubDate>Sun, 30 Aug 2026 14:00:00 GMT</pubDate><category>G8KEPR</category><description>My build loop for G8KEPR: a plan in Todoist, a tracker page, three DEV briefs, and three Claude Code windows working in parallel while I supervise until it&#39;s done and tested.</description></item><item><title>Borrowing a Palette from a Reading App</title><link>https://wesellis.com/blog/borrowing-a-palette-from-a-reading-app/</link><guid isPermaLink="true">https://wesellis.com/blog/borrowing-a-palette-from-a-reading-app/</guid><pubDate>Thu, 27 Aug 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>Six colors sampled from a screenshot of a dark RSS reader, the rules that keep amber from turning into a Halloween theme, and what the contrast math actually says.</description></item><item><title>Designing with Vignelli&#39;s Rules</title><link>https://wesellis.com/blog/designing-with-vignellis-rules/</link><guid isPermaLink="true">https://wesellis.com/blog/designing-with-vignellis-rules/</guid><pubDate>Mon, 24 Aug 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>Massimo Vignelli spent sixty years proving you need a grid, a handful of typefaces and a lot of discipline. What that looks like when the page is a browser window.</description></item><item><title>The &#39;90s Computer-Ad Look, Without Faking an Operating System</title><link>https://wesellis.com/blog/nineties-computer-ad-look-without-faking-an-os/</link><guid isPermaLink="true">https://wesellis.com/blog/nineties-computer-ad-look-without-faking-an-os/</guid><pubDate>Fri, 21 Aug 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>How this site borrows the warmth of early-&#39;90s Apple ads (editorial type, cream paper, slate ink) and why the fake menu bars and little beige Mac didn&#39;t make the cut.</description></item><item><title>A Recipe Card That Prints on One Page</title><link>https://wesellis.com/blog/recipe-card-that-prints-on-one-page/</link><guid isPermaLink="true">https://wesellis.com/blog/recipe-card-that-prints-on-one-page/</guid><pubDate>Tue, 18 Aug 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>Hitting print on a recipe blog usually gets you five pages of sidebar. Here&#39;s how the recipes on this site print just the card, and why visibility:hidden was the wrong first try.</description></item><item><title>Backlinks and a &amp;quot;Short Version&amp;quot; Box in Eleventy, No Plugins</title><link>https://wesellis.com/blog/eleventy-backlinks-and-summary-box/</link><guid isPermaLink="true">https://wesellis.com/blog/eleventy-backlinks-and-summary-box/</guid><pubDate>Sat, 15 Aug 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>A summary box, an &amp;quot;In this note&amp;quot; list, labelled callouts and a &amp;quot;Linked from&amp;quot; section, all built with a handful of Eleventy filters and some honest string matching.</description></item><item><title>Picking One Android Handheld for Emulation and Movies</title><link>https://wesellis.com/blog/picking-an-android-handheld-for-emulation-and-movies/</link><guid isPermaLink="true">https://wesellis.com/blog/picking-an-android-handheld-for-emulation-and-movies/</guid><pubDate>Wed, 12 Aug 2026 14:00:00 GMT</pubDate><category>Resources &amp;amp; Recommendations</category><description>One device for PS2 emulation and my own movie files, smaller than a Steam Deck, with a microSD slot. The shortlist, the detour into phones, and where I&#39;m leaning.</description></item><item><title>Modding Shadow of Mordor in 2026</title><link>https://wesellis.com/blog/modding-shadow-of-mordor-in-2026/</link><guid isPermaLink="true">https://wesellis.com/blog/modding-shadow-of-mordor-in-2026/</guid><pubDate>Sun, 09 Aug 2026 14:00:00 GMT</pubDate><category>Uses / My Setup</category><description>A twelve-year-old game, a proxy DLL, a ReShade preset and a trick for hiding the HUD. The Shadow of Mordor mod setup I put together this month.</description></item><item><title>My Cyberpunk 2077 Mod Loadout</title><link>https://wesellis.com/blog/cyberpunk-2077-mod-loadout/</link><guid isPermaLink="true">https://wesellis.com/blog/cyberpunk-2077-mod-loadout/</guid><pubDate>Thu, 06 Aug 2026 14:00:00 GMT</pubDate><category>Uses / My Setup</category><description>I bounced off Cyberpunk once because the guns felt stiff. Here&#39;s the mod list I&#39;m running on the 2.3x Steam version now, and what all those frameworks actually do.</description></item><item><title>Deckport: Getting Native Linux Games Onto the Steam Deck Without the Busywork</title><link>https://wesellis.com/blog/deckport/</link><guid isPermaLink="true">https://wesellis.com/blog/deckport/</guid><pubDate>Mon, 03 Aug 2026 14:00:00 GMT</pubDate><category>Side Projects</category><description>Deckport is my open-source Python tool that registers portable native Linux games as Steam Deck non-Steam shortcuts, with artwork, so they show up in Game Mode ready to play.</description></item><item><title>WeatherStar 4000: The &#39;90s Weather Channel on a Raspberry Pi</title><link>https://wesellis.com/blog/weatherstar-4000/</link><guid isPermaLink="true">https://wesellis.com/blog/weatherstar-4000/</guid><pubDate>Fri, 31 Jul 2026 14:00:00 GMT</pubDate><category>Side Projects</category><description>My open-source Python and pygame recreation of the WeatherStar 4000, built for Raspberry Pi and CRT TVs, with live weather data and 26-plus display modes.</description></item><item><title>An Arcade Cabinet With a 4:3 Monitor, and Why I Went With CoinOPS on a PC</title><link>https://wesellis.com/blog/arcade-cabinet-4x3-coinops/</link><guid isPermaLink="true">https://wesellis.com/blog/arcade-cabinet-4x3-coinops/</guid><pubDate>Tue, 28 Jul 2026 14:00:00 GMT</pubDate><category>Retro Tech</category><description>Notes from an arcade cabinet build in progress, on why the monitor is 4:3, and why a PC running CoinOPS won out over a plug-and-play Pandora-style board.</description></item><item><title>Building a FieldStation42 Cable Box</title><link>https://wesellis.com/blog/fieldstation42-cable-box-build/</link><guid isPermaLink="true">https://wesellis.com/blog/fieldstation42-cable-box-build/</guid><pubDate>Sat, 25 Jul 2026 14:00:00 GMT</pubDate><category>Retro Tech</category><description>A build log for a Raspberry Pi cable box that runs FieldStation42 on a CRT, with a keypad, an LED channel display, a guide channel and a WeatherStar weather channel.</description></item><item><title>The Flexbox Bug That Won&#39;t Let Your Panel Scroll: min-height: 0</title><link>https://wesellis.com/blog/flexbox-min-height-zero-scroll-bug/</link><guid isPermaLink="true">https://wesellis.com/blog/flexbox-min-height-zero-scroll-bug/</guid><pubDate>Wed, 22 Jul 2026 14:00:00 GMT</pubDate><category>Engineering</category><description>Your scroll area has overflow:auto, the layout is 100vh, and the whole page scrolls anyway. Blame the automatic minimum size of flex items, and fix it with one line.</description></item><item><title>The Four-Letter Bookmarks Bar</title><link>https://wesellis.com/blog/four-letter-bookmarks-bar/</link><guid isPermaLink="true">https://wesellis.com/blog/four-letter-bookmarks-bar/</guid><pubDate>Sun, 19 Jul 2026 14:00:00 GMT</pubDate><category>Uses / My Setup</category><description>Six folders, four capital letters each, one tidy row. How I keep my browser bookmarks from turning into a junk drawer.</description></item><item><title>Linux Mint on a ThinkPad T14 Gen 3</title><link>https://wesellis.com/blog/linux-mint-thinkpad-t14-gen-3/</link><guid isPermaLink="true">https://wesellis.com/blog/linux-mint-thinkpad-t14-gen-3/</guid><pubDate>Thu, 16 Jul 2026 14:00:00 GMT</pubDate><category>Uses / My Setup</category><description>My everyday laptop is a ThinkPad T14 Gen 3 running Linux Mint. Why that pairing, how Dropbox fits in, and the few things worth setting up on day one.</description></item><item><title>Flatten a Messy Media Library into A-Z Bucket Folders</title><link>https://wesellis.com/blog/flatten-media-library-into-letter-buckets/</link><guid isPermaLink="true">https://wesellis.com/blog/flatten-media-library-into-letter-buckets/</guid><pubDate>Mon, 13 Jul 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>A PowerShell script that sorts every show and movie in a folder into flat A-Z buckets, skips anything that would collide, and dry-runs honestly.</description></item><item><title>Check PowerShell Scripts for Syntax Errors Without Running Them</title><link>https://wesellis.com/blog/check-powershell-syntax-without-running-it/</link><guid isPermaLink="true">https://wesellis.com/blog/check-powershell-syntax-without-running-it/</guid><pubDate>Fri, 10 Jul 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Use PowerShell&#39;s own parser to catch typos and broken brackets in a whole folder of scripts, before anything runs.</description></item><item><title>Rebuilding This Notebook</title><link>https://wesellis.com/blog/rebuilding-the-notebook/</link><guid isPermaLink="true">https://wesellis.com/blog/rebuilding-the-notebook/</guid><pubDate>Tue, 07 Jul 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>101 old posts, three versions of a design, and one very specific idea about what a personal website should feel like.</description></item><item><title>Picking a CMS for a Static Blog in 2026</title><link>https://wesellis.com/blog/choosing-a-cms-for-a-static-blog/</link><guid isPermaLink="true">https://wesellis.com/blog/choosing-a-cms-for-a-static-blog/</guid><pubDate>Sat, 04 Jul 2026 14:00:00 GMT</pubDate><category>Resources &amp;amp; Recommendations</category><description>I know WordPress inside and out, and I still didn&#39;t use it for this site. What I compared, and why I landed on Sveltia CMS.</description></item><item><title>Your Fonts Only Look Right on Your Computer</title><link>https://wesellis.com/blog/self-hosting-web-fonts/</link><guid isPermaLink="true">https://wesellis.com/blog/self-hosting-web-fonts/</guid><pubDate>Wed, 01 Jul 2026 14:00:00 GMT</pubDate><category>Web Design</category><description>The site looked perfect on my machine and wrong everywhere else. The sneaky reason, and how to self-host web fonts properly.</description></item><item><title>Security Headers on a Static Site When Your Host Won&#39;t Set Them</title><link>https://wesellis.com/blog/security-headers-static-site-digitalocean/</link><guid isPermaLink="true">https://wesellis.com/blog/security-headers-static-site-digitalocean/</guid><pubDate>Sun, 28 Jun 2026 14:00:00 GMT</pubDate><category>Engineering</category><description>My brand-new blog got an F on a security header scan. Here&#39;s why, what actually matters for a static site, and the fixes that work on DigitalOcean App Platform.</description></item><item><title>The -WhatIf Trap Hiding in ForEach-Object</title><link>https://wesellis.com/blog/powershell-whatif-foreach-object-trap/</link><guid isPermaLink="true">https://wesellis.com/blog/powershell-whatif-foreach-object-trap/</guid><pubDate>Thu, 25 Jun 2026 14:00:00 GMT</pubDate><category>Engineering</category><description>A dry run that quietly lies to you. Why ForEach-Object&#39;s property shorthand returns nothing under -WhatIf, and the one-line fix.</description></item><item><title>Monitoring Azure Resource Costs with PowerShell</title><link>https://wesellis.com/blog/monitoring-azure-resource-costs-with-powershell/</link><guid isPermaLink="true">https://wesellis.com/blog/monitoring-azure-resource-costs-with-powershell/</guid><pubDate>Mon, 22 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Find out which resource groups are eating your Azure budget, straight from PowerShell, no portal clicking required.</description></item><item><title>Automating User Offboarding in Azure AD with PowerShell</title><link>https://wesellis.com/blog/automating-user-offboarding-in-azure-ad-with-powershell/</link><guid isPermaLink="true">https://wesellis.com/blog/automating-user-offboarding-in-azure-ad-with-powershell/</guid><pubDate>Fri, 19 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>One script that locks a departing user out, cleans up their groups and licenses, and keeps their mail, with a CSV record of every step.</description></item><item><title>Adding Domain Groups to Local Administrators on Remote PCs with PowerShell</title><link>https://wesellis.com/blog/managing-local-administrators-with-powershell-and-security-groups/</link><guid isPermaLink="true">https://wesellis.com/blog/managing-local-administrators-with-powershell-and-security-groups/</guid><pubDate>Tue, 16 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Put a domain group into the local Administrators group on a list of computers (or take one out) over PowerShell remoting, with a result for every machine and -WhatIf first.</description></item><item><title>Check MECM Software Update Deployment Status with PowerShell</title><link>https://wesellis.com/blog/retrieving-mecm-software-update-information-with-powershell/</link><guid isPermaLink="true">https://wesellis.com/blog/retrieving-mecm-software-update-information-with-powershell/</guid><pubDate>Sat, 13 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>One object per update deployment with targeted, compliant, failed and unknown counts, so you can spot the deployments that need you.</description></item><item><title>Deploy the Most-Needed Updates in MECM with PowerShell</title><link>https://wesellis.com/blog/automating-software-update-deployments-in-mecm-with-powershell/</link><guid isPermaLink="true">https://wesellis.com/blog/automating-software-update-deployments-in-mecm-with-powershell/</guid><pubDate>Wed, 10 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Find the updates the most machines are actually missing, bundle them into a group, and deploy them to a pilot collection, with a WhatIf preview first.</description></item><item><title>Upgrade a Windows Edition with a MAK Key from PowerShell</title><link>https://wesellis.com/blog/upgrading-windows-editions-with-powershell-and-a-mak-key/</link><guid isPermaLink="true">https://wesellis.com/blog/upgrading-windows-editions-with-powershell-and-a-mak-key/</guid><pubDate>Sun, 07 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Install a product key, activate it and confirm the edition actually changed, without the key ever landing in a script file or a log.</description></item><item><title>Create an MECM Package and Program from PowerShell</title><link>https://wesellis.com/blog/automating-mecm-package-creation-with-powershell/</link><guid isPermaLink="true">https://wesellis.com/blog/automating-mecm-package-creation-with-powershell/</guid><pubDate>Thu, 04 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Turn &amp;quot;wrap this script in a package and push it to the DPs&amp;quot; into one command, with a dry run before anything gets created.</description></item><item><title>Clean Reinstall of the Microsoft Graph PowerShell Modules</title><link>https://wesellis.com/blog/refreshing-microsoft-graph-modules-in-powershell/</link><guid isPermaLink="true">https://wesellis.com/blog/refreshing-microsoft-graph-modules-in-powershell/</guid><pubDate>Mon, 01 Jun 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>When Graph cmdlets start throwing assembly errors, it&#39;s almost always mixed module versions. This removes every copy and puts back one matching set.</description></item><item><title>Report on Everything an Entra ID Group Touches with Microsoft Graph</title><link>https://wesellis.com/blog/analyzing-microsoft-365-groups-with-powershell-and-microsoft-graph/</link><guid isPermaLink="true">https://wesellis.com/blog/analyzing-microsoft-365-groups-with-powershell-and-microsoft-graph/</guid><pubDate>Fri, 29 May 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Before you rename, rescope or delete a group, find out what it&#39;s wired to. Members, owners, licenses, apps and Intune policies, in one report.</description></item><item><title>Exporting Active Directory Computer Objects to CSV</title><link>https://wesellis.com/blog/exporting-active-directory-computer-objects-to-csv/</link><guid isPermaLink="true">https://wesellis.com/blog/exporting-active-directory-computer-objects-to-csv/</guid><pubDate>Tue, 26 May 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>A computer inventory straight out of AD, with OS build, last logon, password age and OU in one tidy CSV, ready for audits or a stale-machine cleanup.</description></item><item><title>Convert CBR Comics to CBZ, with Optional WebP Pages</title><link>https://wesellis.com/blog/powershell-cbr-to-cbz-converter-webp-optimization/</link><guid isPermaLink="true">https://wesellis.com/blog/powershell-cbr-to-cbz-converter-webp-optimization/</guid><pubDate>Sat, 23 May 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Turn a folder of CBR comics into CBZ with 7-Zip, and optionally shrink the pages to WebP with cwebp or ImageMagick, testing every file before anything is replaced.</description></item><item><title>Gram&#39;s Classic White Layer Cake</title><link>https://wesellis.com/blog/grams-classic-white-layer-cake-recipe/</link><guid isPermaLink="true">https://wesellis.com/blog/grams-classic-white-layer-cake-recipe/</guid><pubDate>Wed, 20 May 2026 14:00:00 GMT</pubDate><category>Short-Order Kitchen</category><description>Three tall white layers, a folded-in meringue, and old-school seven-minute frosting. Gram&#39;s cake, written down so it doesn&#39;t get lost.</description></item><item><title>Organizing Vintage Mac Software: How I Name and File a Classic Mac Archive</title><link>https://wesellis.com/blog/organizing-vintage-mac-software/</link><guid isPermaLink="true">https://wesellis.com/blog/organizing-vintage-mac-software/</guid><pubDate>Sun, 17 May 2026 14:00:00 GMT</pubDate><category>Retro Tech</category><description>The folder layout and naming rules I use for a pile of old Mac software, and the small PowerShell script that does the renaming without losing the original names.</description></item><item><title>Making a Mac OS Extended (HFS+) USB Drive on Windows with TransMac</title><link>https://wesellis.com/blog/how-to-create-macos-extended-usb-windows/</link><guid isPermaLink="true">https://wesellis.com/blog/how-to-create-macos-extended-usb-windows/</guid><pubDate>Thu, 14 May 2026 14:00:00 GMT</pubDate><category>Retro Tech</category><description>How I format and load HFS+ USB drives for old Macs from a Windows PC, plus the retro-specific catches that trip you up on the Mac side.</description></item><item><title>Convert 7z Archives to ZIP So Anyone Can Open Them</title><link>https://wesellis.com/blog/automated-7z-to-zip-conversion-script-2/</link><guid isPermaLink="true">https://wesellis.com/blog/automated-7z-to-zip-conversion-script-2/</guid><pubDate>Mon, 11 May 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Repack .7z files as plain Deflate ZIPs with UTF-8 file names, including password-protected ones, and test every result before the original goes anywhere.</description></item><item><title>List Installed Software on Windows with PowerShell</title><link>https://wesellis.com/blog/windows-software-inventory-powershell-script/</link><guid isPermaLink="true">https://wesellis.com/blog/windows-software-inventory-powershell-script/</guid><pubDate>Fri, 08 May 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>A quick, safe software inventory from the registry, local or remote, that returns objects you can filter and export instead of a wall of colored text.</description></item><item><title>Removing Stale Windows User Profiles the Right Way</title><link>https://wesellis.com/blog/automated-windows-user-profile-cleanup-script/</link><guid isPermaLink="true">https://wesellis.com/blog/automated-windows-user-profile-cleanup-script/</guid><pubDate>Tue, 05 May 2026 14:00:00 GMT</pubDate><category>Script Library</category><description>Clean old user profiles off shared PCs and servers through Win32_UserProfile, so the folder and the registry entry go together and nobody gets a TEMP profile.</description></item></channel></rss>
