Pages

Sunday, August 23, 2026

Why Windows 8 failed

Heya! I know I haven’t made a post in a while, that’s my own fault. Anyways, remember that failed Windows version that Microsoft made in an attempt to be with the times? Yeah, me too. Here, I’ll discuss a few reasons why Windows 8 was arguably one of Microsoft’s biggest flops ever, and what they could’ve done to fix it.

Start screen

Everyone knows about this. Windows 8, the version that ditched the traditional Windows 7 shell and start menu in place of a start screen. This was.. okay for tablets and phones (Windows Phone was a big hit, even if it didn’t have much market share. Microsoft still regrets shutting it down to this day), but for a traditional monitor and keyboard/mouse system? Absolutely not. It is one of the biggest stringencies that people who used Windows 8 would constantly repeat, because it was a big problem.

How could they have fixed this? It’s incredibly easy: a toggle to switch between the start screen and the start menu, kind of like what StartIsBack does and like how you could switch between the classic start menu and updated start menu in versions prior to Windows 7, which proves that Microsoft does know how to do this and has had the technology in place before. An example using StartIsBack:

StartIsBack: real start menu for Windows 8 and Windows 10

Not only does this still fit in decently with Windows 8’s design language, but it would completely eliminate what is the biggest complaint about Windows 8. Remove the Aero remnants still seen in this screenshot, which Microsoft could easily do if they wanted, and it would fit in perfectly. Speaking of Aero…

Removal of the Aero interface

Another huge complaint about Windows 8 was the Metro design language. Everyone hated it and few got used to it until 10 came along, which is when people stopped complaining because they knew it wasn’t going to leave, although Metro (especially 10’s version) is generally worse than Aero was for many reasons.

This was the common opinion when it released, too. A post from an anonymous user on a Microsoft forum, dated November 29, 2012:

No Aero Glass is an absolute deal breaker for me.  There is no way I'm installing those ugly flat windows on my desktop.  The transparency that is there which lacks blurring is an ugly joke.  On a scale from one to ten of how upset I am over this... I'm like 1000000000 seriously considering buying a Mac out of pure out-of-my-mind crazy spite.  I cannot even express in words how upset I am over this.  There is absolutely zero chance that I will ever install Windows 8 or Blue or any another Windows operating system onto my computer until Aero Glass is returned or something more beautiful is included.

People hated Metro. It just.. wasn’t popular, it didn’t feel natural, and it looked low effort. How could Microsoft have fixed this, you may be asking? Gee, I sure do wonder. Seriously though, the fix was quite simple: keep the Aero theme. It doesn’t matter if it was the default or just another one of the available themes. It just needed to exist and be available. Now, this would be much more difficult compared to the previous issue, where changing start menu styles wasn’t that difficult and was already something that had existed in Windows prior.

But once again, the technology was already kind of there: the High Contrast themes, in a way, were a lot like Metro, and you could also easily switch between Windows Basic and Aero at any time you wished in 7 and Vista. While it would require more work on DWM and making it more modular to make support for this type of stuff, it is totally possible. Maybe Microsoft would just need more time… speaking of,

The software support was super premature

Microsoft had its first party apps sorted out, kinda. But you wanna know who didn’t? Literally EVERYONE ELSE! If you exclusively stuck to Microsoft’s ecosystem, you would probably make do fine on 8, if we ignore all of the other glaring issues it has. But if you relied on any other app and expected it to use Metro, you’d probably have to wait a few years. Or wait forever. Tons of apps had no support. Just a little prior to the release of Windows 8 RTM, McAtkins Online reported 1,004 apps available on the Windows Store, many of which weren’t even “Modern” apps. That’s basically nothing, as far as app support goes.

Say you wanted to use Rhapsody, a huge player in the subscription music scene, natively on your Windows 8 machine. You got this machine on the first day Windows 8 released. You’d have to wait a full 10 months just to get a release on the Windows Store. That’s right, 10 full months. With, say, Windows 7, you didn’t have these types of concerns. Windows 7 stuck to the tried and true, as well as massively matured, Win32 subsystem. But with Windows 8, you’d have to wait a while just to get the major tools and applications that you were already using to release natively. You COULD use the standard Win32 version, if it existed, but this also introduces another problem:

The software ecosystem was also split straight down the middle. The Modern app subsystem and Win32 subsystem coexisted at the same time, creating major consistency problems. Microsoft couldn’t just dedicate exclusively to Modern apps, because then they would lose decades of pre-existing Windows apps and also have to rework a huge portion of the operating system, likely angering many users and potentially causing the jump-ship that we are seeing happening now to happen a decade early. However, they couldn’t just abandon Modern apps either, because basically the entire operating system is focused on them and they bet too much on them to quit now (that’s why they waited to slowly shift the focus away from them with Windows 10).

This creates a fundamental flaw that they couldn’t really fix without just stripping out the Modern app subsystem or the Win32 subsystem entirely, which as previously stated, doesn’t really work. Take Internet Explorer, basically the poster child of this issue. Say you’re new to Windows 8, and you’re still trying to figure this whole thing out. Hey, at least you recognize Internet Explorer, though! You click into it on the desktop and do some research, install Firefox, do whatever you were doing. Later, you’re in the start screen, and you’re fiddling around with the Metro apps, or Modern apps, or whatever these things are called. You click in to Internet Explorer, expecting what you saw earlier, and– WHAT THE FUCK IS THIS SHIT??? It looks nothing like what you saw earlier. That’s right, it’s a totally different app! Both use the same Trident engine at the core, but UI and UX wise? Completely different. Don’t worry, it’s the worst of both worlds. With the Metro version, you get the bugs and slow performance of Trident while getting the premature and upsized UI of Modern apps. Yippee!

Internet Explorer 10 Metro - Add or Remove Favorites in Windows 8 | Windows  8 Help Forums

