<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>circuitshelter</title>
    <link>https://circuitshelter.com/</link>
    <description>Recent content on circuitshelter</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 24 Apr 2025 13:51:26 +0000</lastBuildDate><atom:link href="https://circuitshelter.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ad blocking, privacy, and common sense from a macOS perspective</title>
      <link>https://circuitshelter.com/posts/adblocking-in-macos/</link>
      <pubDate>Thu, 24 Apr 2025 13:51:26 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/adblocking-in-macos/</guid>
      <description>Let&amp;rsquo;s look at what we have for an &amp;ldquo;obvious TOP 3 things&amp;rdquo; (Safari/WebKit, Chromium/Blink, Firefox/Gecko). Initially there are many options, especially with all the forks. However, this list narrows down significantly after introducing three obvious requirements:
Open-source (in case of 3rd party tools)
Transparency. Being able to react and contribute to changes is a must. This also helps to eliminate (or at least to highlight) shady practices like secret deals with advertisers.</description>
      <content>&lt;p&gt;Let&amp;rsquo;s look at what we have for an &amp;ldquo;obvious TOP 3 things&amp;rdquo; (&lt;a href=&#34;https://www.apple.com/safari/&#34;&gt;Safari&lt;/a&gt;/&lt;a href=&#34;https://webkit.org&#34;&gt;WebKit&lt;/a&gt;, &lt;a href=&#34;https://www.chromium.org/&#34;&gt;Chromium&lt;/a&gt;/&lt;a href=&#34;https://www.chromium.org/blink/&#34;&gt;Blink&lt;/a&gt;, &lt;a href=&#34;https://www.mozilla.org/en-US/firefox/&#34;&gt;Firefox&lt;/a&gt;/&lt;a href=&#34;https://firefox-source-docs.mozilla.org/overview/gecko.html&#34;&gt;Gecko&lt;/a&gt;).
Initially there are many options, especially with all the forks. However, this list narrows down significantly after introducing three obvious requirements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Open-source (in case of 3rd party tools)&lt;/strong&gt;&lt;br&gt;
Transparency. Being able to react and contribute to changes is a must. This also helps to eliminate (or at least to highlight) shady practices like secret deals with advertisers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Traceable product owners&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Your browser and content filter know everything.&lt;/strong&gt; Trusting an anonymous developer isn’t the best idea. Real people and companies have much more on a line when it comes to accountability, as their careers and reputations are directly affected.&lt;br&gt;
&lt;code&gt;I’m always surprised when people use things without knowing who’s behind them, especially for critical stuff.&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Decent performance&lt;/strong&gt;&lt;br&gt;
It should obviously do the job well.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;safari--ghostery&#34;&gt;Safari + Ghostery&lt;/h1&gt;
&lt;h2 id=&#34;safari&#34;&gt;Safari&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://www.apple.com/safari/&#34;&gt;Safari&lt;/a&gt; is likely the fastest and certainly the most well-integrated thing available for macOS. Apple keeps its web browser simple and uncluttered, without any fuss around, which is kinda rare nowadays. It also blocks common trackers on its own.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Filtering API&lt;/strong&gt;&lt;br&gt;
Safari offers a &lt;a href=&#34;https://developer.apple.com/documentation/safariservices/creating-a-content-blocker&#34;&gt;native content blocking API&lt;/a&gt; that is quite fast and efficient (amazing for battery life). However, it has many limitations, mostly for security reasons. Extensions need to jump through a lot of hoops to be able to filter complex content like a YouTube page.&lt;/p&gt;
&lt;h2 id=&#34;ghostery&#34;&gt;Ghostery&lt;/h2&gt;
&lt;p&gt;The story of &lt;a href=&#34;https://www.ghostery.com/&#34;&gt;Ghostery&lt;/a&gt; is quite a rollercoaster. It started in 2009 as a promising anti-tracking project, doing very well. However, things went downhill when it was acquired by a marketing-oriented company (twice). During those dark days, they shared data with advertisers, tried to remove negative reviews, and leaked some email addresses of their users.&lt;br&gt;
Currently, Ghostery has new owners who seem to be doing their best to turn things around. The project has moved to an open-source model and trying to be engaged with its small community. Performance-wise, Ghostery is quite impressive when compared to what is available for Safari.&lt;br&gt;
They also maintaining a &lt;a href=&#34;https://www.ghostery.com/whotracksme&#34;&gt;public tracker database&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id=&#34;brave-chromium&#34;&gt;Brave (Chromium)&lt;/h1&gt;
&lt;p&gt;Simply put, &lt;a href=&#34;http://brave.com/&#34;&gt;Brave&lt;/a&gt; aims to deliver privacy oriented &amp;ldquo;Chromium experience&amp;rdquo;. The company behind it was founded by a guy who started JavaScript and also co-founded Mozilla back in the day. They did a pretty good job at &lt;a href=&#34;https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-%28features-we-disable-or-remove%29&#34;&gt;stripping out the creepy stuff from Google and hardening&lt;/a&gt;. However, they also add Web3 and crypto features, though you can easily opt out of those. Brave also includes a &lt;a href=&#34;https://support.brave.com/hc/en-us/articles/360018121491-What-is-a-Private-Window-with-Tor-Connectivity&#34;&gt;built-in Tor implementation&lt;/a&gt;, although it worth mentioning that early versions had &lt;a href=&#34;https://github.com/brave/brave-browser/issues?q=label%3Afeature%2Ftor%2Fleakproofing%20&#34;&gt;some nasty bugs in it&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In Brave you also can get a &lt;a href=&#34;https://brave.com/brave-rewards/&#34;&gt;rewards (in their own crypto)&lt;/a&gt; by allowing some ads&amp;hellip; yep.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Filtering API&lt;/strong&gt;&lt;br&gt;
Brave is quite unique; it has a &lt;a href=&#34;https://brave.com/blog/improved-ad-blocker-performance/&#34;&gt;built-in content blocker written in Rust&lt;/a&gt; which is very close to a performance of &lt;a href=&#34;#firefox--ublock-origin&#34;&gt;FF+uBo&lt;/a&gt; (which is fantastic), but can be very power-hungry as well. The fact that it&amp;rsquo;s not affected by &lt;a href=&#34;https://github.com/uBlockOrigin/uBlock-issues/wiki/About-Google-Chrome&#39;s-%22This-extension-may-soon-no-longer-be-supported%22&#34;&gt;Google’s Manifest V3 rollout&lt;/a&gt; plays a significant role here.&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id=&#34;firefox--ublock-origin&#34;&gt;Firefox + UBlock Origin&lt;/h1&gt;
&lt;h2 id=&#34;firefox&#34;&gt;Firefox&lt;/h2&gt;
&lt;p&gt;The current state of &lt;a href=&#34;https://www.mozilla.org/en-US/firefox/&#34;&gt;Firefox&lt;/a&gt; and its future is quite controversial. Mozilla&amp;rsquo;s focus shifted from open standards towards &lt;a href=&#34;https://www.mozilla.org/en-US/advertising/&#34;&gt;advertising&lt;/a&gt; and &lt;a href=&#34;https://blog.mozilla.org/en/mozilla/introducing-mozilla-ai-investing-in-trustworthy-ai/&#34;&gt;AI&lt;/a&gt;, and they are constantly surrounded by drama and scandals in recent years. They also love to &lt;a href=&#34;https://simonwillison.net/2018/Apr/12/in-depth-data-pipeline-detail/&#34;&gt;collect user data&lt;/a&gt;. To an extent where Firefox now has telemetry that &lt;a href=&#34;https://github.com/mozilla/gecko-dev/blob/master/browser/moz.configure&#34;&gt;can be disabled only during compilation&lt;/a&gt;. And things got only &lt;a href=&#34;https://github.com/mozilla/bedrock/commit/d459addab846d8144b61939b7f4310eb80c5470e&#34;&gt;worse&lt;/a&gt; after &lt;a href=&#34;https://lwn.net/Articles/1012788/&#34;&gt;Mozilla stated in 2025 to have a right to use almost everything that a user puts in a browser window&lt;/a&gt;, which expectedly sparked a massive backlash. Despite some attempts to backtrack, the damage to their reputation was done.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To add insult to injury, Mozilla’s primary source of income is Google, which recently lost an antitrust case alleging Google’s illegal advertising monopoly. 🙈&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Filtering API&lt;/strong&gt;&lt;br&gt;
Firefox offers the &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest&#34;&gt;most powerful API&lt;/a&gt;; extensions can do almost anything with any type of requests. Which means top performance. On the other hand, you are going to be totally screwed if such extension gets compromised.&lt;/p&gt;
&lt;h2 id=&#34;ublock-origin&#34;&gt;UBlock Origin&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/gorhill/uBlock&#34;&gt;UBlock Origin&lt;/a&gt; is universally considered a top performer when it comes to ads and tracker blocking; there is no controversial stuff (so far). The only thing that sparks concern is that it’s heavily relying on just one person.&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id=&#34;final-thoughts&#34;&gt;Final thoughts&lt;/h1&gt;
&lt;p&gt;Things are complex and uncertain. The current state of the web leaves a lot to be desired. &amp;ldquo;Privacy first&amp;rdquo; solutions often do pretty weird stuff, and most likely there are a lot of things that stay under the radar.&lt;/p&gt;
&lt;h2 id=&#34;the-possibility-of-an-alternative-approach&#34;&gt;The possibility of an alternative approach&lt;/h2&gt;
&lt;p&gt;Avoid places with intrusive tracking and ads, &lt;strong&gt;cold turkey.&lt;/strong&gt; Find better alternatives that treat their users better. Also, it’s always a good idea to periodically reevaluate things you spend your time on and just cut the crap. Always try to have a clear understanding of &lt;strong&gt;WHY&lt;/strong&gt; you need something. And if you absolutely love to have things like YouTube in your life, maybe buying a &amp;ldquo;pro” subscription is the way to go.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The bottom line is: You can do quite well without any special tools just by avoiding bad places. Take care!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://circuitshelter.com/img/touchgrass.png&#34; alt=&#34;good ending unlocked!&#34;&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Persistent port forwarding for NAT-PMP clients on Linux</title>
      <link>https://circuitshelter.com/posts/nat-pmp-auto-mapping/</link>
      <pubDate>Tue, 20 Aug 2024 06:54:29 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/nat-pmp-auto-mapping/</guid>
      <description>NAT Port Mapping is a convenient way to dynamically forward ports for clients, it is quite widely used and appreciated for its simplicity. Unfortunately, sometimes implementation on the application side is lacking. In such cases, and also if you need to deal with a firewall (UFW in this example), you can do a quick fix with some shellscripting and natpmpc utility.</description>
      <content>&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc6886&#34;&gt;NAT Port Mapping&lt;/a&gt; is a convenient way to dynamically forward ports for clients, it is quite widely used and appreciated for its simplicity.  Unfortunately, sometimes implementation on the application side is lacking. In such cases, and also if you need to deal with a firewall (&lt;a href=&#34;https://help.ubuntu.com/community/UFW&#34;&gt;UFW&lt;/a&gt; in this example), you can do a quick fix with some shellscripting and &lt;code&gt;natpmpc&lt;/code&gt; utility.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/vdbsh/cc129c90e978a1ddb222446f68e67080.js&#34;&gt;&lt;/script&gt;

</content>
    </item>
    
    <item>
      <title>Low-tech Magazine</title>
      <link>https://circuitshelter.com/posts/low-tech-magazine/</link>
      <pubDate>Tue, 13 Aug 2024 04:39:35 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/low-tech-magazine/</guid>
      <description>Low-tech Magazine questions the belief in technological progress, and highlights the potential of past knowledge and technologies for designing a sustainable society. Because a web redesign was long overdue – and because we try to practice what we preach – we decided to build a low-tech website that meets our needs and abides by our principles.
https://solar.lowtechmagazine.com/about/the-solar-website/
Other than just a very cool concept, this project has amazing practical articles on the subject of alternative solutions in tech.</description>
      <content>&lt;blockquote&gt;
&lt;p&gt;Low-tech Magazine questions the belief in technological progress,
and highlights the potential of past knowledge and technologies for designing a sustainable society. Because a web redesign was long overdue – and because we try to practice what we preach – we decided to build a low-tech website that meets our needs and abides by our principles.&lt;br&gt;
&lt;a href=&#34;https://solar.lowtechmagazine.com/about/the-solar-website/&#34;&gt;https://solar.lowtechmagazine.com/about/the-solar-website/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Other than just a very cool concept, this project has amazing practical articles on the subject of alternative solutions in tech.&lt;/p&gt;
&lt;p&gt;Like this one: &lt;a href=&#34;https://solar.lowtechmagazine.com/2015/10/how-to-build-a-low-tech-internet/&#34;&gt;How to Build a Low-tech Internet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Side-note&lt;/strong&gt; &lt;br&gt;
They are now building their site with &lt;a href=&#34;https://solar.lowtechmagazine.com/2023/06/rebuilding-a-solar-powered-website/&#34;&gt;Hugo&lt;/a&gt; 👏&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Run custom screensaver on a modern GNOME/Wayland desktops</title>
      <link>https://circuitshelter.com/posts/run-custom-screensaver-on-modern-gnome-desktops/</link>
      <pubDate>Fri, 02 Aug 2024 19:50:01 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/run-custom-screensaver-on-modern-gnome-desktops/</guid>
      <description>There is no way to run anything custom as a screensaver on modern GNOME, well, not &amp;ldquo;natively&amp;rdquo; 🙂. Such functionality has been stripped a long time ago (around 2011 in GNOME 3.something). Canonical planned to reimplement the thing, but idea was abandoned after some time.
Anyway, if your system can detect user inactivity and sleep-inhibitors, you can script it yourself.</description>
      <content>&lt;p&gt;There is no way to run anything custom as a screensaver on modern GNOME, well, not &amp;ldquo;natively&amp;rdquo; 🙂. Such functionality has been stripped a long time ago &lt;a href=&#34;https://mail.gnome.org/archives/gnome-shell-list/2011-March/msg00340.html&#34;&gt;(around 2011 in GNOME 3.something)&lt;/a&gt;. &lt;a href=&#34;https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-screensaver&#34;&gt;Canonical planned to reimplement the thing, but idea was abandoned after some time.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Anyway, if your system can detect user inactivity and sleep-inhibitors, you can script it yourself.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/vdbsh/a9f0723708a4393d42a0d768d831c4df.js&#34;&gt;&lt;/script&gt;

</content>
    </item>
    
    <item>
      <title>Turn your old laptop into low-end gaming machine</title>
      <link>https://circuitshelter.com/posts/turn-your-old-laptop-into-low-end-gaming-machine/</link>
      <pubDate>Sun, 28 Jul 2024 00:13:34 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/turn-your-old-laptop-into-low-end-gaming-machine/</guid>
      <description>Typical low-end laptop specs 10+ years old jank from a budget line-up.
CPU: Mid-tier/limited (even back when it was released), likely from Haswell era RAM: 8Gb, ancient and unupgradable GPU: iGPU + NVIDIA M-something STORAGE: ~256Gb SATA HDD, that is still somehow works This post was &amp;quot;inspired&amp;quot; by experience with potatoes like that.
Why Windows is a NO-GO for an old laptops but Linux do the job.
Expectations: OS detects and drives all your hardware properly Reality: Sometimes there just no drivers for your old crap (especially on Wndows 10+).</description>
      <content>&lt;h1 id=&#34;typical-low-end-laptop-specs&#34;&gt;Typical low-end laptop specs&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;10+ years old jank from a budget line-up.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CPU:&lt;/strong&gt; Mid-tier/limited (even back when it was released), likely from Haswell era&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RAM:&lt;/strong&gt; 8Gb, ancient and unupgradable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPU:&lt;/strong&gt; iGPU + NVIDIA M-something&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;STORAGE:&lt;/strong&gt;  ~256Gb SATA HDD, that is still somehow works&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;This post was &amp;quot;inspired&amp;quot; by experience with potatoes like that.&lt;/code&gt;&lt;/p&gt;
&lt;h1 id=&#34;why-windows-is-a-no-go-for-an-old-laptops&#34;&gt;Why Windows is a NO-GO for an old laptops&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;but Linux do the job.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Expectations&lt;/strong&gt;: &lt;code&gt;OS detects and drives all your hardware properly&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reality&lt;/strong&gt;: &lt;strong&gt;Sometimes there just no drivers for your old crap (especially on Wndows 10+).&lt;/strong&gt; Sometimes drivers are buggy or/and limited, ex. lacking &lt;a href=&#34;https://www.vulkan.org/tools#vulkan-gpu-resources&#34;&gt;Vulkan implementation&lt;/a&gt; for your old GPU, since manufacturer stopped care many years ago. In contrast, linux kernel most likely has driver for your device + some extra fixes, since community still care.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expectations&lt;/strong&gt;: &lt;code&gt;OS runs stable&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reality&lt;/strong&gt;: Old hardware are well known source of random BSODs on modern Windows. Linux typically behave much better.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expectations&lt;/strong&gt;: &lt;code&gt;OS receives updates regularly and installs them in non-intrusive way&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reality&lt;/strong&gt;: You know how it is 🙈&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expectations&lt;/strong&gt;: &lt;code&gt;OS has low overhead&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reality&lt;/strong&gt;: Windows always gonna do a lot of stuff in the background (even when you cripple it by &amp;ldquo;de-bloating&amp;rdquo;). &lt;strong&gt;It&amp;rsquo;s almost impossible to make Windows do ONLY that ONE particular thing that YOU want. Linux distro can do a great job of standing out of your way.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Other reasons&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows installation can be a total p-i-a, since your old buddy probably lacking TPM and other things that Windows 10+ so desperately needs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://help.steampowered.com/en/faqs/view/4784-4F2B-1321-800A&#34;&gt;Steam dropped support for Windows &amp;lt;= 10&lt;/a&gt; (&lt;a href=&#34;https://www.microsoft.com/en-us/windows/end-of-support&#34;&gt;and Windows 10 will reach EOL in 2025&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Using unsupported Windows version is a security hazard.&lt;/li&gt;
&lt;li&gt;Windows is not free of charge. Obviously.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;choosing-the-right-linux-distro&#34;&gt;Choosing the right Linux distro&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;avoid following the hype.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Grabbing &lt;a href=&#34;https://github.com/ValveSoftware/SteamOS/wiki/Getting-Started&#34;&gt;SteamOS&lt;/a&gt; and shoving it into your poor potato most likely not gonna end well! Despite being &amp;ldquo;gaming oriented OS&amp;rdquo; it is quite HEAVY AND HARDWARE-SPECIFIC. Popular full blown desktop distros like Pop!_OS are also sub-optimal for low-end devices, because of their full blown fat &lt;a href=&#34;https://en.wikipedia.org/wiki/Desktop_environment&#34;&gt;DEs&lt;/a&gt;. Same goes for a thing called &lt;a href=&#34;https://bazzite.gg&#34;&gt;Bazzite&lt;/a&gt;, too fat, too complicated, new hardware only.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://lubuntu.me/&#34;&gt;&lt;strong&gt;Lubuntu&lt;/strong&gt;&lt;/a&gt; can be a quite decent choice, it only takes about &lt;code&gt;500&lt;/code&gt;(&lt;strong&gt;Mb!!!&lt;/strong&gt;) of your RAM and do almost nothing in a background. To my knowledge it is the lightest distro available, that is still easy to install and use. It runs really fast and feels like something from XP era, thanks to &lt;a href=&#34;https://lxqt-project.org/&#34;&gt;LXQt desktop environment&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Further topics are based on experience with Lubuntu 24.04 LTS (Noble Numbat).&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;installation-notes&#34;&gt;Installation notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ubuntu.com/about/release-cycle&#34;&gt;LTS version&lt;/a&gt; will provide packages that are more stable.&lt;/li&gt;
&lt;li&gt;Minimal installation option is an obvious choice for our use-case.&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;ll probably want to opt-out from full disk encryption, since it&amp;rsquo;s &lt;a href=&#34;https://www.phoronix.com/review/linux311_disk_encryption&#34;&gt;gonna take its toll on performance&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;We are not going to use Snap or Flatpack for this setup, otherwise we introduce noticeable overheads, &lt;a href=&#34;https://mastodon.social/@TTimo/111772575146054328&#34;&gt;as well as some hard to trace issues&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl stop var-snap-*
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove --purge snapd
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Package: snapd
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Pin: release a=*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Pin-Priority: -10
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt; | sudo tee /etc/apt/preferences.d/nosnap
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Install proprietary drivers if you need to (ex. for an old NVIDIA GPU)&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ubuntu-drivers devices | grep recommended 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ubuntu-drivers install nvidia:XXX
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo prime-select nvidia
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Install some packages&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install procps featherpad partitionmanager qdirstat exfatprogs lm-sensors fancontrol smartmontools mesa-utils libd3dadapter9-mesa libd3dadapter9-mesa:i386 vdpau-driver-all mesa-vdpau-drivers:i386 ffmpeg vlc qbittorrent gamemode k3b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/tsujan/FeatherPad&#34;&gt;featherpad&lt;/a&gt;&lt;/strong&gt;: lightweight Qt-based text editor.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://apps.kde.org/en-gb/partitionmanager/&#34;&gt;partitionmanager&lt;/a&gt;&lt;/strong&gt;: Qt version of &lt;a href=&#34;https://gparted.org/&#34;&gt;GParted&lt;/a&gt; partition manager.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://github.com/shundhammer/qdirstat&#34;&gt;qdirstat&lt;/a&gt;&lt;/strong&gt;: light and blazing fast disk analyzer (shows where your disk space has gone and help you to clean it up). I wonder why it wasn&amp;rsquo;t included in Lubuntu by default.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://github.com/exfatprogs/exfatprogs&#34;&gt;exfatprogs&lt;/a&gt;&lt;/strong&gt;: contain all of the standard utilities for creating, fixing and debugging exfat filesystem on Linux. Also wondering why it&amp;rsquo;s not out of the box.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://wiki.archlinux.org/title/Lm_sensors&#34;&gt;lm-sensors&lt;/a&gt;&lt;/strong&gt;: (Linux monitoring sensors) provides tools and drivers for monitoring temperatures, voltage, and fans.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://wiki.archlinux.org/title/Fan_speed_control#Fancontrol_(lm-sensors)&#34;&gt;fancontrol&lt;/a&gt;&lt;/strong&gt;: can be used to control the speed of CPU fan.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://www.smartmontools.org&#34;&gt;smartmontools&lt;/a&gt;&lt;/strong&gt;: allows to read S.M.A.R.T. values from most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases this will provide advanced warning of disk degradation and failure.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://www.mesa3d.org/&#34;&gt;mesa-utils&lt;/a&gt;&lt;/strong&gt;: contains essential mesa utilities like glxgears.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/VDPAU&#34;&gt;vdpau-driver-all&lt;/a&gt;&lt;/strong&gt;: Video Decode and Presentation API for Unix, provides hardware acceleration.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://docs.mesa3d.org/gallium-nine.html&#34;&gt;libd3dadapter9-mesa&lt;/a&gt;&lt;/strong&gt;: Gallium3D state tracker that implements the Direct3D9 API. Combined with the gallium-nine branch of Wine or Steam Proton, programs using D3D9 can achieve native (or better) graphics performance.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://ffmpeg.org/&#34;&gt;ffmpeg&lt;/a&gt;&lt;/strong&gt;: a complete cli solution to record, convert and stream audio and video.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://www.videolan.org/vlc/&#34;&gt;vlc&lt;/a&gt;&lt;/strong&gt;: multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming
protocols.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://www.qbittorrent.org/&#34;&gt;qbittorrent&lt;/a&gt;&lt;/strong&gt;: fast and reliable Qt-based BitTorrent client.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://github.com/FeralInteractive/gamemode&#34;&gt;gamemode&lt;/a&gt;&lt;/strong&gt;: a daemon/lib combo that allows games to request a set of optimizations be temporarily applied to the host OS and/or a game process.&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;https://apps.kde.org/en-gb/k3b/&#34;&gt;k3b&lt;/a&gt;&lt;/strong&gt;: most likely your laptop still has an optical disc drive (and that&amp;rsquo;s a good thing). This app will handle every CD/DVD/BD related task: burning, imaging, ripping you name it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://support.mozilla.org/en-US/kb/install-firefox-linux#w_install-firefox-deb-package-for-debian-based-distributions&#34;&gt;Official Firefox .deb package for Debian-based distributions&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://repo.steampowered.com/steam/&#34;&gt;Official Steam .deb package for Ubuntu LTS&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.retroarch.com/index.php?page=linux-instructions&#34;&gt;Official Retroarch PPA&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;The only service that is somewhat worth disabling is &lt;a href=&#34;https://openprinting.github.io/cups/&#34;&gt;CUPS&lt;/a&gt; (since you&amp;rsquo;ll probably never gonna use it on gaming machine)&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl disable cups.service
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl disable cups-browsed.service
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl disable cups.socket
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl disable cups.path
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl disable cups-browsed.socket
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;what-to-expect&#34;&gt;What to expect&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;let&amp;rsquo;s be realistic.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Expecting drastic FPS increase would be silly. The main benefits here are uninterrupted gameplay and lower latencies, as well as OS that works with your antique stuff and still actively supported. Sometimes you can get moderate boosts for certain titles, but &lt;strong&gt;there is obviously no way around hardware bottlenecks&lt;/strong&gt;. Anyway, here is a very basic representation of what can be achieved:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Environment&lt;/th&gt;
&lt;th&gt;Average performance increase vs Windows&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Native&lt;/td&gt;
&lt;td&gt;5%-15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Translated with Steam Proton*&lt;/td&gt;
&lt;td&gt;5%-10%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Emulation&lt;/td&gt;
&lt;td&gt;5%-10%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href=&#34;https://www.protondb.com/&#34;&gt;Steam Proton&lt;/a&gt; is a way to go for Windows games. Not everything gonna work well, or even launch. But in a lot of cases if it runs, it runs on a par with Windows configuration or better.&lt;/p&gt;
&lt;h1 id=&#34;side-notes&#34;&gt;Side-notes&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Get an SSD.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If you can choose a GPU, go with AMD, NVIDIA linux drivers still sucks.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://x.org/wiki/&#34;&gt;X.org/X11&lt;/a&gt; works better for an old stuff, both software and hardware &lt;a href=&#34;https://github.com/X11Libre/xserver&#34;&gt;and it will continue to be supported&lt;/a&gt;. Wayland is primarily build with modern things in mind and legacy stuff WILL BREAK.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s preferable to use &lt;strong&gt;wired (since most old bluetooth chips are crap) gamepads&lt;/strong&gt; that has drivers implemented directly in linux kernel (ex. &lt;a href=&#34;https://lore.kernel.org/lkml/Y%2Fhc1bPMmOlD+vW2@google.com/&#34;&gt;8BitDo Pro 2&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Things that do &lt;a href=&#34;https://en.wikipedia.org/wiki/Software_rendering&#34;&gt;software rendering&lt;/a&gt; and other CPU-intense stuff (ex. emulators), don&amp;rsquo;t take frequency spikes that well. If you have a very old Intel CPU consider disabling things like &lt;a href=&#34;https://en.wikipedia.org/wiki/SpeedStep&#34;&gt;Speedstep&lt;/a&gt; (current implementation is fine, but back in the early days it was a mess).&lt;/li&gt;
&lt;li&gt;Try &lt;a href=&#34;https://www.lakka.tv/&#34;&gt;Lakka&lt;/a&gt; if you only looking for emulation and want an easy turn-key setup. It is optimized to run on Raspberry Pi and other SMBCs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lutris.net/&#34;&gt;Lutris&lt;/a&gt; can help with an installation of games that are not available on Steam.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/FeralInteractive/gamemode&#34;&gt;gamemode&lt;/a&gt; provides some additional optimizations on demand, this can be useful when we &lt;a href=&#34;https://help.steampowered.com/en/faqs/view/7D01-D2DD-D75E-2955&#34;&gt;launching&lt;/a&gt; something &lt;a href=&#34;https://help.steampowered.com/en/faqs/view/4B8B-9697-2338-40EC&#34;&gt;local&lt;/a&gt; from Steam (ex. Retroarch).&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gamemoderun %command% 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/ValveSoftware/gamescope&#34;&gt;gamescope&lt;/a&gt; is a &lt;a href=&#34;https://en.wikipedia.org/wiki/Compositing_window_manager&#34;&gt;micro-compositor&lt;/a&gt; from Valve, that allows you to conveniently set things like frame-rate limit, create a border-less window or even inject &lt;a href=&#34;https://reshade.me&#34;&gt;Reshade effects/shaders&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Limit a vsynced game to 60 FPS in border-less window&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gamescope -b -r &lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt; -- %command%
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://xanmod.org/&#34;&gt;XanMod Kernel&lt;/a&gt; looks interesting, but overall performance increase vs potential stability, security and support issues making it a questionable choice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Useful resources&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.archlinux.org/title/Gaming&#34;&gt;ArchWiki: Gaming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.gamingonlinux.com/&#34;&gt;GamingOnLinux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/linux_gaming/&#34;&gt;r/linux_gaming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/Craptopgamingadvice/&#34;&gt;r/Craptopgamingadvice&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;steam&#34;&gt;Steam&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;By default Proton utilizing &lt;a href=&#34;https://github.com/doitsujin/dxvk&#34;&gt;DXVK&lt;/a&gt; which requires &lt;a href=&#34;https://www.vulkan.org/tools#vulkan-gpu-resources&#34;&gt;Vulkan support&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;If your GPU doesn&amp;rsquo;t support Vulkan you can switch to WineD3D by adding &lt;a href=&#34;https://help.steampowered.com/en/faqs/view/7D01-D2DD-D75E-2955&#34;&gt;launch option&lt;/a&gt; &lt;code&gt;PROTON_USE_WINED3D=1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If your GPU has partial Vulkan support (&amp;lt; 1.3), you can try to downgrade to older Proton versions (&amp;lt;= 7), or try special fork called &lt;a href=&#34;https://github.com/pythonlover02/Proton-Sarek&#34;&gt;Proton-Sarek&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;You can also try &lt;a href=&#34;https://docs.mesa3d.org/gallium-nine.html&#34;&gt;Gallium Nine (DirectX 9 only)&lt;/a&gt;. Proton &lt;a href=&#34;https://help.steampowered.com/en/faqs/view/7D01-D2DD-D75E-2955&#34;&gt;launch options&lt;/a&gt;: &lt;code&gt;PROTON_USE_GALLIUM_NINE=1 PROTON_GALLIUM_NINE_MODULEPATH=&amp;quot;/usr/lib/i386-linux-gnu/d3d/d3dadapter9.so.1:/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1&amp;quot;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Try to experiment with custom Proton builds like &lt;a href=&#34;https://github.com/GloriousEggroll/proton-ge-custom&#34;&gt;proton-ge-custom&lt;/a&gt;, you can manage them in &lt;a href=&#34;https://github.com/DavidoTek/ProtonUp-Qt&#34;&gt;ProtonUp-Qt&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;You can &lt;a href=&#34;https://wiki.debian.org/SDDM#Enable_autologin&#34;&gt;enable autologin&lt;/a&gt; + &lt;a href=&#34;https://store.steampowered.com/bigpicture&#34;&gt;autostart Steam in Big Picture Mode&lt;/a&gt; for &amp;ldquo;console-ish experience&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;retroarch&#34;&gt;Retroarch&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use Vulkan or &lt;a href=&#34;https://www.libretro.com/index.php/changing-behavior-of-gl-and-glcore-video-drivers/&#34;&gt;GLCore&lt;/a&gt; as display drivers if you can.&lt;/li&gt;
&lt;li&gt;Use &lt;a href=&#34;https://www.libretro.com/index.php/retroarch-1-15-0-release/&#34;&gt;preemptive frames&lt;/a&gt; with auto detection to battle input lag.&lt;/li&gt;
&lt;li&gt;In case you wanna play some retro games that was designed to be played on &lt;a href=&#34;https://emulation.gametechwiki.com/index.php/Displays&#34;&gt;CRT TVs&lt;/a&gt;: try &lt;a href=&#34;https://docs.libretro.com/shader/crt/#crt-lottes&#34;&gt;crt-lottes&lt;/a&gt; or &lt;a href=&#34;https://docs.libretro.com/shader/crt/#crt-guest&#34;&gt;crt-guest&lt;/a&gt; &lt;a href=&#34;https://www.retroarch.com/?page=shaders&#34;&gt;shaders&lt;/a&gt; which looks and runs great even on slowest potatoes (use fast or fastest presets).&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>SerenityOS</title>
      <link>https://circuitshelter.com/posts/serenityos/</link>
      <pubDate>Tue, 17 Aug 2021 13:36:41 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/serenityos/</guid>
      <description>SerenityOS is a love letter to &amp;rsquo;90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.
Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix.
https://www.serenityos.org https://github.com/SerenityOS Also take a look at:
Chicago95 </description>
      <content>&lt;p&gt;SerenityOS is a love letter to &amp;rsquo;90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.&lt;/p&gt;
&lt;p&gt;Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.serenityos.org&#34;&gt;https://www.serenityos.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/SerenityOS&#34;&gt;https://github.com/SerenityOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also take a look at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/chicago95&#34;&gt;Chicago95&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>backy: Tiny multiprocessing utility for file backups</title>
      <link>https://circuitshelter.com/posts/backy-backup-utility/</link>
      <pubDate>Mon, 16 Aug 2021 18:08:53 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/backy-backup-utility/</guid>
      <description>Sometimes the best option is the simplest one. If you need something to reliably sync and archive files without unnecessary integrations and complicated logic, this can be your thing.
❌ External dependencies ❌ Service authorizations ✅ Friendly CLI ✅ Small code base that you can read and understand
Can also be used as a complementary solution for cloud agents like Dropbox or Google Drive (e.g. continuously archive directories to cloud folder).</description>
      <content>&lt;h2 id=&#34;sometimes-the-best-option-is-the-simplest-one&#34;&gt;Sometimes the best option is the simplest one.&lt;/h2&gt;
&lt;p&gt;If you need something to reliably sync and archive files without unnecessary integrations and complicated logic, this can be your thing.&lt;/p&gt;
&lt;p&gt;❌ External dependencies
❌ Service authorizations
✅ Friendly CLI
✅ Small code base that you can read and understand&lt;/p&gt;
&lt;p&gt;Can also be used as a complementary solution for cloud agents like Dropbox or Google Drive (e.g. continuously archive directories to cloud folder).&lt;/p&gt;
&lt;p&gt;Comes with install script for &lt;a href=&#34;https://support.apple.com/guide/terminal/script-management-with-launchd-apdc6c1077b-5d5d-4d35-9c19-60f2397b2369/mac&#34;&gt;Launchd&lt;/a&gt; in case you plan to natively schedule backup tasks for macOS 10.4+.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Directories synchronization&lt;/li&gt;
&lt;li&gt;Full directories archiving: hourly, daily, weekly, monthly or yearly with&lt;/li&gt;
&lt;li&gt;Auto re-archive option if previous archive lost or corrupted&lt;/li&gt;
&lt;li&gt;Using native rsync(rsync over SSH supported) and tar(+bzip2) tools from your OS&lt;/li&gt;
&lt;li&gt;Linux, macOS and *BSD supported&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/vdbsh/backy&#34;&gt;https://github.com/vdbsh/backy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Kid Pix 1.0 in JS</title>
      <link>https://circuitshelter.com/posts/kid-pix-js/</link>
      <pubDate>Fri, 06 Aug 2021 20:59:56 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/kid-pix-js/</guid>
      <description>Kid Pix is a bitmap drawing program designed for children. Originally created by Craig Hickman, it was first released for the Macintosh in 1989 and subsequently published in 1991 by Broderbund. Hickman was inspired to create Kid Pix after watching his son Ben struggle with MacPaint, and thus the main idea behind its development was to create a drawing program that would be very simple to use. Since then a lot of people from all over the world have great memories about this friendly drawing app.</description>
      <content>&lt;p&gt;Kid Pix is a bitmap drawing program designed for children. Originally created by Craig Hickman, it was first released for the Macintosh in 1989 and subsequently published in 1991 by Broderbund. Hickman was inspired to create Kid Pix after watching his son Ben struggle with MacPaint, and thus the main idea behind its development was to create a drawing program that would be very simple to use. Since then a lot of people from all over the world have great memories about this friendly drawing app.&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/csalhuSixQU&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h1 id=&#34;js-kid-pix&#34;&gt;JS Kid Pix&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Now you can experience it as well by this web app: &lt;a href=&#34;https://kidpix.app/&#34;&gt;https://kidpix.app/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;JS Kid Pix / Kid Pix 1.0 was released in to the public domain and this is an HTML/JS re-implementation.&lt;/p&gt;
&lt;p&gt;Just like the original Kid Pix, there&amp;rsquo;s no guide—have fun! Most of the tools support Shift (^) to enlarge. There are a handful of hidden tool features behind various modifier keys (⌘, ⌥, ⇧). The modifier keys can also be combined.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/vikrum/kidpix&#34;&gt;https://github.com/vikrum/kidpix&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Another honorable mention is &lt;a href=&#34;http://www.tuxpaint.org/&#34;&gt;Tux Paint&lt;/a&gt;, it follows the same principles and available on Linux, macOS and Windows.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Configuring DNS settings on Ubuntu with Netplan</title>
      <link>https://circuitshelter.com/posts/configuring-dns-with-netplan/</link>
      <pubDate>Fri, 06 Aug 2021 18:21:03 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/configuring-dns-with-netplan/</guid>
      <description>Since 18.04, Ubuntu started to utilize systemd-resolved for a name resolution, which means that setting DNS servers in /etc/resolv.conf file will no longer work. Now such changes needs to be done in Netplan configuration (which delegates name resolution to systemd-resolved.resolv.conf).
nano /etc/netplan/my-dns-config.yaml Example: Assuming that we want to set public Cloudflare DNS for both IPv4 and IPv6 on an interface ens3:
# This is my DNS config network: ethernets: ens3: dhcp4: true dhcp4-overrides: use-dns: false nameservers: addresses: [1.</description>
      <content>&lt;p&gt;&lt;a href=&#34;https://ubuntu.com/blog/ubuntu-bionic-netplan&#34;&gt;Since 18.04, Ubuntu&lt;/a&gt; started to utilize &lt;a href=&#34;https://manpages.ubuntu.com/manpages/en/man8/systemd-resolved.service.8.html&#34;&gt;systemd-resolved&lt;/a&gt; for a name resolution, which means that setting DNS servers in /etc/resolv.conf file will no longer work.
Now such changes needs to be done in &lt;a href=&#34;https://netplan.io/&#34;&gt;Netplan&lt;/a&gt; &lt;a href=&#34;https://netplan.io/examples/&#34;&gt;configuration&lt;/a&gt; (which delegates name resolution to systemd-resolved.resolv.conf).&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nano /etc/netplan/my-dns-config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Example: Assuming that we want to set &lt;a href=&#34;https://www.cloudflare.com/learning/dns/what-is-1.1.1.1/&#34;&gt;public Cloudflare DNS&lt;/a&gt; for both IPv4 and IPv6 on an interface &lt;code&gt;ens3&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# This is my DNS config&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;network&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;ethernets&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;ens3&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;dhcp4&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;dhcp4-overrides&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;use-dns&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;nameservers&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;addresses&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;1.1.1.1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1.0.0.1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2606&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;4700&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;4700&lt;/span&gt;::&lt;span style=&#34;color:#ae81ff&#34;&gt;1111&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2606&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;4700&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;4700&lt;/span&gt;::&lt;span style=&#34;color:#ae81ff&#34;&gt;1001&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configuration test:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;netplan --debug apply
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Apply:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;netplan apply
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check DNS settings with systemd-resolved:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemd-resolve --status
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content>
    </item>
    
    <item>
      <title>Personal Computing On An Amiga In 2021</title>
      <link>https://circuitshelter.com/posts/amiga-in-2021/</link>
      <pubDate>Thu, 05 Aug 2021 19:48:30 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/amiga-in-2021/</guid>
      <description>Great article about current state of Amiga community:
🏛️ http://web.archive.org/web/20230331145520/https://thedorkweb.substack.com/p/personal-computing-on-an-amiga-in-2021 🪦 https://thedorkweb.substack.com/p/personal-computing-on-an-amiga-in-2021 Original art by Toni Bratincevic</description>
      <content>&lt;p&gt;Great article about current state of Amiga community:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🏛️ &lt;a href=&#34;http://web.archive.org/web/20230331145520/https://thedorkweb.substack.com/p/personal-computing-on-an-amiga-in-2021&#34;&gt;http://web.archive.org/web/20230331145520/https://thedorkweb.substack.com/p/personal-computing-on-an-amiga-in-2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🪦 &lt;a href=&#34;https://thedorkweb.substack.com/p/personal-computing-on-an-amiga-in-2021&#34;&gt;https://thedorkweb.substack.com/p/personal-computing-on-an-amiga-in-2021&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://www.interstation3d.com/per_gal_generator.php?item=16-bit%20memories&#34;&gt;Original art by Toni Bratincevic&lt;/a&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Browsing modern internet on vintage computers</title>
      <link>https://circuitshelter.com/posts/browsing-internet-on-vintage-computers/</link>
      <pubDate>Tue, 03 Aug 2021 16:36:03 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/browsing-internet-on-vintage-computers/</guid>
      <description>Retro Computing Internet Resources Amazing curated list of projects which let vintage computers connect to the internet!
https://github.com/ssshake/retro-computing-internet-resources
Highlights FrogFind! The search functionality of FrogFind is basically a custom wrapper for DuckDuckGo search, converting the results to extremely basic HTML that old browsers can read. When clicking through to pages from search results, those pages are processed through a PHP port of Mozilla&amp;rsquo;s Readability, which is what powers Firefox&amp;rsquo;s reader mode.</description>
      <content>&lt;h1 id=&#34;retro-computing-internet-resources&#34;&gt;Retro Computing Internet Resources&lt;/h1&gt;
&lt;p&gt;Amazing curated list of projects which let vintage computers connect to the internet!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/ssshake/retro-computing-internet-resources&#34;&gt;https://github.com/ssshake/retro-computing-internet-resources&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;highlights&#34;&gt;Highlights&lt;/h2&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/c_v2_vTogS8&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id=&#34;frogfindhttpwwwfrogfindcom&#34;&gt;&lt;a href=&#34;http://www.frogfind.com/&#34;&gt;FrogFind!&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The search functionality of FrogFind is basically a custom wrapper for DuckDuckGo search, converting the results to extremely basic HTML that old browsers can read. When clicking through to pages from search results, those pages are processed through a PHP port of Mozilla&amp;rsquo;s Readability, which is what powers Firefox&amp;rsquo;s reader mode. Then it further strip down the results to be as basic HTML as possible.&lt;/p&gt;
&lt;p&gt;FrogFind designed with classic Macs in mind, so it&amp;rsquo;s been tested on SE/30 to make sure it looks good in 1 bit color with a 512x384 resolution. Most of testing has been on Netscape 1.1N and 2.0.2, as well as a few 68k Mac versions of iCab. FrogFind should also work great on any text-based web browser!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/ActionRetro/FrogFind&#34;&gt;https://github.com/ActionRetro/FrogFind&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;68k-newshttp68knews&#34;&gt;&lt;a href=&#34;http://68k.news/&#34;&gt;68k-news&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Basic HTML Google News for vintage computers. Tested on Netscape 1.1 through 4 on a Mac SE/30.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/ActionRetro/68k-news&#34;&gt;https://github.com/ActionRetro/68k-news&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;the-old-nethttptheoldnetcom&#34;&gt;&lt;a href=&#34;http://theoldnet.com/&#34;&gt;The Old Net&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The Old Net is a project to take you back to those early days of the WWW. Pulling in results from the Wayback Machine, it strips away all of the modern scripting from archive.org. Using a simple drop down menu, you can visit your favourite websites from the past as far back as 1994.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/ssshake/theoldnet.com&#34;&gt;https://github.com/ssshake/theoldnet.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also take a look at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/browservice&#34;&gt;Browservice: A web &amp;ldquo;proxy&amp;rdquo; server that enables browsing the modern web on historical browsers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>After Dark in CSS</title>
      <link>https://circuitshelter.com/posts/after-dark-in-css/</link>
      <pubDate>Fri, 30 Jul 2021 16:58:37 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/after-dark-in-css/</guid>
      <description>Experience the classic macOS screensavers like flying toasters and other goodness:
https://www.bryanbraun.com/after-dark-css/ https://github.com/bryanbraun/after-dark-css Also take a look at:
Awesome Web Desktops </description>
      <content>&lt;p&gt;Experience the classic macOS screensavers like flying toasters and other goodness:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.bryanbraun.com/after-dark-css/&#34;&gt;https://www.bryanbraun.com/after-dark-css/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/bryanbraun/after-dark-css&#34;&gt;https://github.com/bryanbraun/after-dark-css&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also take a look at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/awesome-web-desktops&#34;&gt;Awesome Web Desktops&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Windows 95 in Virtual Reality</title>
      <link>https://circuitshelter.com/posts/windows-95-vr/</link>
      <pubDate>Wed, 28 Jul 2021 15:58:53 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/windows-95-vr/</guid>
      <description> Also take a look at:
Chicago95 Awesome Web Desktops </description>
      <content>
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/cZKoLBnI3fw&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Also take a look at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/chicago95&#34;&gt;Chicago95&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/awesome-web-desktops&#34;&gt;Awesome Web Desktops&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Workaround for VLC fullscreen flickering in macOS </title>
      <link>https://circuitshelter.com/posts/vlc-fullscreen-workaround-for-mac/</link>
      <pubDate>Tue, 27 Jul 2021 14:16:57 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/vlc-fullscreen-workaround-for-mac/</guid>
      <description>If you are experiencing flickering or resizing glitches in fullscreen in macOS, this trick can help:
Preferences &amp;gt; Show All Interfaces Main Interfaces &amp;gt; macosx &amp;gt; [v] Use the native fullscreen mode Main Interfaces &amp;gt; macosx &amp;gt; [ ] Resize interface to the native video size Video [ ] Embed video It&amp;rsquo;s quite a mystery why attached playlist can cause drawing defects, hopefully this will be fixed in upcoming versions.</description>
      <content>&lt;p&gt;If you are experiencing flickering or resizing glitches in fullscreen in macOS, this trick can help:&lt;/p&gt;
&lt;h1 id=&#34;preferences--show-all&#34;&gt;Preferences &amp;gt; Show All&lt;/h1&gt;
&lt;h2 id=&#34;interfaces&#34;&gt;Interfaces&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Main Interfaces&lt;/strong&gt; &amp;gt; macosx &amp;gt; &lt;code&gt;[v]&lt;/code&gt; Use the native fullscreen mode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Main Interfaces&lt;/strong&gt; &amp;gt; macosx &amp;gt; &lt;code&gt;[ ]&lt;/code&gt; Resize interface to the native video size&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;video&#34;&gt;Video&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[ ]&lt;/code&gt; Embed video&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s quite a mystery why attached playlist can cause drawing defects, hopefully this will be fixed in upcoming versions.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Age of Empires II: Best Migration game ever</title>
      <link>https://circuitshelter.com/posts/best-migration-game-ever/</link>
      <pubDate>Sun, 25 Jul 2021 20:37:16 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/best-migration-game-ever/</guid>
      <description> Also check out:
Best islands game ever </description>
      <content>
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/6QqKFE9QKwo&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Also check out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/best-islands-game-ever&#34;&gt;Best islands game ever&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>On Coding for Fun</title>
      <link>https://circuitshelter.com/posts/on-coding-for-fun/</link>
      <pubDate>Sun, 25 Jul 2021 16:29:47 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/on-coding-for-fun/</guid>
      <description>Software doesn’t always need to serve a &amp;ldquo;high purpose&amp;rdquo;.
Coding is a neat hobby that can be applied to virtually anything. You can code stuff for fun and feel good about it, as much as when you do it for profit. And you really can’t put a price tag on feeling good.
Like a bonsai tree. This type of activity can be relaxing and even therapeutic if it takes place in relaxed environment, where no money, competition or drama are involved.</description>
      <content>&lt;p&gt;&lt;strong&gt;Software doesn’t always need to serve a &amp;ldquo;high purpose&amp;rdquo;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Coding is a neat hobby that can be applied to virtually anything.
You can code stuff for fun and feel good about it, as much as when you do it for profit.
And you really can’t put a price tag on feeling good.&lt;/p&gt;
&lt;p&gt;Like a bonsai tree.
This type of activity can be relaxing and even therapeutic &lt;code&gt;if it takes place in relaxed environment, where no money, competition or drama are involved.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It’s just you having a great time in a way you like it, and you doing it just because.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://justforfunnoreally.dev/&#34;&gt;Just for Fun. No, Really.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://pixeljoint.com/pixelart/133587.htm&#34;&gt;original pixel art on cover&lt;/a&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Workaround for Audible authorization with Apple Books</title>
      <link>https://circuitshelter.com/posts/audible-apple-books/</link>
      <pubDate>Sat, 24 Jul 2021 19:42:38 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/audible-apple-books/</guid>
      <description>Apple Books is a great way to listen Audible audiobooks offline on macos devices. It is quite handy to have everything in one place. But looks like integration between these two are not perfect. When you try to follow official instructions there is a chance that after you get your signed link for Apple Books it&amp;rsquo;s not gonna be accepted by the app.
So here is the workaround:
Open audiobook file Apple Books: Authorize This Computer Apple Books: QUIT FROM THE APP!</description>
      <content>&lt;p&gt;Apple Books is a great way to listen Audible audiobooks offline on macos devices. It is quite handy to have everything in one place. But looks like integration between these two are not perfect. When you try to &lt;a href=&#34;https://help.audible.com/s/article/how-to-listen-to-audible-audiobooks-with-the-apple-books-app&#34;&gt;follow official instructions&lt;/a&gt; there is a chance that after you get your signed link for Apple Books it&amp;rsquo;s not gonna be accepted by the app.&lt;/p&gt;
&lt;p&gt;So here is the workaround:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open audiobook file&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apple Books:&lt;/strong&gt; Authorize This Computer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apple Books:&lt;/strong&gt; &lt;strong&gt;QUIT FROM THE APP!&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audible:&lt;/strong&gt; Activate in (iTunes) Apple Books&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open signed link specifically in the Apple Books app (Not Music)&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
</content>
    </item>
    
    <item>
      <title>Hugo post template generator</title>
      <link>https://circuitshelter.com/posts/python-hugo-post-generator/</link>
      <pubDate>Sat, 24 Jul 2021 14:53:09 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/python-hugo-post-generator/</guid>
      <description>This Python script will generate valid post template for hugo. It is cross-platform, and have no dependencies.
Usage:
python3 hugo-post-generator.py &amp;#34;My beautiful post&amp;#34; Also check out VSCode snippet for Hugo.</description>
      <content>&lt;p&gt;This Python script will generate valid post template for &lt;a href=&#34;https://gohugo.io/&#34;&gt;hugo&lt;/a&gt;.
It is cross-platform, and have no dependencies.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/vdbsh/2b2c4f8bcf9d04451204848f031552d4.js&#34;&gt;&lt;/script&gt;

&lt;p&gt;Usage:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3 hugo-post-generator.py &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;My beautiful post&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Also check out &lt;a href=&#34;https://circuitshelter.com/posts/hugo-post-vscode-snippet&#34;&gt;VSCode snippet for Hugo&lt;/a&gt;.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Age of Empires II: Best islands game ever</title>
      <link>https://circuitshelter.com/posts/best-islands-game-ever/</link>
      <pubDate>Sat, 24 Jul 2021 13:41:56 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/best-islands-game-ever/</guid>
      <description> Also check out:
The Legend of Fatslob The Legend of WALL </description>
      <content>
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/G30BBp9QuYQ&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Also check out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/the-legend-of-fatslob&#34;&gt;The Legend of Fatslob&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/the-legend-of-wall&#34;&gt;The Legend of WALL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>3D level design museum</title>
      <link>https://circuitshelter.com/posts/noclip-video-game-museum/</link>
      <pubDate>Thu, 22 Jul 2021 12:24:45 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/noclip-video-game-museum/</guid>
      <description>noclip.website: is a celebration of video game level design and art. It&amp;rsquo;s a chance to explore and deepen your appreciation for some of your favorite 3D games.
https://github.com/magcius/noclip.website </description>
      <content>&lt;p&gt;&lt;a href=&#34;https://noclip.website/&#34;&gt;noclip.website&lt;/a&gt;: is a celebration of video game level design and art. It&amp;rsquo;s a chance to explore and deepen your appreciation for some of your favorite 3D games.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/magcius/noclip.website&#34;&gt;https://github.com/magcius/noclip.website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Creating bootable USB drives with GNOME Disks</title>
      <link>https://circuitshelter.com/posts/gnome-disks-bootable-usb/</link>
      <pubDate>Mon, 19 Jul 2021 21:01:43 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/gnome-disks-bootable-usb/</guid>
      <description>Just launch GNOME Disks:
gnome-disk-utility Select your thumb drive -&amp;gt; [context menu] -&amp;gt; Restore Disk Image... -&amp;gt; Select your ISO
Notes This is not gonna work with anything that require complex partitioning like Windows 10, but will do for a vast majority of linux distributions which can boot from single UDF partition.</description>
      <content>&lt;p&gt;Just launch GNOME Disks:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gnome-disk-utility
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;Select your thumb drive -&amp;gt; [context menu] -&amp;gt; Restore Disk Image... -&amp;gt; Select your ISO&lt;/code&gt;&lt;/p&gt;
&lt;h1 id=&#34;notes&#34;&gt;Notes&lt;/h1&gt;
&lt;p&gt;This is not gonna work with anything that require complex partitioning like Windows 10,
but will do for a vast majority of linux distributions which can boot from single UDF partition.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Checking host availability with Python and AWS Lambda</title>
      <link>https://circuitshelter.com/posts/aws-lambda-python-check-host/</link>
      <pubDate>Mon, 19 Jul 2021 14:30:00 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/aws-lambda-python-check-host/</guid>
      <description>AWS Lambda is great for quick and straightforward tasks. Let&amp;rsquo;s make minimal host availability check.
For this task we are going to use Low-level networking interface from Python 3 to try establish connection directly to remote socket without help of any additional protocols like ICMP.</description>
      <content>&lt;p&gt;&lt;a href=&#34;https://aws.amazon.com/lambda/&#34;&gt;AWS Lambda&lt;/a&gt; is great for quick and straightforward tasks.
Let&amp;rsquo;s make minimal host availability check.&lt;/p&gt;
&lt;p&gt;For this task we are going to use &lt;a href=&#34;https://docs.python.org/3/library/socket.html&#34;&gt;Low-level networking interface from Python 3&lt;/a&gt; to try establish connection directly to remote socket without help of any additional protocols like &lt;a href=&#34;https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol&#34;&gt;ICMP&lt;/a&gt;.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/vdbsh/92e653c8713a2ffbb952ece07117c5a3.js&#34;&gt;&lt;/script&gt;

</content>
    </item>
    
    <item>
      <title>Where to find old games and software</title>
      <link>https://circuitshelter.com/posts/old-games-and-software/</link>
      <pubDate>Sun, 18 Jul 2021 12:12:25 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/old-games-and-software/</guid>
      <description>Stores If you can find your title here, look no further.
GOG: The Good Old Games (GOG) is a digital distribution platform with a curated selection of games, a &amp;ldquo;you buy it, you own it&amp;rdquo; philosophy, and vast selection of classic game titles for Windows, Mac &amp;amp; Linux, DRM-free.
Steam: the biggest video game digital distribution service around.
EBay: here you can find almost anything available on real physical media, price may surprise you.</description>
      <content>&lt;h1 id=&#34;stores&#34;&gt;Stores&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;If you can find your title here, look no further.&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.gog.com/&#34;&gt;GOG&lt;/a&gt;: The Good Old Games (GOG) is a digital distribution platform with a curated selection of games, a &amp;ldquo;you buy it, you own it&amp;rdquo; philosophy, and vast selection of classic game titles for Windows, Mac &amp;amp; Linux, DRM-free.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://store.steampowered.com/&#34;&gt;Steam&lt;/a&gt;: the biggest video game digital distribution service around.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.ebay.com/&#34;&gt;EBay&lt;/a&gt;: here you can find almost anything available on real physical media, price may surprise you.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;databases&#34;&gt;Databases&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.mobygames.com/&#34;&gt;MobyGames&lt;/a&gt;: is the oldest, largest and most accurate video game database. Spanning over 260 platforms from 1950 to date. For 20 years, it&amp;rsquo;s been widely considered the IMDB of the games industry and often referenced as the canonical source for game information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://no-intro.org/&#34;&gt;No-Intro&lt;/a&gt;: catalogs the best available copies of ROMs and digital games, providing DAT files for ROM managers and an online database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://redump.org/&#34;&gt;Redump.org&lt;/a&gt;: is an disc preservation database and internet community dedicated to collecting precise and accurate information about every video game ever released on optical media of any system. The goal is to make blueprints of the data on console and PC game discs. Redump also provides guides to ensure the dumps are correctly done. Users of the website who follow the guides correctly are encouraged to share their results to help build the database. Multiple dumps of games with the same serial number by different people are collected to ensure the same results are gathered, which help correct any incorrect dumps in the database as well as to help recognize alternate versions of the same game.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tosecdev.org/&#34;&gt;TOSEC&lt;/a&gt;: The Old School Emulation Center (TOSEC) is a retrocomputing initiative dedicated to the cataloging and preservation of software, firmware and resources for microcomputers, minicomputers and video game consoles. The main goal of the project is to catalog and audit various kinds of software and firmware images for these systems.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;public-archives&#34;&gt;Public Archives&lt;/h1&gt;
&lt;h2 id=&#34;safety-first&#34;&gt;Safety First!&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ALWAYS be careful when downloading, and especially when executing ANYTHING from public sources!&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEVER put ANYTHING questionable along side of ANYTHING critical or personal!&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It&amp;rsquo;s really hard to check ingenuity and trustworthiness of public sources, you can easily get something very nasty.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make sure you run it in a safe environment like virtual machine or isolated box.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;At least scan it with antivirus and limit network access.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Respect the intellectual property rights.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://archive.org/details/software/&#34;&gt;The Internet Archive Software Collection&lt;/a&gt;: largest vintage and historical software library in the world, providing instant access to millions of programs, CD-ROM images, documentation and multimedia. The collection includes a broad range of software related materials including shareware, freeware, video news releases about software titles, speed runs of actual software game play, previews and promos for software games, high-score and skill replays of various game genres, and the art of filmmaking with real-time computer game engines.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://macintoshgarden.org/&#34;&gt;The Macintosh Garden&lt;/a&gt;: is an &lt;a href=&#34;https://en.wikipedia.org/wiki/Abandonware&#34;&gt;abandonware&lt;/a&gt; archive, dedicated in particular to supporting the Macintosh computer platform. A notable feature of Macintosh Garden is its emphasis on emulation, encouraging users to run historical software on modern systems. Software featured on the Macintosh Garden has been discontinued by their publishers and is no longer commercially available. The Macintosh Garden aims to preserve these treasures for future generations, providing documentation and downloads of the original files.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.myabandonware.com/&#34;&gt;My Abandonware&lt;/a&gt;: was created in February 2009. Over the years, thousands of games have been added to the site. Authors want to create the best video game museum on the web and let everyone around the world enjoy the incredible amount of great software created in the 80s and 90s. 18k+ games are available at the moment.
They also have nice &lt;a href=&#34;https://www.myabandonware.com/useful/&#34;&gt;useful links section&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.patches-scrolls.de&#34;&gt;The Patches Scrolls&lt;/a&gt;: a very well known website that hosts patches, mods and demos for games since 1995.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also take a look at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/free-and-open-source-game-engines&#34;&gt;free and open source game engines&lt;/a&gt; that allows to play old games on modern platforms.&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>RetroArch now available on the Amazon App Store</title>
      <link>https://circuitshelter.com/posts/retroarch-amazon-app-store/</link>
      <pubDate>Sun, 18 Jul 2021 11:47:40 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/retroarch-amazon-app-store/</guid>
      <description>You can even run it on your Kindle!
As of now, RetroArch is available on almost every modern platform imaginable 🎉
RetroArch is a frontend for emulators, game engines and media players. It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all. In addition to this, you are able to run original game discs (CDs) from RetroArch.</description>
      <content>&lt;p&gt;&lt;a href=&#34;https://www.amazon.com/dp/B09753XRVF&#34;&gt;You can even run it on your Kindle!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As of now, RetroArch is &lt;a href=&#34;https://www.retroarch.com/index.php?page=platforms&#34;&gt;available on almost every modern platform imaginable&lt;/a&gt; 🎉&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.retroarch.com/&#34;&gt;RetroArch&lt;/a&gt; is a frontend for emulators, game engines and media players.
It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all.
In addition to this, you are able to run original game discs (CDs) from RetroArch.
RetroArch has advanced features like shaders, netplay, rewinding, next-frame response times, runahead, machine translation, blind accessibility features, and more!&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    </item>
    
    <item>
      <title>Age of Empires II: The Legend of Fatslob</title>
      <link>https://circuitshelter.com/posts/the-legend-of-fatslob/</link>
      <pubDate>Sun, 18 Jul 2021 07:24:05 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/the-legend-of-fatslob/</guid>
      <description> Also check out:
The Legend of WALL </description>
      <content>
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/9RfM1NQx-i8&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Also check out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/the-legend-of-wall&#34;&gt;The Legend of WALL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Browservice</title>
      <link>https://circuitshelter.com/posts/browservice/</link>
      <pubDate>Sun, 18 Jul 2021 06:52:50 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/browservice/</guid>
      <description>How does it work? The Browservice server uses CEF (Chromium Embedded Framework) to run a Chromium browser instance that renders the browser view into an off-screen buffer. The browser view, combined with a control UI bar, is then compressed as a PNG or JPEG image and served to the client using an embedded HTTP server. The client browser runs a JavaScript application that requests and shows the images. It also listens for keyboard and mouse events from the user and forwards them to the proxy by including them in the URLs of the image requests.</description>
      <content>
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/oI6wJbMKjoQ&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h1 id=&#34;how-does-it-work&#34;&gt;How does it work?&lt;/h1&gt;
&lt;p&gt;The Browservice server uses CEF (Chromium Embedded Framework) to run a Chromium browser instance that renders the browser view into an off-screen buffer. The browser view, combined with a control UI bar, is then compressed as a PNG or JPEG image and served to the client using an embedded HTTP server. The client browser runs a JavaScript application that requests and shows the images. It also listens for keyboard and mouse events from the user and forwards them to the proxy by including them in the URLs of the image requests.&lt;/p&gt;
&lt;p&gt;Initially, this approach of sending the whole browser view as a new image every time it changes might sound quite inefficient. However, it is surprisingly usable if the network connection between the proxy server and the client is fast (such as 100 Mbit/s Ethernet LAN). Early 00s hardware (~1 GHz CPU clock) can often surpass 10 FPS in video streaming. The performance is also tolerable on older machines if a low JPEG compression level is used and the browser window is small.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/ttalvitie/browservice&#34;&gt;https://github.com/ttalvitie/browservice&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Chicago95</title>
      <link>https://circuitshelter.com/posts/chicago95/</link>
      <pubDate>Sun, 18 Jul 2021 05:49:57 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/chicago95/</guid>
      <description>https://github.com/grassmunk/Chicago95
Included in this theme New icons to complete the icon theme started with Classic95 GTK2 and GTK3 themes Edited Redmond XFWM theme to more accurately reflect Windows 95 Chicago95 Plus! A tool to preview and install Windows 95/98/ME/XP themes Plymouth theme created from scratch An MS-DOS inspired theme for oh-my-zsh Partial support for HiDPI monitors Requirements GTK+ &amp;gt;= 3.22 Xfce &amp;gt;= 4.12 gtk2-engines-pixbuf Installation git clone https://github.com/grassmunk/Chicago95.git cd Chicago95 python3 installer.</description>
      <content>&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/grassmunk/Chicago95&#34;&gt;https://github.com/grassmunk/Chicago95&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id=&#34;included-in-this-theme&#34;&gt;Included in this theme&lt;/h1&gt;
&lt;pre&gt;&lt;code&gt;New icons to complete the icon theme started with Classic95
GTK2 and GTK3 themes
Edited Redmond XFWM theme to more accurately reflect Windows 95
Chicago95 Plus! A tool to preview and install Windows 95/98/ME/XP themes
Plymouth theme created from scratch
An MS-DOS inspired theme for oh-my-zsh
Partial support for HiDPI monitors
&lt;/code&gt;&lt;/pre&gt;
&lt;h1 id=&#34;requirements&#34;&gt;Requirements&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;GTK+ &amp;gt;= 3.22&lt;/li&gt;
&lt;li&gt;Xfce &amp;gt;= 4.12&lt;/li&gt;
&lt;li&gt;gtk2-engines-pixbuf&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;installation&#34;&gt;Installation&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/grassmunk/Chicago95.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd Chicago95
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3 installer.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you are interested in retro user interfaces take a look at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/awesome-web-desktops&#34;&gt;Awesome Web Desktops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://circuitshelter.com/posts/winamp-skins&#34;&gt;Winamp Skins Gallery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Fixing Secure Boot Violation on linux</title>
      <link>https://circuitshelter.com/posts/linux-secure-uefi-boot-order-fix/</link>
      <pubDate>Sat, 17 Jul 2021 11:40:56 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/linux-secure-uefi-boot-order-fix/</guid>
      <description>On the linux machines with enabled Secure Boot you can catch something like this:
---------------------Secure Boot Violation--------------------- |Invalid signature detected. Check Secure Boot Policy in Setup| |-------------------------------------------------------------| | [ OK ] | --------------------------------------------------------------- There can be different reasons for this to happen. But if it occurs right after bootloader re-build (e.x after Kernel upgrades), most likely your UEFI boot order messed up.
Solution Check your boot order by:
efibootmgr -v Assuming that you want to boot right into OS e.</description>
      <content>&lt;p&gt;On the linux machines with enabled Secure Boot you can catch something like this:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---------------------Secure Boot Violation---------------------
|Invalid signature detected. Check Secure Boot Policy in Setup|
|-------------------------------------------------------------|
|                          [  OK  ]                           |
---------------------------------------------------------------
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;There can be different reasons for this to happen. But if it occurs right after bootloader re-build (e.x after Kernel upgrades), most likely your UEFI boot order messed up.&lt;/p&gt;
&lt;h1 id=&#34;solution&#34;&gt;Solution&lt;/h1&gt;
&lt;p&gt;Check your boot order by:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;efibootmgr -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Assuming that you want to boot right into OS e.x Ubuntu, wrong sequence can look like:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0003,0002,0000,0001
Boot0000* ubuntu
Boot0001* CDROM
Boot0002* NIC
Boot0003* ubuntu
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this example Ubuntu tries to boot within unsigned bootloader (which is obviously not gonna work).
Let&amp;rsquo;s change it from grubx64.efi to shimx64.efi,
So sequence become: &lt;code&gt;0000, 0003, 0001, 0002&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;We can set it directly in BIOS/UEFI or with &lt;code&gt;efibootmgr&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;efibootmgr -o 0000,0003,0001,0002
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Reboot the machine to test changes.&lt;/p&gt;
&lt;h1 id=&#34;links&#34;&gt;Links&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.ubuntu.com/UEFI/SecureBoot#How_UEFI_Secure_Boot_works_on_Ubuntu&#34;&gt;How UEFI Secure Boot works on Ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://manpages.ubuntu.com/manpages/focal/man8/efibootmgr.8.html&#34;&gt;MAN efibootmgr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Fix for screen tearing on linux using NVIDIA drivers</title>
      <link>https://circuitshelter.com/posts/linux-nvidia-drivers-tearing-fix/</link>
      <pubDate>Sat, 17 Jul 2021 08:21:55 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/linux-nvidia-drivers-tearing-fix/</guid>
      <description>Sometimes when using proprietary NVIDIA drivers on linux machine you can experience something like this. Unfortunately this is a very common issue on laptops with hybrid graphics, that use NVIDIA Optimus. To address this, a little trick called PRIME Synchronization was introduced back in 2016. It works well, but users often need to enable it manually.
Solution Make sure that you are using drivers &amp;gt;=364.12
Add nvidia-drm.modeset=1 parameter to GRUB_CMDLINE_LINUX_DEFAULT line in /etc/default/grub file.</description>
      <content>&lt;p&gt;Sometimes when using proprietary NVIDIA drivers on linux machine you can experience &lt;a href=&#34;https://en.wikipedia.org/wiki/Screen_tearing&#34;&gt;something like this&lt;/a&gt;.
Unfortunately this is a very common issue on laptops with hybrid graphics, that use &lt;a href=&#34;https://en.wikipedia.org/wiki/Nvidia_Optimus&#34;&gt;NVIDIA Optimus&lt;/a&gt;.
To address this, a little trick called &lt;a href=&#34;https://forums.developer.nvidia.com/t/prime-and-prime-synchronization/&#34;&gt;PRIME Synchronization was introduced back in 2016&lt;/a&gt;. It works well, but users often need to enable it manually.&lt;/p&gt;
&lt;h1 id=&#34;solution&#34;&gt;Solution&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Make sure that you are using drivers &lt;code&gt;&amp;gt;=364.12&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add &lt;code&gt;nvidia-drm.modeset=1&lt;/code&gt; parameter to &lt;code&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/code&gt; line in &lt;code&gt;/etc/default/grub&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;So it&amp;rsquo;s gonna look like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-c&#34; data-lang=&#34;c&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;quiet splash nvidia-drm.modeset=1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Update GRUB bootloader:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;update-grub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Restart your machine&lt;/p&gt;
&lt;h1 id=&#34;links&#34;&gt;Links&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.archlinux.org/title/Kernel_mode_setting&#34;&gt;Arch Wiki: Kernel mode setting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting&#34;&gt;Arch Wiki: NVIDIA DRM kernel mode setting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Using BIND 9 RPZ as DNS firewall</title>
      <link>https://circuitshelter.com/posts/bind9-rpz-firewall/</link>
      <pubDate>Sat, 17 Jul 2021 04:20:16 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/bind9-rpz-firewall/</guid>
      <description>DNS Response Policy Zones (RPZ) is an open and vendor-neutral standard for the interchange of DNS firewall configuration information. It is a standard feature of BIND 9, and is expected to be supported by other (non-BIND) name networks. By utilizing it we can easily build something like Pi-hole.
RPZ file generation Let&amp;rsquo;s generate RPZ file with hosts we want to filter using HOSTS from StevenBlack and Python.
Configuration RPZ zone files can be added to named.</description>
      <content>&lt;p&gt;&lt;a href=&#34;https://bind9.readthedocs.io/en/latest/chapter6.html#dns-firewalls-and-response-policy-zones&#34;&gt;DNS Response Policy Zones (RPZ)&lt;/a&gt; is an open and vendor-neutral standard for the interchange of DNS firewall configuration information. It is a standard feature of &lt;a href=&#34;https://www.isc.org/bind/&#34;&gt;BIND 9&lt;/a&gt;, and is expected to be supported by other (non-BIND) name networks. By utilizing it we can easily build something like &lt;a href=&#34;https://pi-hole.net/&#34;&gt;Pi-hole&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;rpz-file-generation&#34;&gt;RPZ file generation&lt;/h1&gt;
&lt;p&gt;Let&amp;rsquo;s generate RPZ file with hosts we want to filter using &lt;a href=&#34;https://github.com/StevenBlack/hosts&#34;&gt;HOSTS from StevenBlack&lt;/a&gt; and &lt;a href=&#34;https://www.python.org/&#34;&gt;Python&lt;/a&gt;.&lt;/p&gt;
&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/vdbsh/c271d6be6e6e8f4a10e5f2039338c541.js&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;configuration&#34;&gt;Configuration&lt;/h1&gt;
&lt;p&gt;RPZ zone files can be added to &lt;code&gt;named.conf.options&lt;/code&gt; as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-c&#34; data-lang=&#34;c&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zone &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rpz-filter&amp;#34;&lt;/span&gt; { type master; file &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/etc/bind/rpz-filter.db&amp;#34;&lt;/span&gt;; };
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;options {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    response&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;policy { zone &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rpz-filter&amp;#34;&lt;/span&gt;; };
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;};
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check and reload configuration:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;named-checkconf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;named-checkzone rpz /etc/bind/rpz-filter.db
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;service bind9 reload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;links&#34;&gt;Links&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-vixie-dnsop-dns-rpz-00&#34;&gt;DNS Response Policy Zones (RPZ) Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bind9.readthedocs.io/en/latest/reference.html&#34;&gt;BIND 9 Configuration Reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Age of Empires II: The Legend of WALL</title>
      <link>https://circuitshelter.com/posts/the-legend-of-wall/</link>
      <pubDate>Sat, 17 Jul 2021 03:53:06 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/the-legend-of-wall/</guid>
      <description> </description>
      <content>
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/X5ecZEs2Y0o&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

</content>
    </item>
    
    <item>
      <title>Awesome Web Desktops</title>
      <link>https://circuitshelter.com/posts/awesome-web-desktops/</link>
      <pubDate>Sat, 17 Jul 2021 03:44:02 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/awesome-web-desktops/</guid>
      <description>If you are a fan of websites, web apps and portfolios which resemble desktop graphical user interfaces here is an awesome curated list!
https://simone.computer/#/webdesktops https://github.com/syxanash/awesome-web-desktops P.s.
If you want to build something similar you can do it with 98.css: a design system for building faithful recreations of old UIs.</description>
      <content>&lt;p&gt;If you are a fan of websites, web apps and portfolios which resemble desktop graphical user interfaces here is an awesome curated list!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://simone.computer/#/webdesktops&#34;&gt;https://simone.computer/#/webdesktops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/syxanash/awesome-web-desktops&#34;&gt;https://github.com/syxanash/awesome-web-desktops&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;P.s.&lt;/p&gt;
&lt;p&gt;If you want to build something similar you can do it with &lt;a href=&#34;https://jdan.github.io/98.css/&#34;&gt;98.css&lt;/a&gt;: a design system for building faithful recreations of old UIs.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Winamp Skins Gallery</title>
      <link>https://circuitshelter.com/posts/winamp-skins/</link>
      <pubDate>Fri, 16 Jul 2021 07:08:29 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/winamp-skins/</guid>
      <description> Archive.org: Winamp Skins Collection WebAmp: Live gallery WebAmp: A reimplementation of Winamp 2.9 in HTML5 and JavaScript with full skin support Audacious: Great modern audio player for linux and windows that supports Winamp 2.X skins natively </description>
      <content>&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://archive.org/details/winampskins&#34;&gt;Archive.org: Winamp Skins Collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://skins.webamp.org/&#34;&gt;WebAmp: Live gallery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://webamp.org/&#34;&gt;WebAmp: A reimplementation of Winamp 2.9 in HTML5 and JavaScript with full skin support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://audacious-media-player.org/&#34;&gt;Audacious: Great modern audio player for linux and windows that supports Winamp 2.X skins natively&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>Windows MIDI tracks</title>
      <link>https://circuitshelter.com/posts/windows-midi/</link>
      <pubDate>Fri, 16 Jul 2021 05:52:44 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/windows-midi/</guid>
      <description>Canyon.mid Oh yeah!</description>
      <content>
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/tCeJ3CKbxMM&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Canyon.mid Oh yeah!&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Widelands 1.0 Released</title>
      <link>https://circuitshelter.com/posts/widelands-1.0/</link>
      <pubDate>Fri, 16 Jul 2021 05:33:06 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/widelands-1.0/</guid>
      <description>Widelands is a free, open source real-time strategy game with singleplayer campaigns and a multiplayer mode. The game was inspired by Settlers II™ (© Bluebyte) but has significantly more variety and depth to it.
Since the release of Build 21, developers implemented several hundreds of new features and bugfixes; for example, to name just a few of the highlights:
A new tribe: the Amazons An add-on system A third frisians scenario Dynamic tribe loading to speed up game loading Targeting individual map objects for removal Mute/unmute messages by buildings Fully redesigned main menu Configurable keyboard shortcuts Enhanced keyboard and mousewheel support in the UI Long-term stable Lua API for game content designers https://www.</description>
      <content>&lt;p&gt;Widelands is a free, open source real-time strategy game with singleplayer campaigns and a multiplayer mode. The game was inspired by Settlers II™ (© Bluebyte) but has significantly more variety and depth to it.&lt;/p&gt;
&lt;p&gt;Since the release of Build 21, developers implemented several hundreds of new features and bugfixes; for example, to name just a few of the highlights:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A new tribe: the Amazons
An add-on system
A third frisians scenario
Dynamic tribe loading to speed up game loading
Targeting individual map objects for removal
Mute/unmute messages by buildings
Fully redesigned main menu
Configurable keyboard shortcuts
Enhanced keyboard and mousewheel support in the UI
Long-term stable Lua API for game content designers
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href=&#34;https://www.widelands.org/&#34;&gt;https://www.widelands.org/&lt;/a&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Bongo Cat LIVE</title>
      <link>https://circuitshelter.com/posts/bongo-cat/</link>
      <pubDate>Thu, 15 Jul 2021 06:11:42 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/bongo-cat/</guid>
      <description>https://bongo.cat https://github.com/Externalizable/bongo.cat</description>
      <content>&lt;h1 id=&#34;httpsbongocat&#34;&gt;&lt;a href=&#34;https://bongo.cat&#34;&gt;https://bongo.cat&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Externalizable/bongo.cat&#34;&gt;https://github.com/Externalizable/bongo.cat&lt;/a&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Free and open source game engines</title>
      <link>https://circuitshelter.com/posts/free-and-open-source-game-engines/</link>
      <pubDate>Thu, 15 Jul 2021 03:48:17 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/free-and-open-source-game-engines/</guid>
      <description>🗺 Strategy OpenRA: a flexible game engine (the OpenRA engine) that provides a common platform for rebuilding and reimagining classic 2D and 2.5D RTS games. The OpenRA engine is not restricted by the technical limitations of the original games. It includes native support for modern operating systems (like Windows 10, macOS, and Linux) and screen resolutions without relying on emulation or hacks, and integrated online multiplayer.
OpenDUNE: re-creation of the popular game &amp;ldquo;Dune II&amp;rdquo;, originally made by Westwood Studios, and released by Virgin Entertainment.</description>
      <content>&lt;h1 id=&#34;-strategy&#34;&gt;🗺 Strategy&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.openra.net/&#34;&gt;OpenRA&lt;/a&gt;: a flexible game engine (the OpenRA engine) that provides a common platform for rebuilding and reimagining classic 2D and 2.5D RTS games. The OpenRA engine is not restricted by the technical limitations of the original games. It includes native support for modern operating systems (like Windows 10, macOS, and Linux) and screen resolutions without relying on emulation or hacks, and integrated online multiplayer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/OpenDUNE/OpenDUNE&#34;&gt;OpenDUNE&lt;/a&gt;: re-creation of the popular game &amp;ldquo;Dune II&amp;rdquo;, originally made by Westwood Studios, and released by Virgin Entertainment. It attempts to re-create the original game and apply modern technology to it to allow it to be run natively on most operating systems.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://opensage.github.io/&#34;&gt;OpenSAGE&lt;/a&gt;: re-implementation of SAGE, the 3D real-time strategy engine used in Command &amp;amp; Conquer™: Generals and other RTS titles from EA Pacific.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://openage.dev/&#34;&gt;openage&lt;/a&gt;: cross-platform RTS game engine that provides the mechanics of Age of Empires.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.openttd.org/&#34;&gt;OpenTTD&lt;/a&gt;: simulation game based upon the popular Microprose game &amp;ldquo;Transport Tycoon Deluxe&amp;rdquo;, written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://openrct2.org/&#34;&gt;OpenRCT2&lt;/a&gt;: re-implementation of RollerCoaster Tycoon 2 (RCT2), expanding the game with new features, fixing bugs and raising game limits.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://corsixth.com/&#34;&gt;CorsixTH&lt;/a&gt;: reimplementation of the 1997 Bullfrog business sim Theme Hospital. As well as faithfully recreating the original, CorsixTH adds support for modern operating systems (Windows, macOS, Linux and BSD), high resolutions and much more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/bvschaik/julius&#34;&gt;Julius&lt;/a&gt;: fully working open-source version of Caesar 3, with the same logic as the original, but with some UI enhancements, that can be played on multiple platforms.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://openfodder.com/&#34;&gt;Open Fodder&lt;/a&gt;: is an open source version of the  Cannon Fodder, an action-strategy shoot&amp;rsquo;em up game developed by Sensible Software and published by Virgin Interactive.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://ihhub.github.io/fheroes2/&#34;&gt;fheroes2&lt;/a&gt;: remake of Heroes of Might and Magic II game engine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://vcmi.eu/&#34;&gt;VCMI&lt;/a&gt;: work-in-progress attempt to recreate engine for Heroes III, giving it new and extended possibilities. Among current features are: complete gameplay mechanics, almost all objects, abilities, basic battle AI and adventure AI.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://openxcom.org/&#34;&gt;OpenXcom&lt;/a&gt;: clone of the popular &amp;ldquo;UFO: Enemy Unknown&amp;rdquo; (&amp;ldquo;X-COM: UFO Defense&amp;rdquo; in the USA release) and &amp;ldquo;X-COM: Terror From the Deep&amp;rdquo; videogames by Microprose, licensed under the GPL and written in C++ / SDL.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.siedler25.org/&#34;&gt;Return to the Roots&lt;/a&gt;: remake of the original The Settlers 2 which aims to introduce new features such as a multiplayer mode via internet as well as the support for modern hardware and several operating systems.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/tonihele/OpenKeeper&#34;&gt;OpenKeeper&lt;/a&gt;: project goal is to fully implement the game (version 1.7 with 3 bonus packs) as open source cross platform version, with minimal or no changes at all, using the original game assets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://freesynd.sourceforge.io/&#34;&gt;FreeSynd&lt;/a&gt;: is a cross-platform, GPLed reimplementation of engine for the classic Bullfrog game, Syndicate.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;-rpg&#34;&gt;📜 RPG&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://freeablo.org/&#34;&gt;freeablo&lt;/a&gt;: modern cross platform reimplementation of the game engine used in Diablo 1.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://opendiablo2.com/&#34;&gt;OpenDiablo2&lt;/a&gt;: an ARPG game engine in the same vein of the 2000&amp;rsquo;s games, and supports playing Diablo 2. The engine is written in golang and is cross platform.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://openmw.org/&#34;&gt;OpenMW&lt;/a&gt;: modern engine which re-implements and extends the 2002 Gamebryo engine for the open-world role-playing game The Elder Scrolls III: Morrowind.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://xoreos.org/&#34;&gt;xoreos&lt;/a&gt;: ongoing FLOSS project to reimplement BioWare’s Aurora engine (and derivatives) as used in their 3D games, beginning with Neverwinter Nights. The goal is to have a portable program to play those games even on operating systems those games were never meant to be played on, such as GNU/Linux and Mac OS X.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://gemrb.org/&#34;&gt;GemRB&lt;/a&gt;: the goal of the project is to make the Infinity Engine games like Baldur&amp;rsquo;s Gate and Icewind Dale available on a wide range of platforms forever, fix or avoid old bugs, add new features and provide a superb platform for mod development. All done in the open by players for players.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.scummvm.org/&#34;&gt;ScummVM&lt;/a&gt;: a set of game engine recreations originally designed to play LucasArts adventure games that use the SCUMM system, it also supports a variety of non-SCUMM games by companies like Revolution Software and Adventure Soft.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://easyrpg.org/&#34;&gt;EasyRPG&lt;/a&gt;: community project to create a free, open source, role playing game creation tool, compatible with RPG Maker 2000/2003 games.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;-fps&#34;&gt;🔫 FPS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.zdoom.org/&#34;&gt;ZDoom&lt;/a&gt;: is a family of enhanced ports of the Doom engine for running on modern operating systems. It runs on Windows, Linux, and OS X, and adds new features not found in the games as originally published by id Software.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.eduke32.com/&#34;&gt;EDuke32&lt;/a&gt;: free homebrew game engine and source port of the classic PC first person shooter Duke Nukem 3D— Duke3D for short—to Windows, Linux, Mac OS X, FreeBSD, several handhelds, your family toaster, and to your girlfriend&amp;rsquo;s vibrator.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://ioquake3.org/&#34;&gt;ioquake3&lt;/a&gt;: the intent of this project is to provide a baseline Quake 3 which may be used for further development and baseq3 fun.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.etlegacy.com/&#34;&gt;ET: Legacy&lt;/a&gt;: project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Interrupt/systemshock&#34;&gt;Shockolate&lt;/a&gt;: cross platform source port of System Shock, using SDL2. This runs well on OSX, Linux, and Windows.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;-racing&#34;&gt;🏎 Racing&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://opennfs.com/&#34;&gt;OpenNFS&lt;/a&gt;: an attempt to recreate the classic Need for Speed Games (1-6), unpacking their original data files into a modern scratch built engine.&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>VSCode snippet for Hugo post</title>
      <link>https://circuitshelter.com/posts/hugo-post-vscode-snippet/</link>
      <pubDate>Thu, 15 Jul 2021 03:19:47 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/hugo-post-vscode-snippet/</guid>
      <description>Guide https://code.visualstudio.com/docs/editor/userdefinedsnippets#_creating-your-own-snippets</description>
      <content>&lt;script type=&#34;application/javascript&#34; src=&#34;https://gist.github.com/vdbsh/3d29a00df50e4a4b2ac6f38366011ce6.js&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;guide&#34;&gt;Guide&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://code.visualstudio.com/docs/editor/userdefinedsnippets#_creating-your-own-snippets&#34;&gt;https://code.visualstudio.com/docs/editor/userdefinedsnippets#_creating-your-own-snippets&lt;/a&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>How Hugo Setup action works</title>
      <link>https://circuitshelter.com/posts/github-hugo-setup/</link>
      <pubDate>Thu, 15 Jul 2021 01:44:17 +0000</pubDate>
      
      <guid>https://circuitshelter.com/posts/github-hugo-setup/</guid>
      <description>It&amp;rsquo;s really easy to host your Hugo site with GitHub Pages, just use GitHub Actions for Hugo.
Flow diagram This is how it works:
|files| /archetypes, /content, /static, /themes, config.toml| -+ [branch] main] -&amp;gt; (trigger) Build) | * |files| /assets, /categories, /img, /page, /tags, index.html, 404.html, index.xml, sitemap.xml| | + [branch] gh-pages] | * /site.github.io/ Notes Don&amp;rsquo;t forget to change your GitHub Pages settings to
Branch: gh-pages Directory: / (root) </description>
      <content>&lt;p&gt;It&amp;rsquo;s really easy to &lt;a href=&#34;https://gohugo.io/hosting-and-deployment/hosting-on-github/&#34;&gt;host your Hugo site with GitHub Pages&lt;/a&gt;, just use &lt;a href=&#34;https://github.com/marketplace/actions/hugo-setup&#34;&gt;GitHub Actions for Hugo&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;flow-diagram&#34;&gt;Flow diagram&lt;/h1&gt;
