<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tech Tinkering on Glass Ball in a Plastic World</title><link>/en/categories/tech-tinkering/</link><description>Recent content in Tech Tinkering on Glass Ball in a Plastic World</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>hugsyf</copyright><lastBuildDate>Fri, 31 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="/en/categories/tech-tinkering/index.xml" rel="self" type="application/rss+xml"/><item><title>From Dune to Dune Rev: Expanding a Playnite Theme</title><link>/en/post/26-07-31-dune-rev/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate><guid>/en/post/26-07-31-dune-rev/</guid><description>&lt;img src="/post/26-07-31-dune-rev/details-view.png" alt="Featured image of post From Dune to Dune Rev: Expanding a Playnite Theme" /&gt;&lt;p&gt;I have been using &lt;a class="link" href="https://playnite.link/" target="_blank" rel="noopener"&#10; &gt;Playnite&lt;/a&gt; to manage my game library. Among its Desktop themes,&#10;&lt;a class="link" href="https://github.com/sakasakiking/Dune" target="_blank" rel="noopener"&#10; &gt;Dune&lt;/a&gt; fits my taste especially well: spacious composition, rounded&#10;cards, clean visual hierarchy, and an unmistakable WinUI 3 / Fluent Design influence. Unfortunately, it is&#10;a relatively new theme, and its extension compatibility falls well short of more mature alternatives. Some&#10;extension pages rendered black text on black surfaces, while other extensions had nowhere to appear at all.&lt;/p&gt;&#10;&lt;p&gt;Over the course of a day, Codex and I gradually turned it into &lt;strong&gt;&lt;a class="link" href="https://github.com/hugsyf/dune-rev" target="_blank" rel="noopener"&#10; &gt;Dune Rev&lt;/a&gt;&lt;/strong&gt;: a personal fork maintained by me&#10;that preserves the original visual language while adding extension integration and much more control over the&#10;layout.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/26-07-31-dune-rev/details-view.png"&#10; alt="Dune Rev Details View"&#10; width="1200em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;Dune Rev's Details View; summary cards and extension content adapt to the available data&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;h2 id="the-starting-point-a-beautiful-theme-with-an-incomplete-ecosystem"&gt;The Starting Point: A Beautiful Theme with an Incomplete Ecosystem&#10;&lt;/h2&gt;&lt;p&gt;Dune originally advertised support for SuccessStory, HowLongToBeat, Extra Metadata Loader, and&#10;ScreenshotsVisualizer. That was a solid foundation, but my everyday setup uses far more extensions. As a&#10;reference, Mythic already offered mature integration for BackgroundChanger, DuplicateHider, GameActivity,&#10;Library Management, ThemeExtras, Steam news and reviews, ThemeModifier, and more.&lt;/p&gt;&#10;&lt;p&gt;The first visible problem was simply &amp;ldquo;the colors in extension settings are wrong.&amp;rdquo; Once I started inspecting&#10;the XAML, however, it became clear that adding a few brushes would not be enough. A Playnite theme does not&#10;only define appearance; it also hosts plugin controls and supplies resource dictionaries, visibility rules,&#10;and layout contracts. A missing resource key can make text unreadable. An incorrectly named&#10;&lt;code&gt;ContentControl&lt;/code&gt; can prevent an extension from injecting anything. Two views sharing one playback state can&#10;even produce a bug that appears only after switching back and forth between them.&lt;/p&gt;&#10;&lt;h2 id="making-extension-data-part-of-the-theme"&gt;Making Extension Data Part of the Theme&#10;&lt;/h2&gt;&lt;p&gt;I did not want to solve the problem by stacking every plugin panel at the bottom of the page. Extension data&#10;should look like a native part of Dune, so I reorganized the Details View summary area. Last played, total play&#10;time, completion status, achievements, activity, HowLongToBeat, and SystemChecker now share the same card&#10;language.&lt;/p&gt;&#10;&lt;p&gt;The cards follow a few rules:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;A card disappears when its extension is unavailable or the selected game has no corresponding data.&lt;/li&gt;&#10;&lt;li&gt;The remaining cards wrap automatically instead of leaving empty holes.&lt;/li&gt;&#10;&lt;li&gt;Cards that open an extension view have a hover animation to communicate that they are interactive.&lt;/li&gt;&#10;&lt;li&gt;The HowLongToBeat card shows only Main Story, avoiding a cramped row of Main, Main+, and 100% values.&lt;/li&gt;&#10;&lt;li&gt;Full charts, progress bars, and lists remain available in dedicated tabs below the summary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Playnite Achievements turned out to be a special case. It already includes its own theme migration system, so&#10;adding another explicit &amp;ldquo;native&amp;rdquo; host actually duplicated or conflicted with the migrated controls. The final&#10;solution lets the extension continue handling migration while the theme supplies the colors and control&#10;resources it expects. It was a useful reminder that extension support does not always mean writing more code;&#10;first, you need to understand what the extension already does.&lt;/p&gt;&#10;&lt;p&gt;Dune Rev currently covers these major integrations:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Feature&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Extension&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Achievements&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;SuccessStory and Playnite Achievements automatic migration&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Alternative backgrounds&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;BackgroundChanger&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Duplicate copies&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DuplicateHider&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Feature icons&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Library Management&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Favorites and completion status&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ThemeExtras&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Activity history&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GameActivity&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Completion estimates&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HowLongToBeat&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Logos and videos&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Extra Metadata Loader&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Screenshots&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ScreenshotsVisualizer&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Steam news and online players&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Steam News and Players Viewer&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Steam reviews&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Review Viewer&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;System requirements&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;SystemChecker&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Theme customization&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ThemeModifier&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="the-hard-part-was-state-not-visibility"&gt;The Hard Part Was State, Not Visibility&#10;&lt;/h2&gt;&lt;p&gt;Extra Metadata Loader&amp;rsquo;s logo and video integration produced some representative problems. An early build&#10;showed a game icon instead of its logo in Details View. After fixing the control host, video playback exposed a&#10;more subtle state bug: switch from Details View to Grid-Details View and back, and the hero area could no&#10;longer resume the video, even though playback in Grid View continued to work.&lt;/p&gt;&#10;&lt;p&gt;Both views were using the cached standard player, the same RadioButton group name, and the extension&amp;rsquo;s global&#10;&lt;code&gt;IsVideoPlaying&lt;/code&gt; state. The view changed, but the player host and state were not truly isolated. I ultimately&#10;gave each view an independently configured player instance and its own media-selection group, then bound its&#10;play button to that player&amp;rsquo;s state. This is a neat little WPF/XAML lesson: a control leaving the screen does not&#10;mean its state has disappeared, especially when an extension caches objects beyond the local name scope.&lt;/p&gt;&#10;&lt;h2 id="details-view-and-grid-details-view-are-not-the-same-layout"&gt;Details View and Grid-Details View Are Not the Same Layout&#10;&lt;/h2&gt;&lt;p&gt;Width was the other recurring problem. Details View is naturally a widescreen composition: summary cards and&#10;extension tabs on the left, with developers, publishers, ratings, and features on the right. Grid-Details View&#10;is usually a narrow sidebar beside the cover grid. Treating both as one horizontal layout either lets the&#10;information column consume all available space or crushes every card into a narrow strip.&lt;/p&gt;&#10;&lt;p&gt;The two views therefore ended up with independent dimensions and composition rules:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Details View defaults to a 1760 px maximum content width and a 480 px information column.&lt;/li&gt;&#10;&lt;li&gt;Grid View defaults to a 640 px details pane.&lt;/li&gt;&#10;&lt;li&gt;Summary cards wrap in Grid View, with the information panel placed below them.&lt;/li&gt;&#10;&lt;li&gt;Logo, card, extension-panel, button, and top-bar sizes can all be adjusted independently.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/26-07-31-dune-rev/grid-details-view.png"&#10; alt="Dune Rev Grid Details View"&#10; width="1200em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;Grid-Details View uses a purpose-built narrow-pane layout instead of compressing the widescreen page&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;These settings are exposed through ThemeModifier. Its theme-option format currently offers only one&#10;&lt;code&gt;Description&lt;/code&gt; string rather than localized names, so I used consistent &lt;code&gt;English / 简体中文&lt;/code&gt; labels and grouped&#10;them into Global Layout, Details View, Grid View, Extension Panels, and Grid Cover sections. The final result&#10;contains 26 audited options that are genuinely consumed by the theme, rather than sliders that appear in the&#10;settings page without affecting anything.&lt;/p&gt;&#10;&lt;h2 id="why-fluent-dim"&gt;Why Fluent Dim?&#10;&lt;/h2&gt;&lt;p&gt;Dune already warned that its dark mode could have problems. The deeper issue is that Playnite 10 does not&#10;provide extension-injected controls with one reliable, shared light/dark state. The theme&amp;rsquo;s own controls may&#10;switch correctly while a migrated or injected extension page does not. The result is often light text on a&#10;light background or black text on a dark one.&lt;/p&gt;&#10;&lt;p&gt;Instead of maintaining two palettes that would always be partially broken, I settled on a single&#10;&lt;strong&gt;Fluent Dim&lt;/strong&gt; palette. It is more comfortable at night than a conventional light theme without becoming a&#10;high-contrast pure-black theme. Dark blue-gray surfaces, softer white text, and translucent Fluent layers keep&#10;the appearance subdued. Giving up the mode switch buys much more consistent rendering across the main window,&#10;settings dialogs, and extension content.&lt;/p&gt;&#10;&lt;h2 id="turning-a-local-modification-into-a-publishable-fork"&gt;Turning a Local Modification into a Publishable Fork&#10;&lt;/h2&gt;&lt;p&gt;As the changes grew, it no longer made sense to treat the project as a local patch. I named it &lt;strong&gt;Dune Rev&lt;/strong&gt;,&#10;generated a new GUID, updated its theme identity, author, and repository links, and prepared a README,&#10;CHANGELOG, &lt;code&gt;.gitignore&lt;/code&gt;, licenses, and Playnite Add-on and Installer manifests.&lt;/p&gt;&#10;&lt;p&gt;The original project uses the MIT License, which permits forking and redistribution as long as the original&#10;copyright and license notice remain. Dune Rev retains sakasakiking&amp;rsquo;s copyright notice and adds my copyright for&#10;the modifications.&lt;/p&gt;&#10;&lt;p&gt;The release candidate also went through several layers of validation:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;XML parsing for every XAML file.&lt;/li&gt;&#10;&lt;li&gt;Resource-dictionary loading in the real order using Playnite&amp;rsquo;s 32-bit assemblies.&lt;/li&gt;&#10;&lt;li&gt;A Release build with no compilation errors.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;.pthm&lt;/code&gt; packaging with Playnite Toolbox followed by a package-content check.&lt;/li&gt;&#10;&lt;li&gt;Cross-checking ThemeModifier options, manifests, screenshots, and download URLs.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;The 1.0.0 package is now ready. The remaining release steps are to create a GitHub Release and submit the&#10;Add-on manifest to the official&#10;&lt;a class="link" href="https://github.com/JosefNemec/PlayniteAddonDatabase" target="_blank" rel="noopener"&#10; &gt;PlayniteAddonDatabase&lt;/a&gt;, which is how a theme enters&#10;Playnite&amp;rsquo;s built-in add-on browser.&lt;/p&gt;&#10;&lt;h2 id="conclusion"&gt;Conclusion&#10;&lt;/h2&gt;&lt;p&gt;This work began as an attempt to fix the colors on a few extension pages and ended as a complete review of the&#10;theme&amp;rsquo;s layouts, plugin data, state management, and release process. It also demonstrates an interesting part&#10;of Playnite theme development: XAML is not merely a skin. It is a user-interface protocol between the core&#10;application and a collection of independently developed extensions.&lt;/p&gt;&#10;&lt;p&gt;Dune Rev still looks like the Dune theme I liked in the first place, but it now feels much more like a complete&#10;theme I can use long-term. More importantly, it has evolved from a collection of modifications on my computer&#10;into an open-source project with its own identity—one that can be validated, updated, and published for others&#10;to use.&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;This post was co-written by GPT-5.6 Sol High and me.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;</description></item><item><title>Documenting an Old PC Upgrade</title><link>/en/post/25-09-27-pcupgrade/</link><pubDate>Sat, 27 Sep 2025 00:00:00 +0000</pubDate><guid>/en/post/25-09-27-pcupgrade/</guid><description>&lt;img src="/post/25-09-27-pcupgrade/1650.jpg" alt="Featured image of post Documenting an Old PC Upgrade" /&gt;&lt;p&gt;Recently, I&amp;rsquo;ve been feeling that my old desktop computer has fallen seriously behind the times, so I decided to give it a series of upgrades.&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;This is an experiment in tinkering with an old platform, not a recommendation for a mainstream modern build.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h2 id="platform-configuration"&gt;Platform Configuration&#10;&lt;/h2&gt;&lt;p&gt;My original configuration was as follows:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Component&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Details&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;CPU&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Intel Xeon E5 1607 v2 (4C/4T @ 3.0GHz)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Motherboard&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Generic / Unbranded X79&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;16GB Micron DDR3 1333MHz&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Storage 1&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;1TB Western Digital WD1003FZEX (HDD)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Storage 2&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;1TB Western Digital WD10EZEX (HDD)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Graphics Card&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;AMD Radeon RX 6500 XT 4GB&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Network Card&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;TP-Link TL-WDN5280 (RTL8821AE, WiFi 5)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Monitor&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;HP L2245w&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;OS&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Windows 11 Pro 24H2&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;To put it charitably, this setup is like a tableau of computing history: a monitor from 2008, a CPU from 2013, old Western Digital Black and Blue hard drives, and a graphics card from 2022. Anyone with a bit of experience can spot the issues: a weak CPU, a mechanical hard drive struggling to run Windows 11, limited GPU performance, and an ancient single-antenna network card.&lt;/p&gt;&#10;&lt;h2 id="upgrade-strategy"&gt;Upgrade Strategy&#10;&lt;/h2&gt;&lt;p&gt;The most pressing issue with this build was the terrible experience of running Windows 11 on a mechanical hard drive—long boot times and pervasive stuttering. This had to be addressed first by adding an SSD.&lt;/p&gt;&#10;&lt;p&gt;Secondly, the CPU&amp;rsquo;s performance was no longer satisfactory. The E5-1607 v2 is the weakest model in its &lt;a class="link" href="https://www.intel.com/content/www/us/en/ark/products/codename/29902/products-formerly-ivy-bridge.html" target="_blank" rel="noopener"&#10; &gt;Ivy Bridge&lt;/a&gt; E5 family, featuring only four cores at 3.0GHz, a locked multiplier, and no Hyper-Threading.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/1607.jpg"&#10; alt="E5 1607 v2"&#10; width="400em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;The Xeon E5 1607 v2 CPU&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/1607_CPUZ_1.png"&#10; alt="E5 1607 CPU-Z"&#10; width="400em"&#10; &#10; &#10; &#10; &gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&lt;img src="/post/25-09-27-pcupgrade/1607_CPUZ_2.png"&#10; alt="E5 1607 CPU-Z Score"&#10; width="400em"&#10; &#10; &#10; &#10;&gt;&#10;&#10; &lt;figcaption&gt;CPU-Z info and benchmark scores for the E5 1607 v2&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;Furthermore, the outdated single-antenna network card performed very poorly in today&amp;rsquo;s network environment, making it another necessary upgrade.&lt;/p&gt;&#10;&lt;p&gt;The issue of the X79 platform only supporting PCI-E 3.0, which prevents the RX 6500 XT from reaching its full potential, was temporarily ignored as the performance difference isn&amp;rsquo;t particularly significant.&lt;/p&gt;&#10;&lt;h2 id="cpu-upgrade-e5-1650-v2---45-approx-6-usd"&gt;CPU Upgrade: E5 1650 v2 - ¥45 (approx. $6 USD)&#10;&lt;/h2&gt;&lt;h3 id="selection"&gt;Selection&#10;&lt;/h3&gt;&lt;p&gt;Among the available CPUs for the X79 platform, the &lt;a class="link" href="https://www.intel.com/content/www/us/en/products/sku/75780/intel-xeon-processor-e51650-v2-12m-cache-3-50-ghz/specifications.html" target="_blank" rel="noopener"&#10; &gt;E5 1650 v2&lt;/a&gt; is a real standout. With six cores, twelve threads, and a 3.5GHz base frequency, its specifications are very close to the legendary Core &lt;a class="link" href="https://www.intel.com/content/www/us/en/products/sku/77779/intel-core-i74960x-processor-extreme-edition-15m-cache-up-to-4-00-ghz/specifications.html" target="_blank" rel="noopener"&#10; &gt;i7-4960X&lt;/a&gt; Extreme Edition. Its unlocked multiplier also means it can be overclocked to further boost performance. At its current price of ¥45, it&amp;rsquo;s an incredible value.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/1650.jpg"&#10; alt="E5 1650 v2"&#10; width="400em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;The Xeon E5 1650 v2 CPU&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;h3 id="review"&gt;Review&#10;&lt;/h3&gt;&lt;p&gt;Running a CPU with an unlocked multiplier at stock speeds would be a waste. After installing it, I immediately pushed the all-core multiplier to 39 and checked the CPU-Z scores.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/1650_CPUZ_1.png"&#10; alt="E5 1650 v2 CPU-Z"&#10; width="400em"&#10; &#10; &#10; &#10; &gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&lt;img src="/post/25-09-27-pcupgrade/1650_CPUZ_2_3.9.png"&#10; alt="E5 1650 v2 @ 3.9GHz CPU-Z Score"&#10; width="400em"&#10; &#10; &#10; &#10;&gt;&#10;&#10; &lt;figcaption&gt;CPU-Z info and benchmark scores for the E5 1650 v2 @ 3.9GHz&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;My particular chip seems to be of excellent quality (a &amp;ldquo;golden sample&amp;rdquo;), running at 3.5GHz on just 0.864V. After a brief stress test, it handled the load with ease. So, I pushed the overclock further to an all-core 4.0GHz and saw another performance bump.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/1650_CPUZ_2_4.0.png"&#10; alt="E5 1650 v2 CPU-Z @ 4.0GHz Score"&#10; width="800em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;CPU-Z benchmark scores, temperature, and voltage for the E5 1650 v2 @ 4.0GHz&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;Note: I noticed that the voltage reported by Core Temp always seems to be about 0.1V higher than what CPU-Z shows.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;Pushing the overclock to an all-core 4.2GHz resulted in a boot failure. I also found that even at 4.0GHz, the CPU would automatically downclock after a while under a stress test, despite normal temperatures and voltages. I suspect the motherboard&amp;rsquo;s power delivery was overheating and couldn&amp;rsquo;t keep up—after all, you can&amp;rsquo;t expect too much from a generic, unbranded motherboard.&lt;/p&gt;&#10;&lt;p&gt;Therefore, I decided to keep the frequency at a stable all-core 3.9GHz. Compared to the 1607 v2, this provides a substantial performance uplift: a 32.9% increase in single-core performance and an incredible 153.6% increase in multi-core performance.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/CPU-Z-Result.png"&#10; alt="CPU-Z Result"&#10; width="600em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;CPU-Z Benchmark Result&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Benchmark&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;E5 1607 v2 (4C/4T) @ 3.0Ghz&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;E5 1650 v2 (6C/12T) @ 3.9GHz&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Improvement&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Single-Thread&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;284.4&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;377.9&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;+32.9%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Multi-Thread&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;1078.2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;2723.9&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;+153.6%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="storage-upgrade-acer-re100-256gb-ssd---115-approx-16-usd"&gt;Storage Upgrade: Acer RE100 256GB SSD - ¥115 (approx. $16 USD)&#10;&lt;/h2&gt;&lt;h3 id="selection-1"&gt;Selection&#10;&lt;/h3&gt;&lt;p&gt;Since this computer is mainly for playing less demanding games and won&amp;rsquo;t store important data, I opted for a non-first-party SATA SSD: the &lt;a class="link" href="https://www.acerstorage.com/products/acer-ssd-re100-25-sata-iii.html" target="_blank" rel="noopener"&#10; &gt;&lt;strong&gt;Acer RE100 256GB&lt;/strong&gt;&lt;/a&gt;. This drive uses TLC NAND, comes with a 5-year warranty, and the 256GB model has a rated endurance of 140 TBW. At ¥115, the price is quite reasonable. If it fails, I&amp;rsquo;ll just get it replaced under warranty.&lt;/p&gt;&#10;&lt;h3 id="unboxing"&gt;Unboxing&#10;&lt;/h3&gt;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/RE100.jpg"&#10; alt="RE100 Open Box"&#10; width="400em"&#10; &#10; &#10; &#10; &gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&lt;img src="/post/25-09-27-pcupgrade/RE100_Spec.jpg"&#10; alt="RE100 Spec"&#10; width="400em"&#10; &#10; &#10; &#10;&gt;&#10;&#10; &lt;figcaption&gt;Acer RE100 Unboxing&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;The packaging is a simple cardboard box containing the drive itself, a manual, and screws. The back of the box clearly states that the drive is manufactured by &lt;a class="link" href="https://www.biwin.com.cn/" target="_blank" rel="noopener"&#10; &gt;Biwin&lt;/a&gt;, which isn&amp;rsquo;t surprising since Biwin is the company behind Acer&amp;rsquo;s storage products. The drive features a black aluminum alloy casing that feels quite nice.&lt;/p&gt;&#10;&lt;h3 id="review-1"&gt;Review&#10;&lt;/h3&gt;&lt;h4 id="components"&gt;Components&#10;&lt;/h4&gt;&lt;p&gt;Using the &lt;a class="link" href="http://vlo.name:3000/ssdtool/" target="_blank" rel="noopener"&#10; &gt;FlashID&lt;/a&gt; utility, you can identify the drive&amp;rsquo;s controller and NAND flash.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/RE100_NAND.png"&#10; alt="RE100 Controller &amp;amp; NAND"&#10; width="600em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;Acer RE100 controller and NAND information&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;My specific drive uses a &lt;a class="link" href="https://www.maxio-tech.com/" target="_blank" rel="noopener"&#10; &gt;Maxio&lt;/a&gt; &lt;a class="link" href="https://www.maxio-tech.com/product/11628/11630/11650/11976/" target="_blank" rel="noopener"&#10; &gt;MAS1102&lt;/a&gt; controller and &lt;a class="link" href="https://www.micron.com/" target="_blank" rel="noopener"&#10; &gt;Micron&amp;rsquo;s&lt;/a&gt; 232-layer TLC NAND in a DRAM-less design. This configuration is appropriate for its price point.&lt;/p&gt;&#10;&lt;h4 id="performance"&gt;Performance&#10;&lt;/h4&gt;&lt;p&gt;A &lt;a class="link" href="https://crystalmark.info/en/software/crystaldiskmark/" target="_blank" rel="noopener"&#10; &gt;CrystalDiskMark&lt;/a&gt; test shows performance typical for a low-end SSD.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/RE100_CDM.png"&#10; alt="RE100 CDMark Result"&#10; width="600em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;CrystalDiskMark Test Results&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;Using the &amp;ldquo;Baiyan&amp;rdquo; testing software (developed by a Chinese developer at epcdiy.org) to perform a full-disk write test, the speed initially holds at around 500 MB/s. After about 40GB of data is written, the simulated SLC cache is exhausted, and the speed drops to approximately 50 MB/s.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/RE100_BY_1.png"&#10; alt="Baiyan Result 1"&#10; width="400em"&#10; &#10; &#10; &#10; &gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&#10;&lt;img src="/post/25-09-27-pcupgrade/RE100_BY_2.png"&#10; alt="Baiyan Result 2"&#10; width="400em"&#10; &#10; &#10; &#10;&gt;&#10;&#10; &lt;figcaption&gt;"Baiyan" Test Results&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;h4 id="software"&gt;Software&#10;&lt;/h4&gt;&lt;p&gt;The official software provided is Biwin&amp;rsquo;s own drive management tool, &lt;a class="link" href="https://www.acerstorage.com/support/biwinintelligence-download/" target="_blank" rel="noopener"&#10; &gt;Biwin Intelligence&lt;/a&gt;, which offers features like performance testing, data migration, and secure erase.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/RE100_SFT.png"&#10; alt="Biwin Intelligence"&#10; width="600em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;Biwin Intelligence Software Interface&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;h2 id="network-card-upgrade-rtl8852be---kit-for-28-approx-4-usd"&gt;Network Card Upgrade: RTL8852BE - Kit for ¥28 (approx. $4 USD)&#10;&lt;/h2&gt;&lt;h3 id="selection-and-installation"&gt;Selection and Installation&#10;&lt;/h3&gt;&lt;p&gt;I happened to have a spare RTL8852BE wireless card salvaged from a laptop. This card is primarily shipped to OEMs and supports WiFi 6 and Bluetooth 5.3. However, its 5GHz bandwidth is limited to 80MHz, and early drivers had issues, giving it a poor reputation. But since I already had it, there was no need to buy a new one.&lt;/p&gt;&#10;&lt;p&gt;I purchased an M.2 to PCI-E adapter board along with external extension antennas for a total of &lt;strong&gt;¥28&lt;/strong&gt;. This setup also makes it easy to upgrade to something like an Intel AX210 in the future.&lt;/p&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/Wireless.jpg"&#10; alt="M.2 to PCI-E Adaptor"&#10; width="600em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;RTL8852BE, M.2 to PCI-E adapter board, and accompanying antennas&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;I removed the old card, installed the new one, connected the Bluetooth cable to a motherboard USB 2.0 header, attached the antennas, and the job was done.&lt;/p&gt;&#10;&lt;h3 id="drivers"&gt;Drivers&#10;&lt;/h3&gt;&lt;p&gt;Perhaps because it&amp;rsquo;s an OEM part, I couldn&amp;rsquo;t find a driver download link on the &lt;a class="link" href="https://www.realtek.com/" target="_blank" rel="noopener"&#10; &gt;Realtek&lt;/a&gt; website. Attempts to install OEM drivers or use driver utility software resulted in errors.&lt;/p&gt;&#10;&lt;p&gt;Ultimately, I found a working &lt;a class="link" href="https://driverpack.io/en/devices/wifi/realtek/realtek-8852be-wireless-lan-wifi-6-pci-e-nic?os=windows-10-x64" target="_blank" rel="noopener"&#10; &gt;driver&lt;/a&gt; on &lt;a class="link" href="https://driverpack.io/en" target="_blank" rel="noopener"&#10; &gt;DriverPack&lt;/a&gt;, and after downloading and installing it, the card worked perfectly.&lt;/p&gt;&#10;&lt;h2 id="other-upgrades-mijia-smart-power-on-card---15-approx-2-usd"&gt;Other Upgrades: Mijia Smart Power-On Card - ¥15 (approx. $2 USD)&#10;&lt;/h2&gt;&lt;p&gt;I also bought a Mijia Smart Power-On Card, which is essentially a Bluetooth Mesh switch. You connect the case&amp;rsquo;s power switch (PWR) cable to the card, then connect the card&amp;rsquo;s PWR cable to the motherboard. Plug the card into a PCI-E slot, power it on, and add it to the Mijia (Xiaomi Home) app. This allows you to control the computer&amp;rsquo;s power state through the app.&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;Requires a &lt;strong&gt;Bluetooth Mesh Gateway&lt;/strong&gt;.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/Mihome.jpg"&#10; alt="Xiaomi Smart Home BMesh Switch"&#10; width="600em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;The Mijia Power-On Card&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;figure&gt;&#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &#10; &lt;img src="/post/25-09-27-pcupgrade/Mihome_c.jpg"&#10; alt="Xiaomi Smart Home BMesh Switch"&#10; width="600em"&#10; &#10; &#10; &#10; &gt;&#10;&#10; &lt;figcaption&gt;The interface in the Mijia app is identical to other Bluetooth Mesh switches&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;h2 id="conclusion"&gt;Conclusion&#10;&lt;/h2&gt;&lt;p&gt;The total cost of this upgrade was about &lt;strong&gt;¥200 (approx. $28 USD)&lt;/strong&gt;. The main improvements were to the CPU, storage, and networking, breathing new life into this old platform and making it ready to last another five years!&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Aspect&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Before Upgrade&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;After Upgrade&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Slow boot times, very laggy system response.&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;With an SSD as the system drive, boot-up takes only seconds, and the system is silky smooth.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;CPU&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Four cores and four threads, rather weak performance.&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Performance more than doubled.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Network&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Single-antenna WiFi 5 card, poor signal, no built-in Bluetooth.&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;WiFi 6 card with double the speed, a stable connection, and built-in Bluetooth.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;strong&gt;Smart Features&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;-&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Integrated with Mijia for voice or remote power control and supports home automation.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;</description></item></channel></rss>