Here’s an example of it with an older version of the Windows EightForums loaded. Windows Metro does have genuinely good and nice looking apps and use cases, but this is not one of them. It’s like they took a Metro-themed browser for small phones, stretched it out to a tablet size, and then made it mostly desktop compatible. No thanks, Mister Microsoft!

Conclusion

Yeah, that’s a doozy. With Windows 7, one of the most popular versions of Windows (which I am using right now as I write this), it sold 300 million in the first 15 months. What numbers do 8 have to boast? 200 million in the first 15. A whole 100 million less. It even took until early 2013 for it to surpass Windows Vista’s marketshare, which is embarrassingly slow for a Windows version. Anyways, for more failing OS versions and secrets to the tech treasure chest, don’t forget to tune in to the CheeseBlog for more posts. Cya!

Friday, June 26, 2026

How to remove AI from your devices

Nowadays, nearly every single site has an AI chatbot or AI automated feature, similarly to how there are tens of thousands of AI startups that everyone tells you to use. That all really stinks. But why should we be forced to oblige to these tech bros and disconnected trillionaires?

For that nonexistent reason, I’ve made a guide that’ll make you to go cold turkey on AI (and also just enhances your privacy), no matter if you’ve already quit or are trying your hardest to. Anyways, lets quit the blabber and get straight into what we’ll need as

Prerequisites

This guide assumes a few things, so if you don’t have them or can’t set them up, you’re cold outta luck. Oh well. To follow this guide, you’ll need:

  • An internet-connected device, preferably a Windows, Linux, macOS, iOS, or Android device
  • A configurable DNS instance, such as a pi-hole (this of course means you need to have a pi) or a NextDNS profile

If you don’t at least have the first one, what the hell have you been doing for the past 31 years? Unless you use typewriters and only read books and stuff.

Setup

Obviously, we need to configure all of this stuff, since it isn’t going to anti-AI itself on its own.

Pi-hole

Since I am a big idiot dunce and have never used a pi-hole, I highly recommend natalie.dev’s pi-hole guide, with hagezi's blocklists, either multi ultimate mini or multi ultimate, if your device can handle it, and then also obviously the AI blocklist by laylavish. Otherwise, just stick to the guide normally.

NextDNS

This is something I have much better expertise in, as I’ve been using it for about 2 years at this point.

Anyways, pop on over to https://my.nextdns.io, and log in or sign up (if you’re already logged in, ignore this part). Then, go to the Security tab and enable Threat Intelligence Feeds, Google Safe Browsing, Cryptojacking Protection, DNS Rebinding Protection, IDN Homograph Attacks Protection, Typosquatting Protection, Domain Generation Algorithms (DGAs) Protection, Block Dynamic DNS Hostnames, Block Parked Domains, and Block CSAM. For the paranoid, you can add .ai under Block Top-Level Domains, to completely avoid any AI startups, although it may block some regional websites. I highly recommend avoiding the AI-Driven Threat Detection option, as in my experience it has only blocked innocent domains, and also for the obvious reason of avoiding AI.

After that, head to the Privacy tab, and enable whatever blocklists you need, I personally have all of them enabled except for No Google and Anti Facebook, for familial reasons. Scroll down to Native Tracking Protection and enable all of them. Doesn’t matter if you use the products listed or not, it’s good practice. Once again, scroll down and toggle Block Disguised Third Party Trackers.

Then, go to Parental Control, and add ChatGPT under the list of Blocked Websites, Apps & Games. It doesn’t actually work for me, but whatever, a block is a block.

Now, we get to have our fun. We’re done with the basic configurations, so guess what? Blocking spree! Remember when I mentioned earlier the AI blocklist by laylavish? I do. Now, we can use that blocklist. Unfortunately, because NextDNS is a big fat stinky and doesn’t allow you to import lists, we will have to do this manually.

If you blocked the entire .ai TLD like me, you can get to be just a tad bit more lazy with this list. Not too lazy though, you still have to manually block all of the other domains. Once you add the entire huge ~800 domain blocklist (because NextDNS automatically does wildcards for the blocklist, you don’t have to do the WWW part!), there are still some more domains to ensure complete death for those sites with , which can be found here or here (mirror).

Actual Stuff

There’s still more to do, that was just configuring the DNS. Thankfully, none of it is as painstaking as manually adding 800 domains to a blocklist.

Android

This part assumes Android 4.4.2+, but if you aren’t on that, it’s not like Google released the Gemini update to Android 2.2.3, so you should be fine, and thus, can skip this step. 

If you’re on Android 9, you have the leisure of having secure DNS as an OS feature. Go to the Settings app, then to Connections ==> More connection Settings. From there, you’ll find the Private DNS setting. Reopen the NextDNS Setup page, and find the DoT (DNS over TLS) string. You can add an identifier if you want. For me, it looks like “Phone-******.dns.nextdns.io” (profile id obscured). Add the string your page gives you into the input, under “Private DNS provider hostname”. Lucky you, you now have almost all of that AI gunk blocked.

If you’re on anything older than Android 9, however, the process is a bit more difficult. To bypass the lack of the Private DNS setting, you can get Intra from the play store or apkmirror. For Intra, though, you actually need a DoH (DNS over HTTPS) string. It’s virtually the same process though, pop on over to the NextDNS setup page, and grab the DoH string. It’ll look something like this: https://dns.nextdns.io/******/Intra%20DNS (profile string obscured). Open the sidebar in Intra, then go to the Settings, and add your DoH string. Grant Intra its priviledges, and enable it. Should work fine.

Still not done! Make sure you have a mobile browser capable of uBlock Origin, such as Firefox, or a browser with uBlock Origin-style functionality that takes the Adblock blocklist format, such as Brave. If you’re on Firefox for Android, open https://addons.mozilla.org and search up uBlock Origin. Install it, and enable it on private windows if prompted. Then, open up the extensions menu, tap on uBlock Origin, and go to the dashboard (thru settings icon). Go to the Filter lists tab, and scroll all the way down until you find a hidden menu called Import. Reopen it, and paste this URL: https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/list.txt, then on a new line, paste https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/additional_list_nuclear.txt. Once you’re done, apply the changes and wait for the two lists to appear under “Custom”. Done there. If you’re on Brave, beforehand, make sure that Shields is set to be Aggressive for trackers and fingerprinting. Now, open the settings, then go to Brave Shields & privacy. From there, open “Content Filtering” and click on the “Add custom list” setting near the top of the screen. Pasting in the same links should be straightforward from there, with the only difference being that you need to do it one at a time.

