<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: FBNonaMe</title>
    <description>The latest articles on DEV Community by FBNonaMe (@fbnoname).</description>
    <link>https://dev.to/fbnoname</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3743561%2Fc8c177cf-ac58-4d57-bd6a-207b5d7b07ac.jpeg</url>
      <title>DEV Community: FBNonaMe</title>
      <link>https://dev.to/fbnoname</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fbnoname"/>
    <language>en</language>
    <item>
      <title>Sharing lessons and trade-offs from building a Windows admin tool in .NET 8.
Would love feedback from people experienced with WPF, async code, or Windows internals.</title>
      <dc:creator>FBNonaMe</dc:creator>
      <pubDate>Mon, 02 Feb 2026 00:36:38 +0000</pubDate>
      <link>https://dev.to/fbnoname/sharing-lessons-and-trade-offs-from-building-a-windows-admin-tool-in-net-8-would-love-feedback-55ik</link>
      <guid>https://dev.to/fbnoname/sharing-lessons-and-trade-offs-from-building-a-windows-admin-tool-in-net-8-would-love-feedback-55ik</guid>
      <description>&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/fbnoname/what-building-a-windows-admin-tool-taught-me-about-wpf-async-code-and-system-level-software-1kih" class="crayons-story__hidden-navigation-link"&gt;What building a Windows admin tool taught me about WPF, async code, and system-level software&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/fbnoname" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3743561%2Fc8c177cf-ac58-4d57-bd6a-207b5d7b07ac.jpeg" alt="fbnoname profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/fbnoname" class="crayons-story__secondary fw-medium m:hidden"&gt;
              FBNonaMe
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                FBNonaMe
                
              
              &lt;div id="story-author-preview-content-3218644" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/fbnoname" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3743561%2Fc8c177cf-ac58-4d57-bd6a-207b5d7b07ac.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;FBNonaMe&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/fbnoname/what-building-a-windows-admin-tool-taught-me-about-wpf-async-code-and-system-level-software-1kih" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Feb 1&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/fbnoname/what-building-a-windows-admin-tool-taught-me-about-wpf-async-code-and-system-level-software-1kih" id="article-link-3218644"&gt;
          What building a Windows admin tool taught me about WPF, async code, and system-level software
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/wpf"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;wpf&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/dotnet"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;dotnet&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/xamarin"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;xamarin&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/architecture"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;architecture&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/fbnoname/what-building-a-windows-admin-tool-taught-me-about-wpf-async-code-and-system-level-software-1kih" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;2&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/fbnoname/what-building-a-windows-admin-tool-taught-me-about-wpf-async-code-and-system-level-software-1kih#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;




</description>
      <category>wpf</category>
      <category>dotnet</category>
      <category>xamarin</category>
      <category>architecture</category>
    </item>
    <item>
      <title>What building a Windows admin tool taught me about WPF, async code, and system-level software</title>
      <dc:creator>FBNonaMe</dc:creator>
      <pubDate>Sun, 01 Feb 2026 23:48:55 +0000</pubDate>
      <link>https://dev.to/fbnoname/what-building-a-windows-admin-tool-taught-me-about-wpf-async-code-and-system-level-software-1kih</link>
      <guid>https://dev.to/fbnoname/what-building-a-windows-admin-tool-taught-me-about-wpf-async-code-and-system-level-software-1kih</guid>
      <description>&lt;p&gt;Over the last months, I’ve been working on a Windows desktop project that forced me to touch almost every uncomfortable part of the platform:&lt;br&gt;
WPF threading, WinAPI, WMI, admin privileges, system services, and async-heavy UI code.&lt;/p&gt;

&lt;p&gt;Instead of showing features again, I want to share what this project taught me technically — especially things I didn’t expect when I started.&lt;/p&gt;

&lt;p&gt;WPF + async: where most of the pain comes from&lt;/p&gt;

&lt;p&gt;At the beginning, I assumed that using async/await correctly would be enough.&lt;/p&gt;

&lt;p&gt;It wasn’t.&lt;/p&gt;

&lt;p&gt;I ran into:&lt;/p&gt;

&lt;p&gt;UI freezes caused by accidental context capture&lt;/p&gt;

&lt;p&gt;deadlocks between background tasks and Dispatcher calls&lt;/p&gt;

&lt;p&gt;background threads trying to update UI collections&lt;/p&gt;

&lt;p&gt;The fix wasn’t “add more async”, but:&lt;/p&gt;