&lt;p&gt;This is how it works:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;|files| /archetypes, /content, /static, /themes, config.toml| -+ [branch] main] -&amp;gt; (trigger) Build)
                                                                                    |
                                                                                    *
|files| /assets, /categories, /img, /page, /tags, index.html, 404.html, index.xml, sitemap.xml|
                                                                                        |
                                                                                        +
                                                                                [branch] gh-pages]
                                                                                            |
                                                                                            *
                                                                                    /site.github.io/
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;notes&#34;&gt;Notes&lt;/h1&gt;
&lt;p&gt;Don&amp;rsquo;t forget to change your GitHub Pages settings to&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Branch: &lt;code&gt;gh-pages&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Directory: &lt;code&gt;/ (root)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>About</title>
      <link>https://circuitshelter.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://circuitshelter.com/about/</guid>
      <description>circuitshelter circuitshelter.com is a blog about peaceful tech tinkering. With a great respect for an old hardware, video games and a freedom of personal computing.
🗞️ RSS feed
Contact Have some cool idea, found mistake or just wanna say hi:
✉️ &amp;gt; echo🍥circuitshelter.c🍩m
Disclaimer ALL INFORMATION IS PROVIDED ON THIS WEBSITE AS IS AND FOR EDUCATIONAL PURPOSE ONLY, IN THE HOPE THAT IT WILL BE USEFUL, ANY EXPRESS OR IMPLIED WARRANTIES OR LIABILITIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.</description>
      <content>&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;circuitshelter&#34;&gt;circuitshelter&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://circuitshelter.com/apple-touch-icon.png&#34; alt=&#34;logo&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://circuitshelter.com&#34;&gt;circuitshelter.com&lt;/a&gt; is a blog about peaceful tech tinkering. With a great respect for an old hardware, video games and a freedom of personal computing.&lt;/p&gt;