Now, we get a bit greasy. Get Shizuku if not already installed from https://shizuku.rikka.app/, and install it. Go through the standard pairing process, but do not start it. Then, get Canta from https://github.com/samolego/Canta/releases/latest, and grant its permissions in the Shizuku app. Get my blocklist from https://files.catbox.moe/xhqo8p, and add it to Canta. Now, start Shizuku. Return to Canta, and apply the preset. This removes some bloatware, most (Samsung and some Google) AI gunk, and some carrier garbage (specifically AT&T’s). Unfortunately, I don’t have the devices to test this preset on anything that isn’t my AT&T S25, so I can’t guarantee that it’ll work elsewhere. Through Canta, you can also uninstall Google (only do this if your Google version is newer than 2023, since that’s when all the AI Overview and AI Mode slop started being added).

Once you do that, return to your browser. To test and make sure that the AI blocklists are working correctly, go to google, bing, or duckduckgo and see if AI Mode, AI Overview, or AI results appear. If they do not show up, that means that the blocklists are properly working. Now, return to the homepage of one of those search engines, go to the browser menu, and click “Add to home page”, or a similar option. You can now access that search engine freely, without AI.

As far as Android goes, that’s it. From me. Regarding Canta, if you find more AI-related system packages, go for it. I’m not forcing you to only use what is within my preset list. Same deal for the DNS section prior, if you find any other AI related domains or servers, be my guest and block em. Do whatever it takes to NOT use AI.

Windows

This guide may be less thorough or detailed because I use Windows 7 which by default has no AI preinstalled, and I don’t regularly use 10 or 11 in any substantial form to warrant something truly detailed like my Android guide from a paragraph ago. Anyways, I’ll do my best, but at least this will be better than my Linux guide. If you’re on Windows 7 or older, you can skip the following paragraph.

Anyways, there’s a very useful project on GitHub, which is https://github.com/zoicware/RemoveWindowsAI. It will remove most of the AI features, given that you toggle on every single removal, don’t even spare it one bit. Just for some extra reassurance, though, I’d also recommend installing a portable version of https://winaerotweaker.com/, since it’ll allow you to completely disable telemetry (aka spyware), give you more granular control over windows, and most importantly for this guide, help you scrape off the remainders of the parasitic AI garbage from Windows.

Make sure you have a browser capable of uBlock Origin, or uBlock Origin’s form of blocklists. For example, you can use Brave, any form of Chromium which still supports MV2, Supermium, or any form of Firefox, which should work fine. If on Firefox or Supermium (or an MV2 supporting browser), grab uBlock Origin from the respective extension store. Once obtained, the steps are identical to Android: open up the extensions menu, tap on uBlock Origin, and go to the dashboard (thru settings icon). Go to the Filter lists tab, and scroll all the way down until you find a hidden menu called Import. Reopen it, and paste this URL: https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/list.txt, then on a new line, paste https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/additional_list_nuclear.txt. Once you’re done, apply the changes and wait for the two lists to appear under “Custom”. (direct copy paste). If on Brave, the instructions are yet again nearly identical: beforehand, make sure that Shields is set to be Aggressive for trackers and fingerprinting. Now, open the settings, then go to Shields. From there, open “Content Filtering” and click on the “Add custom list” setting near the top of the screen. Pasting in the same links should be straightforward from there, with the only difference being that you need to do it one at a time. That one was kind of a copy paste, but not really. Anyways, it’s done.

Oh, wait, didn’t I set up a whole DNS thing for you to use earlier? Right, I forgot about that. Fuck. But not to worry, because I remembered it! Great! Anyways, download https://nextdns.io/download/windows/stable (NextDNS for Windows). Works on 7 and newer, as far as I’m aware. It even logs your device name to prevent confusion! Now, install NextDNS for Windows, and once the icon appears in your tray, right click it and go to Settings. Return to your NextDNS profile’s setup page, grab your profile ID (reminder: 6 character hexadecimal code), and shove it into the input asking for it, and click Save. To ensure it is working, go to your logs on the website (if enabled) and ensure that your device shows up. If it does, amazing. If it doesn’t, retrace your steps and make sure you didn’t fuck anything up.

Linux

I don’t know too much about Linux outside of Android, which is very abstracted to true Linux. I’ll try my hardest, but outside of DNS, there isn’t much I can do.

As far as I’m aware, most Linux distros do not include AI, but for the ones that do, they document it and have options to disable it. Similarly, make sure all tracking and telemetry features are completely disabled, and if you can’t figure out how to disable them, consult documentation. If there are obviously AI features and anti-privacy practices used in the distro, and you cannot disable either, consider a new distro if possible.

However, I can help out with DNS and browsers. To add your NextDNS profile to Linux, open /etc/systemd/resolved.conf and paste the following (insert your configuration id where the stars are):

[Resolve]
DNS=45.90.28.0#******.dns.nextdns.io
DNS=2a07:a8c0::#******.dns.nextdns.io
DNS=45.90.30.0#******.dns.nextdns.io
DNS=2a07:a8c1::#******.dns.nextdns.io
DNSOverTLS=yes

So that handles the DNS, but we still need to deal with the AI in browsers.