&lt;p&gt;being explicit about thread boundaries&lt;/p&gt;

&lt;p&gt;isolating system calls from UI logic&lt;/p&gt;

&lt;p&gt;treating the Dispatcher as a strict boundary, not a convenience&lt;/p&gt;

&lt;p&gt;This changed how I structure ViewModels entirely.&lt;/p&gt;

&lt;p&gt;Admin privileges change your architecture&lt;/p&gt;

&lt;p&gt;When your software:&lt;/p&gt;

&lt;p&gt;manages services&lt;/p&gt;

&lt;p&gt;inspects network packets&lt;/p&gt;

&lt;p&gt;touches protected registry keys&lt;/p&gt;

&lt;p&gt;you can’t assume a single execution mode.&lt;/p&gt;

&lt;p&gt;I had to design:&lt;/p&gt;

&lt;p&gt;privilege-aware features&lt;/p&gt;

&lt;p&gt;clear error states instead of silent failures&lt;/p&gt;

&lt;p&gt;fallback behavior when admin rights aren’t available&lt;/p&gt;

&lt;p&gt;That alone pushed the project from “utility app” into system software territory.&lt;/p&gt;

&lt;p&gt;Safety matters more than features&lt;/p&gt;

&lt;p&gt;Early on, I focused on “what can I control”.&lt;/p&gt;

&lt;p&gt;Later, the question became:&lt;/p&gt;