&lt;p&gt;🗞️ &lt;a href=&#34;https://circuitshelter.com/index.xml&#34;&gt;RSS feed&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;contact&#34;&gt;Contact&lt;/h2&gt;
&lt;p&gt;Have some cool idea, found mistake or just wanna say hi:&lt;/p&gt;
&lt;p&gt;✉️ &amp;gt; &lt;code&gt;echo🍥circuitshelter.c🍩m&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;disclaimer&#34;&gt;Disclaimer&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;ALL INFORMATION IS PROVIDED ON THIS WEBSITE AS IS AND FOR EDUCATIONAL PURPOSE ONLY,
IN THE HOPE THAT IT WILL BE USEFUL,
ANY EXPRESS OR IMPLIED WARRANTIES OR LIABILITIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL WEBSITE AUTHORS AND OWNERS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL RISKS OR DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS INFORMATION,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&lt;strong&gt;THIS WEBSITE DOES NOT REPRESENT ANY ORGANIZATION, ENTITY, GROUP OR INDIVIDUAL.
THE ENTIRE RISK OF INTERPRETATION OR USAGE OF ANY KIND
OF PROVIDED INFORMATION IS WITH YOU.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;All trademarks are property of their respective owners.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;privacy&#34;&gt;Privacy&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://circuitshelter.com&#34;&gt;circuitshelter.com&lt;/a&gt; does not collect any data.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://creativecommons.org/licenses/by-nc-sa/4.0/&#34;&gt;&lt;img src=&#34;https://circuitshelter.com/img/cc-by-nc-sa.png&#34; alt=&#34;Work on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License&#34;&gt;&lt;/a&gt;&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Good stuff</title>
      <link>https://circuitshelter.com/goodstuff/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://circuitshelter.com/goodstuff/</guid>
      <description>Computers LWN.net An old-school news site dedicated to producing coverage from within the Linux and free software development communities. The Eclectic Light Company: In-depth articles on various Mac-related topics. Low-tech Magazine: Alternative solutions in computing and general tech. Games Indie Retro News: From Amstrad CPC, C64 and ZX Spectrum to the latest Free Indie PC Releases. Fabien Sanglard&amp;rsquo;s website: The author of Game Engine Black Book: DOOM and Game Engine Black Book: Wolfenstein 3D.</description>
      <content>&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://circuitshelter.com/img/newspaper.png&#34; alt=&#34;newspaper&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;computers&#34;&gt;Computers&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://lwn.net/&#34;&gt;LWN.net&lt;/a&gt;&lt;/strong&gt; An old-school news site dedicated to producing coverage from within the Linux and free software development communities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://eclecticlight.co/&#34;&gt;The Eclectic Light Company&lt;/a&gt;&lt;/strong&gt;: In-depth articles on various Mac-related topics.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://solar.lowtechmagazine.com/&#34;&gt;Low-tech Magazine&lt;/a&gt;&lt;/strong&gt;: Alternative solutions in computing and general tech.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;games&#34;&gt;Games&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.indieretronews.com/&#34;&gt;Indie Retro News&lt;/a&gt;&lt;/strong&gt;: From Amstrad CPC, C64 and ZX Spectrum to the latest Free Indie PC Releases.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://fabiensanglard.net/&#34;&gt;Fabien Sanglard&amp;rsquo;s website&lt;/a&gt;&lt;/strong&gt;: The author of Game Engine Black Book: DOOM and Game Engine Black Book: Wolfenstein 3D.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.copetti.org/&#34;&gt;The Copetti site&lt;/a&gt;&lt;/strong&gt;: Architecture of gaming consoles by Rodrigo Copetti.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.filfre.net/&#34;&gt;The Digital Antiquarian&lt;/a&gt;&lt;/strong&gt;: A History of computer entertainment and digital culture by Jimmy Maher.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;wellbeing&#34;&gt;Wellbeing&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://web.archive.org/web/20250624071304/digitalminimalist.info&#34;&gt;Digital Minimalism&lt;/a&gt;&lt;/strong&gt;: How to use &amp;ldquo;just enough&amp;rdquo; technology by Amy Lamb.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://solvingprocrastination.com/&#34;&gt;Solving Procrastination&lt;/a&gt;&lt;/strong&gt;: Help with understanding and overcoming procrastination.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Humans do it better.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    </item>
    
  </channel>
</rss>