Literally gonna directly copy paste the Windows version, asides from Supermium. Anyways, here. Make sure you have a browser capable of uBlock Origin, or uBlock Origin’s form of blocklists. For example, you can use Brave, any form of Chromium which still supports MV2, or any form of Firefox, which should work fine. If on Firefox (or an MV2 supporting browser), grab uBlock Origin from the respective extension store. Once obtained, open up the extensions menu, tap on uBlock Origin, and go to the dashboard (thru settings icon). Go to the Filter lists tab, and scroll all the way down until you find a hidden menu called Import. Reopen it, and paste this URL: https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/list.txt, then on a new line, paste https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/additional_list_nuclear.txt. Once you’re done, apply the changes and wait for the two lists to appear under “Custom”. If on Brave, beforehand, make sure that Shields is set to be Aggressive for trackers and fingerprinting. Now, open the settings, then go to Shields. From there, open “Content Filtering” and click on the “Add custom list” setting near the top of the screen. Pasting in the same links should be straightforward from there, with the only difference being that you need to do it one at a time. That one was kind of a copy paste, but not really. Anyways, that’s done.

macOS

Same deal as Linux, and the iOS section after this: never used it. I will, however, combine what I’ve found online into a simple guide.

Head on over to the macOS App Store page for NextDNS (https://apps.apple.com/us/app/nextdns/id1464122853). Install it, and then open it. Ensure it is toggled to start at login. Then, head to the Configuration page, and add your profile id in the input asking for it. Save and enable. Some reviews online are saying that it does not automatically start on login, so ensure that you remember to enable it if not already on every login.

To make sure that this is working, go to your NextDNS logs (if enabled) and check for your device, or go to dnsleaktest.com on a browser and run an Extended test to make sure only NextDNS is your used DNS provider.

Make sure you have a browser capable of uBlock Origin, or uBlock Origin’s form of blocklists. For example, you can use Brave, any form of Chromium which still supports MV2, or any form of Firefox, which should work fine. If on Firefox (or an MV2 supporting browser), grab uBlock Origin from the respective extension store. Once obtained, open up the extensions menu, tap on uBlock Origin, and go to the dashboard (thru settings icon). Go to the Filter lists tab, and scroll all the way down until you find a hidden menu called Import. Reopen it, and paste this URL: https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/list.txt, then on a new line, paste https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/additional_list_nuclear.txt. Once you’re done, apply the changes and wait for the two lists to appear under “Custom”. If on Brave, beforehand, make sure that Shields is set to be Aggressive for trackers and fingerprinting. Now, open the settings, then go to Shields. From there, open “Content Filtering” and click on the “Add custom list” setting near the top of the screen. Pasting in the same links should be straightforward from there, with the only difference being that you need to do it one at a time. If on Safari (I am unknowledged here), install AdGuard from https://apps.apple.com/us/app/adguard-ad-blocker-for-safari/id1440147259, and add the blocklists, as well as making sure all of the privacy and blocking settings are on.

iOS

Forgive me

Open your NextDNS profile, and scroll down to the setup guides. Click on the iOS option, and if available, scan the blue circle-ish code, and follow the steps on your iPhone from there. If that is not an option (for reasons such as you viewing the configuration page on your phone), go to https://apple.nextdns.io and create the necessary .mobileconfig file. Steps are provided on page.

Make sure you have a browser capable of uBlock Origin, or uBlock Origin’s form of blocklists. For example, you can use Brave, any form of Chromium which still supports MV2, or any form of Firefox, which should work fine. If on Firefox (or an MV2 supporting browser), grab uBlock Origin from the respective extension store. Once obtained, open up the extensions menu, tap on uBlock Origin, and go to the dashboard (thru settings icon). Go to the Filter lists tab, and scroll all the way down until you find a hidden menu called Import. Reopen it, and paste this URL: https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/list.txt, then on a new line, paste https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/refs/heads/main/additional_list_nuclear.txt. Once you’re done, apply the changes and wait for the two lists to appear under “Custom”. If on Brave, beforehand, make sure that Shields is set to be Aggressive for trackers and fingerprinting. Now, open the settings, then go to Shields. From there, open “Content Filtering” and click on the “Add custom list” setting near the top of the screen. Pasting in the same links should be straightforward from there, with the only difference being that you need to do it one at a time. If on Safari (I am unknowledged here), install AdGuard from https://apps.apple.com/us/app/adguard-ad-blocker-for-safari/id1440147259, click on the Page Menu button, then tap Manage Extensions, and open up the AdGuard options. From there, add the blocklists, as well as making sure all of the privacy and blocking settings are on.

Conclusion

I am sick of this shit, both in regards to how low quality AI slop and features is constantly shoved in our faces and the mindless, autonomous typing of this post. Anyways, save yourself from the slop, put your privacy on top, but more importantly, for more buzzing bananas and bubbly tech trivia, don’t forget to tune in to the CheeseBlog for more posts. Cya!

Saturday, May 30, 2026

Forced obsolescence is a net negative

We all have one or two devices that you probably can’t use anymore, like an older flip phone or an ancient e-reader. Well, why can’t we use them? They still worked when you bought them. Well, that’s because of forced obsolescence, usually. I’m going to assume you know what that is, and if you don’t, just do a quick search.

Thanks, capitalism

The primary reason for forced obsolescence is capitalism. Even if a truly great product is made, once everyone gets one, you can’t make a profit anymore. So instead, the company starts a subscription service for it (I mean look around in the modern world, how often do you see subscription services) or releases a second rendition with more features. Everyone goes and buys that one, and the company stays afloat. But what happens to the older version?

Well, it gets left in the dust. The general public moves on from it, forgets it. The company may release an update for it, they may not. Tools developed for it drop support, services get shut down. Replacements or replacement parts become more difficult to find, and the company that originally made it turns a blind eye.

Ruh roh spaghettioh

This is where forced obsolescence becomes something problematic and not just something capitalistic and greedy. The device may still work completely fine, mint condition. The battery holds a charge, it doesn’t bootloop, screen still lights up. But because the manufacturer moved on from it, the developers did too, and because those two moved on, the users do, too. A device that functions perfectly meets the weak link in its chain, which wasn’t even its own link.

The biggest problem here is cost. You could be spending thousands upgrading your device, all because big brother decided that you couldn’t use it anymore. People that would normally only get a new device after many years are forced into buying the next one immediately, which puts some obvious wear and tear on the wallets of the consumers, while pouring cash into the wallets of the company, which only promotes this type of behavior.

Can’t forget that this puts pressure on the environment. Relentless purchasing like this is bound to make a hell of a lot of e-waste, which often ends up in landfills or scattered randomly, which poses actual threats to the environment and people. If a single spicy pillow battery gets accidentally popped in a landfill, and it goes up in flames, the rest of the landfill might too. Now, imagine those disgusting fumes that are sinking their way deep into the environment, meanwhile the manufacturer only makes more devices that never needed to be made, accelerating this problem in the first place. Yuck.

Distinction

The issue here isn’t that new devices exist, the issue is how the majority of the modern tech industry treats old devices. Rather than keeping up support while the product naturally wears out, which may cost a small portion of their multi-billion dollar profits, they just choose to discontinue the product, service, tool, whatever it is.

Not every discontinuation is a bad one, let alone forced obsolescence, though. There are genuine reasons why a product may have to lose support or be pulled from the shelves, such as recalls. I’m sure at some point, we all heard of Samsung’s Galaxy Note7 disaster, where they would literally explode, which could be extremely hazardous in environments like an airplane, crowded subway, or flammable place. For that reason, Samsung deployed a software update to the phones that essentially soft bricked it, and then removed them from physical and online storefronts. Another example is the Tesla Cybertruck, which due to shitty engineering (it failed a lot of safety tests), would get the gas pedal jammed under the foot mat, rapidly accelerating the truck and endangering practically everyone inside. Due to this, Tesla fixed this issue somewhat, and slipstreamed the newer version of the Cybertruck into manufacturing.

Fear not, for Homebrew is here

Well, it’s not always called Homebrew, since that’s just a term generally used for consoles. A better umbrella term would be community-maintained software.

When a company abandons its product, the majority of people follow. But not all people. Often, you’ll see other phones, computers, and niche tools still have quite the community, mostly comprised of hobbyists, software developers, and other sorts of enthusiasts. Through them, new life gets shoved into a twitching, dead body, murdered by greed. This often comes in the form of custom ROMs, software revivals, and replacements.

A great example is F-Droid. Rather than dropping support for Android 4.x and prior like Google did in 2023-ish, it kept support, as did the developers on that platform. If you install F-Droid, say, v0.45, on your Android 4 phone, you are bound to still see tons of software for your phone on that platform. To this day, you can still use F-Droid as a replacement app store to Google's Play Store without any restrictions.

Anyways, I hope you enjoyed this post. For more wacky programming practices and information on raising old tech from the dead, don’t forget to tune in to the CheeseBlog for another post. Cya!

Thursday, April 16, 2026

Your IoT devices are your enemy

Internet of Things (IoT) devices are generally considered useful, right? Hell, one could even say made for you specifically. Truth is, though, they do a little more than that. A lot more.

Data for dinner

These devices are very good at 2 things: one, doing exactly as advertised. Two, selling your data to bits. Because these are usually just seen as common appliances, you often use them without thinking. Turn on a light, tap a button on your toaster that makes it toast, open up the fridge, whatever.

Smart devices, because they essentially have a mini computer inside them, and plenty of sensors, track this. See when you regularly flick a light switch, grab the milk from your fridge, put your clothes in the dryer. All of this is harvested, especially if you have an ecosystem of smart devices of the same brand. This can build information profiles on you, which are then sold to whoever is the highest bidder.

Smart devices are often sneaky and chatty little bastards, too.  Because you can’t install a custom Linux distro on your smart microwave, the information flows to and from the appliance and some servers in some dark warehouse in the midwest US completely unseen. They will constantly ping servers with new information and data, slowly giving the manufacturer a general idea of you and your habits.

But whatever will you do? Try out

Starvation

Thankfully, there are ways to figure out what exactly is being sent, and stop it.

My personal favorite way to do this is DNS. Obviously, because your washing machine doesn’t have DNS settings, you can’t set it there, but you can set it on the next best place: your router, or a hotspot.

This is what I do, and have been doing for numerous months. And, wow, it really is disgusting, looking at the DNS logs. I use NextDNS, which is fairly novice friendly while still giving granular console, especially if you’re using the TUI/console app. I’m sure you’ll be just as disgusted as me, once you look at the logs. My DNS profile has every filter and setting on, as well as some more domains in the Denylist, which is a lot when all combined. Works for me, may not work for you. Experiment and find the sweet spot.

When you block the data harvesting domains for these IoT appliances, they usually still work. May lose one or two obscure features, but it’s really nothing to sob about.

Roku is one of the worst offenders. The DNS logs will get bloated, as they will constantly try to phone home to their servers to send lots of disgusting data, including watching habits, ad personalization, and even snapshots of what is on the screen, no matter what it is: the screensaver, a game console like the Wii U, the home screen, or an app like Hulu+. Blocking them via DNS is definitely worth it, next best option is getting a more privacy-conscious smart TV or just ditching the whole smart TV idea and, say, hooking up your computer to the TV.

Conclusion

At the end of the day, convenience comes as a cost, a cost that is constantly changing and becoming more and more worth it to dodge. The line between smart device and surveillance machine (looking at you, Ring) is becoming more and more difficult to spot. Your smart dryer may just seem as a little harmless thing, but when you add up all of the “harmless” smart devices, it becomes a whole lot more dangerous. Anyways, if you want more tips on dodging data and learning about privacy, be sure to tune into the CheeseBlog for another post. Cya!

Saturday, February 21, 2026

My new stance on AI, after over a year

Yuck. Disgusting.

It’s been a while since I’ve talked about AI, and a lot has changed on my perspective of it. There are definitely important distinctions to be made when talking about it, though.

Generative AI

This is the part that I’m grossed out about. Generative AI, by definition, is an artificial intelligence trained off of a ton of a specific form of content that attempts to recreate content based off of its training data. There are many, many reasons why it is bad.

For example, how do you think the groups that create and operate these models collect the data they use to train the models, with billions if not trillions of unique works collected all in usually less than a year or two? Well, I’ll tell you. It has nothing to do with legality. If it is on the internet, their bots will scrape it (unless you put a robots.txt file at the root of your server that explicitly bans bots, but not all groups honor this). It then gets used, and you don’t get anything from it. This also means that some chatting apps like Whatsapp will just go and collect all of your private chats and use them to train their AI. Bye bye, privacy!

Another great example is resource usage. Generative AI generally requires tons of computation power to work properly, so the companies and organizations running the AIs will build datacenters everywhere possible. End result? You end up with a massive datacenter in what is usually a small town that strains local power grids, leading to cost increases for normal citizens that aren’t participating in the whole AI business. It also needs water to cool down the servers inside said datacenter, which pollutes the local water supply and if released back into nature can end up killing tons of animals, aquatic life, and plants. Also, people drink that water, so it is a net loss. And I may hear you say: “But datacenters all over the world use water to cool down their servers, what’s the difference?” Well, here, I’ll tell you with an analogy. If there was a water reservoir, and a person took a glass of water from it daily, would you see it as problematic? No. But if 5,000 people were lined up to get a glass of water from the reservoir daily, then would it be problematic? Yes, especially once you take into account that there are other people that genuinely do need that water to survive. AI datacenters are springing up like wildfire, and so far, nobody has done anything about it, leading to major consequences like the ones I just described.

Also, what happens to creatives? They lose their jobs. People realize that instead of contracting professionals that spent so long mastering their own unique artstyle, or writing style, or music style, or whatever it may be, they can just go to an AI and have it pump out slop after about a minute or so of generating files. Soulless slop that misses the whole point of the arts itself, which is to bring connection with others, joy, and also just act as a creative outlet for those who wish to make something. Much of the economy depends on artists, musicians, writers, programmers, and similar titles in some sort of fashion, and we will see the consequences of abandoning them just to save the extra buck.

Non-Generative AI

I don’t mind AI that isn’t generative, and it has been around for years at this point.

Non-generative AI does have plenty of uses, and there are tons of them that we use all the time, and don’t even notice. For example, translation. Many modern language translation engines do use AI, or more technically, neural networks. They are trained upon tons of different proper translations, which then allow it to properly translate practically any language if it is given enough examples of proper translation from said language to any other.

Another great, positive example of non-generative AI can be seen in the medical field. Often, a properly trained neural network will be given an x-ray, or medical research results, or something similar and it will be able to classify what the issue is: such as, (and these are really basic and oversimplified) “No issue”, “Respiratory”, “Cardiovascular”, “Muscular”, etc. They have existed for decades at this point, constantly helping doctors, nurses, and other sorts of trained medical professionals.

This one is a little more obvious, but AI is in a ton of games. For example, in Mario Kart, there is a neural network (or a similar variant, at least) constantly running that decides when your opponents are going to throw an item, turn, drift, or attempt to slipstream off of you (get a boost by being behind you). Or, in a FPS, like Counter Strike, the bots that are fighting against you or with you are being powered by an AI that controls every single action they make. Many games usually offer an easy, normal, and hard mode for the AI, and that typically just means the AI getting more or less training, or it being trained off of better or worse players.

Conclusion

Anyway, that’s all I have for now. If you want more tech tips and digital blabbering, save yourself, the economy, nature, and most importantly, a bookmark of the CheeseBlog to to stay tuned for more posts. Cya!

Thursday, February 12, 2026

Got a Wii? You’ve got a web server.

Yeah. I’m just as surprised as you are. I mean, just picture it: a bleeding edge game console—or bleeding edge for 2006, anyways—hosting your dream website! Or blog! Or whatever the fuck. Doesn’t it just sound stellar?

Seriously, though, this is pretty interesting. Yeah, it is just a regular web server. And yeah, you could do the exact same stuff or even more on a computer or dedicated server rack. Capability isn’t really the point. It’s a tall, long brick with 88 megabytes of RAM and a CPU roughly as powerful as a low end Intel Pentium 3.

Really, what is most special about this is availability. Everyone and their grandmother had a Wii, which means everyone and their grandmother could host a web server. Just as simple as it is to Homebrew the Wii itself, you can install the web server. Best comparison is installing an app from the Play Store or APKMirror.

Even better, there isn’t anything limiting what you host. There’s no file that is too big, unless it is larger than the storage available on your SD card. There’s never too many files to host. Nothing. So far, I’ve been able to host my entire personal website and then some, with minimal latency for loading. Practically equivalent to if I had just gone to the actual site that is hosted on GitHub Pages. Of course, some of this may be because I’m not actually connecting over the internet, only the local intranet, so speeds are bound to be quicker.

I think the hard limit here is for stuff like node.JS. That requires the Wii to actually act like a server and run its own code outside of just providing a web page and its linked resources. Unless they randomly make an instance that can run on PowerPC, it isn’t gonna work out too well. For that, you’d need an ACTUAL server, likely one running Windows 7+ or Linux.

Anyways, credits to Cboof and Felix123 for making this app. You can find it here on oscwii.org or go onto the Homebrew Browser to install it. And, oh, yeah, this needs a Homebrewed Wii, not any bog standard Wii. Whoops! This also works on a Homebrewed vWii (the virtual Wii inside of a Wii U). Welp, if you want to see any more homebrewing tips or programming advice, stay tuned to the CheeseBlog for more posts. Cya!

Sunday, November 23, 2025

I switched back to Windows 7 from 10—here’s my thoughts so far

It has been exactly a week since I installed Windows 7 Ultimate onto my daily driver laptop. There’s some parts about it I like, some I don’t, but for now, it seems that I’ll be staying on it.

Pros

I like a lot of parts about Windows 7, arguably more than the things I like about Windows 10 or any newer Windows operating system

Speed

Windows 7, at least on my laptop, is able to keep my pace. Windows 10 would continuously drag its feet whenever I tried to do the most basic of tasks.

For example—logging in. On Windows 10, I would have to wait nearly 16 minutes combined just to even begin using my computer. That’s atrocious, especially for a computer that shipped with the operating system. This was already after I had cut out bloat where possible, such as switching to a local account, removing HP bullshit, and killing anything non-essential to the OS. However, even that isn’t enough with the horrendous amount of background processes 10 kickstarts for no reason. Windows 7, on the other hand, only takes a combined 1 minute for me to log in. I don’t have to start it up early like you’d heat up a car in winter before driving. I boot it up, and I get to work (or whatever I am doing on my computer).

Another example is UWP apps. Windows 10 (and lets be honest, most modern apps) expect you to have a fully specced out workstation or gaming computer. That isn’t even a concept when it comes to my laptop. Nada. No no. This means that most apps will pretend they are running on a regular old potato, when they in fact are running on a “fully capable” laptop. The UWP Windows Settings app roleplays as a sloth, and my computer gets hot enough to toast an egg. That’s not a computer issue, that’s an optimization issue. Since UWP doesn’t and literally cannot exist on Windows 7, you get the older native apps that actually run decently. It’s not like these apps are missing much functionality, anyways.

Looks

This definitely isn’t a new point of discussion, I talked about this in my “Why Windows 7 is better than newer Windows versions” blog post. However, it’s just too big of a point to ignore or avoid. Windows Aero is beautiful, and it is a great showcase of the features and functionality Windows 7 has to offer—certainly more than Windows 10 or 11 exhibit, anyways. Even the Windows Basic theme isn’t necessarily bad, just not exactly preferable in comparison to the Aero theme.

Every icon just has this sense of realism to it, and every application just feels right at home on 7. Hell, even just get a modern app like OBS, slap on the light Aero theme to it (yes you can do this by setting the theme to “System”), and it looks relatively decent and fits in well, even if not as well integrated as, say, the Windows Live Essentials pack or the pre-installed applications. With the Aero theme, there’s no app that doesn’t look at least decent.

There’s not much more for me to say that I haven’t said already. Windows 7 simply looks great, that’s that.

Gaming

This may come as a surprise to you, but Windows 7 is actually great for gaming—or rather, retro gaming.

There’s actually some fair reasoning behind this, most of it having to do with the backend of the operating systems, not what the user actually ends up seeing. Windows 10 has mostly killed retro gaming on itself, unless you are under very specific circumstances. This is because likely in an attempt to “streamline” the process of running apps and games, most older DirectX stuff was ripped out, even the parts that weren’t full blown DirectX frameworks. Additionally, a lot of the older .NET things, like .NET framework 2.0 or 3.0, were just completely removed, further battering the corpse of what might have been retro gaming on 10 natively. Some other things, such as a replacement of long-standing tools other games used being launched into orbit, just completely break older games on Windows 10.

Windows 7, on the other hand, honors these games (for the most part). Even if it itself cannot exchange the correct things, it’ll guide the game in the right direction so that it does work and doesn’t completely crumble to pieces. This is what allows somewhat ancient games like Comanche 4 to run natively, even if a little buggy. This is a lifesaver in the case of games such as Half Life (unpatched, not the tampered version on Steam today), The Sims 1, and GTA: Vice City. All of these would be ripped to pieces on 10.

Simplicity

It was part of the original advertising campaigns: Windows 7 is simple. Not too simple to the point where you can’t do anything productive on it (ChromeOS ahem ahem), but not so sophisticated that it alienates half of the userbase that came to it for something that just… works. Balanced. You buy the shiny laptop with 7 preinstalled, you plug it in, set it up, and done. A poweruser? Build your own rig. Get a Windows 7 install disk. Customize it to your heart’s extent. I’m gonna be honest, I genuinely don’t think there will ever be another Windows OS quite like 7.

Cons

Drivers

Do you want to know what isn’t simple? Drivers! Drivers are a pain in the arse nowadays, in terms of Windows 7.  They’re like a necessary evil—your computer is convinced that it is secretly running with an Intel 486 chip and a Big Mac as a GPU without them, but finding them can sometimes feel impossible. Most hardware past like 2019 that had Windows 7 drivers just started dropping like flies. Now, with real gaming rig-level hardware, it’s nearly impossible to make the two be kind to each other without straight up downgrading some parts or hacking together a custom driver that has a 50% chance of working, 50% chance of bricking your install until you enter Safe Mode. Even on older hardware that isn’t necessarily that old, finding drivers that work, let alone bring Aero to the table, is all holy hell. Tools lke DriverIdentifier have made this process a bit quicker, but it is stll so, so annoying.

Compatibility

You probably saw this coming from a mile away, but here it is. Compatibility. It is miserable on Windows 7, when you’re trying to run newer apps and games. Saw that shiny new game on the Steam Store page? Suck it up, Windows 10 support and higher. Java SDKs newer than version 17? Forget it. New-ish apps in your optimized workflow? Sorry, find a Windows 7 alternative. It is pure pain. Most of my workflow already supported Windows 7, but if yours didn’t, you were just out of luck.

My thoughts and a conclusion

I personally think that for the issues, there’s always two benefits to Windows 7, which is why I will be staying on it. Most of the issues are just things you work around, anyways—you get your drivers, you’re done. No more time wasted on the involuntary scavenger hunt. Same deal with the apps. Take from this what you will. If you’re a Linux bro that couldn’t care less about Windows, keep not caring. If you’ve never even heard of me before and are intrigued about my content, read my other posts. If you were contemplating the switch, use this as guidance. I don’t care. I just don’t want this to be a big ol waste of time, there needs to be some value you get from this post. Anyways, if you want more tech related extravaganzas, tune in to the CheeseBlog for another post. Cya!

Friday, November 7, 2025

The pros and the cons of serverless architecture

 Heyo! This was a thought that popped into my mind when I was thinking about apps I could make, and I realized that this would actually be a pretty solid blog post. 

 This isn't usually a decision most developers have to make, as it is almost always clearly cut out. Need to fetch or process stuff from a database? Use a server. Making something simple like a notes app or a calendar? Easy peasy, that goes into serverless. However, there's a few edge cases that force you to make this decision, so I'll help explain what benefits you'd gain from it and the cons you'd gain from it.

For anyone new in the scene of programming, serverless architecture is when you develop an app that does not use a server. Simple, right? All computation needed is done entirely on the client, which can save a TON of money, due to the costs of a dedicated server being super expensive. Whether you're using a server host such as Linode (not sponsored) or even self hosting, costs can rise quickly. Serverless architecture eliminates that extra cost, only leaving you with the cost of hosting the client, which, depending on how much research you do and the type of app you're making, can be free.

 Now, let's start with the pros. I already went over one of them: the cost. If you skipped over that section, I'll do a quick summary: servers cost hella money, no matter what form you choose them in. Serverless architecture doesn't use that money, letting you allocate it to more important things like hosting the client or paying devs for making the app, if you've got a team you pay. Another useful thing that you benefit from it is automatic scaling. If you're a type of person that does minimal feature launches for your projects or products and then slowly expands (think the way Google releases products), this can actually be really useful. The app grows with you, but with a server-based architecture, you'd be forced to periodically upgrade servers which would be really expensive, or get a massive server off the bat, which is insanely risky (what if your product is a total flop?), because then you'd just.. have it. Not much to do with it, unless you decide to split it between projects. Additionally, serverless architecture just frees up your hands and space on the clock. You don't have to spend any extra time dealing with maintenance because a storage unit died, you don't need to investigate why it is returning garbage data with tested-okay code, etc etc. You just deal with the client, and that's it. More time to work on development, more focus on what you need focusing on, so on so forth. Next, the cons.

 A major con about serverless architecture is just how much it relies on the device it is running on, and there isn't exactly any other device to relieve resource usage because all of the code is being ran on the client device. It makes the bold assumption that whatever you're doing and whatever you're using is on the same firmware as the device(s) you test it on, and that the computer is even powerful enough to run it. Please, tell me the last time you saw Minecraft with full shaders running on a Galaxy S2 smartphone (the answer: you probably haven't, let alone at the standard 60fps/120fps of the phone). Instruct me on how to get Firefox 115 running on Windows 98 SE. This is one of the biggest reasons for why servers exist: they do the bulk of the computation. YouTube would NOT be able to run the algorithm everyone tries to manipulate for views without their servers with 10 exabytes of storage for videos with their accompaning metadata and above-the-line processors. And not to mention, serverless applications make exploiting them for personal gain so much easier to do, because exploiters and decompilers will take your program in its full and rip it to shreds just to find a single vulnerability. Better make sure it doesn't connect to the internet!

 Anyways, I had a ton of fun writing this, but that is to be expected when you haven't written any blog posts in over half a year. I really hope you learned at least something decent or useful from this, because that'd make me happy (and maybe attract more viewers to my blog if you REALLY liked it). For more tech related insights and accidental forkbombs, tune into the CheeseBlog for more posts just like this. Cya!