&lt;h2&gt;
  
  
  `
&lt;/h2&gt;

&lt;p&gt;**&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4flatco501pgur2pb9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4flatco501pgur2pb9i.png" alt=" " width="800" height="440"&gt;&lt;/a&gt; “What should I not let the user break?”**&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;protecting critical system services from termination&lt;/p&gt;

&lt;p&gt;mandatory backups before registry edits&lt;/p&gt;

&lt;p&gt;confirmations for destructive actions&lt;/p&gt;

&lt;p&gt;logging everything that modifies the system&lt;/p&gt;

&lt;p&gt;This mindset shift changed the UI and the internal APIs.&lt;/p&gt;

&lt;p&gt;A single tool vs many small tools&lt;/p&gt;

&lt;p&gt;The original goal was convenience.&lt;/p&gt;

&lt;p&gt;But over time, I started questioning:&lt;/p&gt;

&lt;p&gt;Is centralization actually safer?&lt;/p&gt;

&lt;p&gt;Does a unified UI reduce mistakes — or increase them?&lt;/p&gt;

&lt;p&gt;Where does responsibility end: tool or user?&lt;/p&gt;

&lt;p&gt;I still don’t have final answers here.&lt;/p&gt;

&lt;p&gt;Why I’m sharing this&lt;/p&gt;

&lt;p&gt;I’m early in my career, and this project taught me more than any tutorial:&lt;/p&gt;

&lt;p&gt;how Windows really behaves under load&lt;/p&gt;

&lt;p&gt;how fragile system-level code can be&lt;/p&gt;

&lt;p&gt;how important boring, defensive design is&lt;/p&gt;

&lt;p&gt;If you’ve built:&lt;/p&gt;

&lt;p&gt;admin tools&lt;/p&gt;

&lt;p&gt;monitoring software&lt;/p&gt;

&lt;p&gt;system utilities&lt;/p&gt;

&lt;p&gt;I’d love to hear what lessons you learned the hard way.&lt;/p&gt;

&lt;p&gt;If you prefer longer feedback or discussion, you can also message me on Telegram:&lt;br&gt;
👉 &lt;a href="https://t.me/CoreNexusAI" rel="noopener noreferrer"&gt;https://t.me/CoreNexusAI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wpf</category>
      <category>dotnet</category>
      <category>xamarin</category>
      <category>architecture</category>
    </item>
    <item>
      <title>I built a unified Windows system monitor in .NET 8 — lessons, mistakes, and open questions</title>
      <dc:creator>FBNonaMe</dc:creator>
      <pubDate>Sat, 31 Jan 2026 09:39:27 +0000</pubDate>
      <link>https://dev.to/fbnoname/i-built-a-unified-windows-system-monitor-in-net-8-lessons-mistakes-and-open-questions-ajg</link>
      <guid>https://dev.to/fbnoname/i-built-a-unified-windows-system-monitor-in-net-8-lessons-mistakes-and-open-questions-ajg</guid>
      <description>&lt;p&gt;Hi everyone 👋&lt;/p&gt;

&lt;p&gt;I’m 20 years old, and over the last months I’ve been working almost daily on a Windows desktop application called &lt;strong&gt;System Monitor Suite Pro&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This post is not a promotion and not a “check out my cool app” story.&lt;br&gt;
I’m sharing my experience, the design decisions I made, and the questions I still don’t have clear answers to.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I wanted to build (and what I didn’t)
&lt;/h2&gt;

&lt;p&gt;Important upfront:&lt;br&gt;
This is &lt;strong&gt;NOT an antivirus&lt;/strong&gt; and &lt;strong&gt;NOT a one-click optimizer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea was to build a &lt;strong&gt;transparent, admin-oriented system monitoring and diagnostics tool&lt;/strong&gt; — something that lets you &lt;em&gt;see and control&lt;/em&gt; what’s happening in Windows, without magic buttons or hidden behavior.&lt;/p&gt;

&lt;p&gt;I was frustrated by having:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;one tool for monitoring&lt;/li&gt;
&lt;li&gt;another for startup entries&lt;/li&gt;
&lt;li&gt;another for registry&lt;/li&gt;
&lt;li&gt;another for networking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I tried to see if a &lt;strong&gt;single unified tool&lt;/strong&gt; could make sense.&lt;/p&gt;




&lt;h2&gt;
  
  
  Core features
&lt;/h2&gt;

&lt;p&gt;The application currently includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time monitoring (CPU, RAM, disks, network)&lt;/li&gt;
&lt;li&gt;Process manager (tree termination, suspend/resume, protection of critical system processes)&lt;/li&gt;
&lt;li&gt;Startup manager (Registry Run/RunOnce, Startup folders, Task Scheduler, Winlogon)&lt;/li&gt;
&lt;li&gt;Registry editor + safe registry cleanup (always with backups)&lt;/li&gt;
&lt;li&gt;Network scanner + WiFi analyzer&lt;/li&gt;
&lt;li&gt;Packet inspector (admin-only)&lt;/li&gt;
&lt;li&gt;Windows restrictions / policy unlocker&lt;/li&gt;
&lt;li&gt;Backup &amp;amp; restore utilities&lt;/li&gt;
&lt;li&gt;Tray integration, logging, SQLite history&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything is explicit: if something is modified, you know exactly what and where.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tech stack &amp;amp; architecture
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;.NET 8&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WPF + MVVM&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;async/await everywhere (avoiding UI freezes was a hard requirement)&lt;/li&gt;
&lt;li&gt;WMI + WinAPI where appropriate&lt;/li&gt;
&lt;li&gt;SQLite for history and logs&lt;/li&gt;
&lt;li&gt;Inno Setup for a clean installer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A lot of time went into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;async architecture&lt;/li&gt;
&lt;li&gt;avoiding deadlocks&lt;/li&gt;
&lt;li&gt;handling admin-only APIs safely&lt;/li&gt;
&lt;li&gt;graceful degradation when permissions or APIs are unavailable&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Hard lessons learned
&lt;/h2&gt;

&lt;p&gt;Some things I underestimated at first:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How easy it is to freeze a WPF UI with a single wrong async call&lt;/li&gt;
&lt;li&gt;How many Windows APIs silently fail without clear error signals&lt;/li&gt;
&lt;li&gt;How sensitive system-level tools are perceived by users (rightfully so)&lt;/li&gt;
&lt;li&gt;How much effort goes into &lt;strong&gt;making destructive actions safe&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also learned that &lt;em&gt;not&lt;/em&gt; building an antivirus or optimizer actually makes trust harder, because people still expect those labels.&lt;/p&gt;




&lt;h2&gt;
  
  
  Open questions (this is why I’m posting)
&lt;/h2&gt;

&lt;p&gt;I’d really like honest opinions from people with more experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does a single unified Windows admin tool make sense, or is separation better?&lt;/li&gt;
&lt;li&gt;Which parts of such a tool feel inherently risky or unnecessary?&lt;/li&gt;
&lt;li&gt;Would you personally trust a tool like this on your own system?&lt;/li&gt;
&lt;li&gt;What would you absolutely never include in software like this?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m not selling anything and I’m not claiming this is “production ready”.&lt;br&gt;
This is very much a learning-driven project.&lt;/p&gt;

&lt;p&gt;If someone wants to discuss deeper or test it hands-on, I’m open to direct conversation — but feedback in the comments is more than welcome.&lt;/p&gt;

&lt;p&gt;Thanks for reading 🙏&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>xamarin</category>
      <category>devtools</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