Sunday, November 2, 2025

Why this blog has been dead and my plans for the future

Heyo! I'm well aware that I haven't posted anything in multiple months. This wasn't really my choice, but I'm going to explain what has been happening in my life that has been stopping me from blogging.

Number one: school. This may sound like a weak or fake excuse, but it is very real to me—I've been drowning in classes and homework, and with a household that isn't very forgiving when it comes to making space on the clock, I just haven't had the opportunity to finish my work, let alone write a blog post. I'm not really planning to drop from any classes, so I'm just going to have to stick it out until the end of the year.

Number two: my computer finally croaked. Dunno what caused it, but the laptop that I've been using for pretty much all of my work everywhere that is digital, just decided to die. Thankfully, all of my data remains, but the laptop doesn't. I'm in the process of backing up everything to an external drive and getting a new Windows 7 laptop, but tight budgets make this very difficult and time consuming. Very unfortunate, but oh well. At least everything is there, right?

There's a few more things, but I'm not going to get into those because they dig a little too close into my personal life. I'm sorry that I haven't really done anything here, and I hope you understand. 

In the meantime, I'm trying to get a decent-ish setup on my phone so I can at least try to blog on here. Still, don't expect much.

If you really want to see new content from me, I'm trying my best to still get new stuff onto my site, the cheese spot, so go check that out. Once I finally fix everything and return to normal routine, remember to check out the CheeseBlog for more tech related shenanigans. Cya!

Wednesday, July 30, 2025

I finally found a cheap way to circumvent AI skimmers

It is called Anubis. It doesn’t require some complicated CAPTCHA, nor does it cost literally any amount of money. It’s open source and available on GitHub.

Now, the interesting part about this skimming circumventer is how it works. In fact, it doesn’t do any of that stuff that the typical anti-bot website addon requires, such as asking the user to do some annoying test of vision that also secretly tracks clicks and mouse movement (or taps if it detects the connected client is a mobile device via the User Agent sent by the browser) to decide whether or not you’re a bot. It’s actually really simple.

Instead, it just does some math. Not math as in stuff that watches your every move and calculates some garbage. Hell, I’m pretty sure it lets the skimmers right in without doing some block or whatever. It just does some really complicated math with some really big numbers, and the math usually varies each time you visit. See, for normal users, this isn’t a problem. Maybe just an extra half a second or two of the page loading—no big problem. But when you’re running a big database with tons of computers skimming every page on a site, the extra money that costs piles up, and quick. Especially if your site has over a hundred pages and tons more links that lead to repetition.

This usually deters the person managing the skimmers or AI from, well, skimming your site, often trying to steer away from it instead. That means your work (probably) won’t be used as often by people putting together AIs or large masses of data! Even better, you can give a big middle finger to search engines like Google and Bing that really aren’t that good! Anyways, if you want to see more tech alerts and cool news like this, remember to tune in to the CheeseBlog for another post. Cya!