diff --git a/src/assets/blog/2025-03-11.md b/src/assets/blog/2025-03-11.md
new file mode 100644
index 0000000..b2766d7
--- /dev/null
+++ b/src/assets/blog/2025-03-11.md
@@ -0,0 +1,317 @@
+---
+name: How to unenshittificate your Google TV
+date: 25-03-11T19:00:00-05:00
+desc: Google sucks. I have a google tv. I dont want google on my tv. Go away.
+---
+
+In August 2024 I bought my first tv ever at Wallmart, a Pillips 7000 series 4K
+Ultra HD LED Google TV. For only $280 I had a 4K tv that I could use to stream
+content from my PS3, Wii, and my local media server. It's a bit sluggish running
+a cheap 32-bit arm processor, but thats not my biggest problem with the tv. I
+got sick of those damn ads.
+
+### Those damn ads
+
+Below is the promotional image for the tv I purchased from phillips. The biggest
+thing on the screen is an Oppenheimer ad, taking up 50% of the screen real
+estate. Below is "Top picks for you" which google puts in ads or
+"recommendations" for movies/shows that promoters want me to watch. And finally
+below that is a list of apps installed on the tv which contains a ton of preloaded
+apps that you cannot remove from my tv. My tv came with Netflix, Prime Video,
+Tubitv, and Univision none of which I use. But because I could not uninstall
+these apps from my tv I was locked into them.
+
+![Google TV](public/blog/googletv.jpg)
+
+Even being a tech savy person I didn't realize what I was getting into when I
+bought my tv. I personaly use Linux, Ad Block in my Firefox browser, and
+heavly manage what software is running on the devices I own. When faced with my
+tv I wanted to do the same. I wanted to strip away the ads, the recommendations,
+the preinstalled applications, and make the tv truly mine. In this guide I am
+documenting the process on how to do just this. But first I must quickly talk
+about dumb tv's.
+
+### Just use a dumb tv
+
+The easy and commenly recommended solution to my problem is to just
+
+> "Get a dumb tv! They dont have any preinstalled apps or ads, just your content."
+
+It is true that dumb tv's would solve my problem, but the problem is that you
+cannot buy dumb tv's, or at least in retail. Back in the early 2000s all tv's were
+dumb, I have a tv that is 720p with massive bezels that just shows content from
+my console and computers. It works great as a dumb tv and does have the problems
+stated earlier, but I want a tv that is at least 1440p (preferably 4K) and at
+least 50 inches. I commenly have people over where I live and its a nice-to-have
+to have a nice tv. The problem is that dumb tv's that fit this criteria are not
+really sold to consumers any more, at least on the cheaper end. It is more
+profitable for OEMs to put smart software in their devices to get monetary
+kickbacks from either Google, Roku, or Amazon. There are still dumb tv's being
+sold to business but you should expect to pay a pretty penny for one. Since
+they are made for businesses, and the manufacturer doesnt get kickbacks, they
+cost a lot more. Getting a dumb tv is not a solution for most people, especially
+those who already bought an affordable smart tv from retail.
+
+### The Guide
+
+Ok so now that dumb tv's are out of the way, this is the plan on how you
+"unenshittifiy" your Google/Android tv.
+
+The core of this guide centers around that Google TVs run android, a mobile
+linux based distribution. All android devices support a USB debugging feature
+called adb (Android Debug Bridge) that allows the user to access higher
+privileged settings/operations then from the normal user interface. With adb
+you can disable and partially uninstall preloaded applications, change the user
+interface (called the launcher), and sideload custom applications that is not
+provided in Androids "Google Play Store".
+
+In an itemized list this guide will:
+
+1. Replace the default launcher with [flauncher](https://github.com/CocoCR300/flauncher)
+
+Flauncher is a launcher (default user interface) for Google TVs. It is simple
+and just shows the installed apps on the tv, no ads, nothing else. I am using a
+fork of flauncher that includes some fixes and improvements, but you can also
+just use the original [here](https://gitlab.com/flauncher/flauncher).
+
+2. Removing all preinstalled applications
+
+No more Netflix or Amazon Prime Video if you dont use them!
+
+3. Removing everything Google
+
+Google likes to inject their services into everything they use spying on you
+in the process. In the process we will add apps that replace some of the
+functionality lost when removing these apps.
+
+#### ⚠️ Warning ⚠️
+
+Before you start or do anything listed in this guide or any other guide be warned
+that you are completing these operations AT YOUR OWN RISK with FULL LIABALITY if
+anything is to go wrong. It is unlikely that anything listed here should result
+in bricking your tv but it is possible. I will also note that many google tv's can
+still be easily factory reset to fix anything if the tv does break, but you should
+still proceed with caution.
+
+#### 1. The user interface
+
+The image posted in the opening to this blog post shows the default user interface
+for Google TV and as described it sucks. In Android everything is an app including
+the default user interface that your tv loads into, and on Android these are
+called launchers. On most Android phones you can select your launcher of choice
+but google tv does not let you do that directly. To change the user interface
+you MUST install an app that supports being a luncher and then disable the
+Google TV launcher AFTER installing the custom launcher. If you do this in the
+wrong order you will likely brick your tv.
+
+First download your launcher of choise. As stated earlier I am using Flauncher
+for this, but there are other launchers avaliable if you wish to look around.
+
+Once you have downloaded your launcher (it should be an APK) we then need to
+install it to your tv. To do this we need to connect adb to your tv. To enable
+debugging on your tv, fist open settings and find the entry listing your tv's
+build number (usually under System > About). Click this option multiple times
+and the tv should state that "You are now a developer". Go back into just System
+settings and enter "Developer Options". Find USB debugging and enable it. Then
+connect a USB cable to your tv and a computer that you installed
+[android tools](https://developer.android.com/tools/releases/platform-tools)
+onto. Run...
+```bash
+$ adb devices
+```
+... and a prompt to verify your device should show up on your tv. Approve this
+message and you now have adb connected to your tv.
+
+Finally run...
+```
+$ adb install <path to apk locally>
+```
+... to install the custom launcher onto your tv.
+
+To verify that this works open the launcher app from your default google tv
+interface. If it works great! If it doesnt show up as a google tv app or doesnt
+work I would reccommend using a different launcher.
+
+![Google TV running Flauncher User Interface](public/blog/flauncher.jpg)
+
+Above is my tv running FLauncher! Horray!
+
+Now you will notice that when your press the home button on your Google TV
+remote, select the home option in the input menu, or restart your tv that it
+will boot into the default user interface. You have two options to fix this
+
+##### Option 1: Remap the home button
+
+Using [Button Mapper](https://play.google.com/store/apps/details?id=flar2.homebutton&hl=en_US)
+which is avaliable in the play/[auora](https://auroraoss.com/) store, you can
+remap your home button to open your custom launcher application instead of
+acutally going home (which is the Google TV default interface). The downside
+to this is that the tv will always boot into the Google TV default interface
+and menus like the input switcher will do the same. If you always want your
+custom launcher see option 2.
+
+##### Option 2: Disabling the default launcher
+
+On my Google TV the launcher application was called `com.google.android.apps.tv.launcherx`.
+Using adb you can disable the launcher application (along with another app)
+to stop google tv from using the default interface.
+```bash
+# Disable com.google.android.apps.tv.launcherx which is the default launcher on CCwGtv
+$ adb shell pm disable-user --user 0 com.google.android.apps.tv.launcherx
+# com.google.android.tungsten.setupwraith will then be used as a 'fallback' and will automatically
+# re-enable the default launcher, so disable it as well
+$ adb shell pm disable-user --user 0 com.google.android.tungsten.setupwraith
+```
+
+With the default launcher disabled google tv SHOULD fallback to your custom
+launcher application at all times. If it does not do this the tv will result
+in a soft brick. Be warned.
+
+#### 1.5. Fixing the input switcher (with LiveTV from mediatek)
+
+If you are using a physical google tv and not just a streamer such as a
+chromecast, disabling the custom launcher will break your input switcher if your
+custom launcher does not support switching inputs on its own (flauncher does not).
+If this is the case you need to find a different input switcher application.
+
+My google tv uses mediatek for alot of its software, and I think alot of Google
+TVs do the same. If you have the same luck that I did you MAY have an
+application hiddden in your tv called `com.mediatek.wwtv.tvcenter`. This
+application will bring back a different input switcher that I like alot better then
+the default included one. There are two things you can try to get this working
+if your tv uses mediatek.
+
+##### Option 1: Install from file
+
+I recommend trying option 2 first. If it doesnt work due to missing application
+then try this option.
+
+Try to find an file called 'LiveTV.apk' on your tv. Within adb shell run
+```bash
+adb shell find / -name "LiveTV.apk" 2>/dev/null
+```
+With luck you should find an apk on your tv with this name and the package name
+of `com.mediatek.wwtv.tvcenter`. If you do run
+```bash
+adb shell pm install --user 0 <path to apk on tv>
+```
+
+If your tv does not have an apk you can try using the one from my tv hosted
+[here](/public/blog/LiveTV.apk).
+
+##### Option 2: Install from package manager
+
+Run the following commands
+```bash
+adb shell pm install-existing --user 0 com.mediatek.wwtv.tvcenter
+adb shell pm enable --user 0 com.mediatek.wwtv.tvcenter
+```
+
+If the commands fail stating that the apk is not found try option one if you
+havent done it. If the commands fail stating that an app is already installed
+try checking the tv if the input switcher works or the "LiveTV" app is installed.
+If not then your SOL (from what I know).
+
+#### 2. Removing preloaded applications
+
+Now that we have a working custom launcher, the next step is to remove the preloaded
+applications on the tv. On my tv the following applications were preloaded and
+can be removed with:
+```bash
+# Netflix
+$ adb shell pm uninstall --user 0 com.netflix.ninja
+# Prime Video (Amazon)
+$ adb shell pm uninstall --user 0 com.amazon.amazonvideo.livingroom
+# Tubitv
+$ adb shell pm uninstall --user 0 com.tubitv
+# VIX (Univision)
+$ adb shell pm uninstall --user 0 com.univision.prendetv
+# Youtube
+$ adb shell pm uninstall --user 0 com.google.android.youtube.tv
+# LiveTV X (anoki ai tv bullshit or something)
+$ adb shell pm uninstall --user 0 com.cltv.cltv
+```
+
+If you have other apps you can just replace the command above with the package
+name of the app you want to remove. If using flauncher you can view the package
+name by long pressing over the app icon.
+
+If you still want youtube I recommend [SmartTube](https://github.com/yuliskov/SmartTube)
+as an alternative.
+
+#### 3. Removing everything google
+
+The main google apps on my tv that I dont want are the google play store, google
+play services, gboard (google keyboard), and the google app.
+
+If you are to disable gboard (google keyboard) you MUST install a different
+keyboard first and enable it. I recommend [LeanKeyboard](https://github.com/yuliskov/LeanKeyboard).
+
+You can disable these applications with the following
+```bash
+# Google Play Store
+adb shell pm disable --user 0 com.google.android.play
+# Google Play Services
+adb shell pm disable --user 0 com.google.android.gms
+# Google App
+adb shell pm disable --user 0 com.google.android.katniss
+# Gboard
+adb shell pm disable --user 0 com.google.android.inputmethod.latin
+```
+
+Horray! You may now notice that you can no longer install applications from
+your google tv. The solution is installing an f-droid client and alternative
+play store client. I recommend [Droid-ify](https://github.com/Droid-ify/client)
+and [Auora Store](https://auroraoss.com/) respectively. Droid-ify will allow
+you to install apps from F-droid which is a free and open souce (FOSS) repository
+of android apps. Auora Store will allow you to install applications from the
+google play store without having to log in. These apps are not really made for
+Goolge TV and this suck navigating with a remote, so I recommend connecting a
+mouse or using the android tv bluetooth remote app on your phone.
+
+#### 4. Fixing issues on reboot
+
+Finally you may notice that your google may reset some changes every time
+your tv reboots. On my tv google will re-enable google play services (GMS) and
+the google app. My tv will also disable the "LiveTV" app that allows me to switch
+inputs. Below is the script I use everytime I fully restart my tv. You dont
+have to run this if the tv goes to sleep, and you should modify this script
+to reflect your situation.
+```bash
+#!/bin/sh
+
+# script to run everytime tv is restarted
+# unfucks the tv and does good things
+
+# > connect to tv
+# if you are using debugging over a usb cable this is not needed. I connect adb
+# over tcp so I need to specify where adb needs to connect. If you are also
+# using tcp make sure to change the ip to the ip of your tv.
+adb connect 10.254.0.182
+
+# > fuck google (tv enables them on boot)
+adb shell pm disable --user 0 com.google.android.gms
+adb shell pm disable --user 0 com.google.android.katniss
+adb shell am force-stop com.google.android.gms
+adb shell am force-stop com.google.android.katniss
+
+# > fix livetv (gets borked on boot, allows changing of inputs)
+# this app gets into a weird state on reboot so it needs to be uninstalled
+# so that it can be reinstalled/enabled. Make sure to add -k to keep user
+# settings and data when uninstalling.
+adb shell pm uninstall -k --user 0 com.mediatek.wwtv.tvcenter
+adb shell pm install-existing --user 0 com.mediatek.wwtv.tvcenter
+```
+
+### Were Done!
+
+Unless I missed anything you should now have a fully debloated, more functional,
+less ad ridden Google TV. Horray! If you ever run into any issues I always
+recommend checking out the [XDA Fourms](https://xdaforums.com/) or searching your
+problem in a search engine. I hope this worked out for you and you now have a
+tv that is truly yours.
+
+![Debloated Google TV playing PS3 game](public/blog/beatmania.jpg)
+
+Now if you excuse me I am going to go play some beatmania on my debloated
+Google TV. :)
diff --git a/src/public/blog/beatmania.jpg b/src/public/blog/beatmania.jpg
new file mode 100644
index 0000000..7df957e
Binary files /dev/null and b/src/public/blog/beatmania.jpg differ
diff --git a/src/public/blog/flauncher.jpg b/src/public/blog/flauncher.jpg
new file mode 100644
index 0000000..0f01601
Binary files /dev/null and b/src/public/blog/flauncher.jpg differ
diff --git a/src/public/blog/googletv.jpg b/src/public/blog/googletv.jpg
new file mode 100644
index 0000000..392c5b0
Binary files /dev/null and b/src/public/blog/googletv.jpg differ
diff --git a/src/public/blog/site1.jpg b/src/public/blog/site1.jpg
index ac24f9b..2775afd 100644
Binary files a/src/public/blog/site1.jpg and b/src/public/blog/site1.jpg differ
diff --git a/src/public/blog/site2.jpg b/src/public/blog/site2.jpg
index d3244ac..6c8c3a8 100644
Binary files a/src/public/blog/site2.jpg and b/src/public/blog/site2.jpg differ
diff --git a/src/public/blog/site3.jpg b/src/public/blog/site3.jpg
index b8ce964..080eb1b 100644
Binary files a/src/public/blog/site3.jpg and b/src/public/blog/site3.jpg differ
diff --git a/src/public/blog/site4.jpg b/src/public/blog/site4.jpg
index e12da23..b5ab4b4 100644
Binary files a/src/public/blog/site4.jpg and b/src/public/blog/site4.jpg differ
diff --git a/src/public/blog/site5.jpg b/src/public/blog/site5.jpg
index c9e93bd..b2bc2b7 100644
Binary files a/src/public/blog/site5.jpg and b/src/public/blog/site5.jpg differ
diff --git a/src/public/icons/logo16.png b/src/public/icons/logo16.png
index da0bdd7..5dfac05 100644
Binary files a/src/public/icons/logo16.png and b/src/public/icons/logo16.png differ
diff --git a/src/public/icons/logo32.png b/src/public/icons/logo32.png
index fff2ab3..1a3f58e 100644
Binary files a/src/public/icons/logo32.png and b/src/public/icons/logo32.png differ
diff --git a/src/public/icons/logo320.png b/src/public/icons/logo320.png
index e84b176..a061aaf 100644
Binary files a/src/public/icons/logo320.png and b/src/public/icons/logo320.png differ
diff --git a/src/public/icons/logo512.png b/src/public/icons/logo512.png
index 615fc4a..8eb21fd 100644
Binary files a/src/public/icons/logo512.png and b/src/public/icons/logo512.png differ
diff --git a/src/public/icons/logo64.png b/src/public/icons/logo64.png
index deb8b1e..229419f 100644
Binary files a/src/public/icons/logo64.png and b/src/public/icons/logo64.png differ
diff --git a/src/public/icons/logo640.png b/src/public/icons/logo640.png
index edd4493..6b22d5d 100644
Binary files a/src/public/icons/logo640.png and b/src/public/icons/logo640.png differ
diff --git a/src/public/img/background.jpg b/src/public/img/background.jpg
index 7b61bc5..79a8a12 100644
Binary files a/src/public/img/background.jpg and b/src/public/img/background.jpg differ
diff --git a/src/public/img/background.png b/src/public/img/background.png
index d834400..ea5fc7e 100644
Binary files a/src/public/img/background.png and b/src/public/img/background.png differ
diff --git a/src/public/img/bee.png b/src/public/img/bee.png
index 917a5ef..3fc0fe3 100644
Binary files a/src/public/img/bee.png and b/src/public/img/bee.png differ
diff --git a/src/public/img/bee.webp b/src/public/img/bee.webp
index 7af6759..61742fd 100644
Binary files a/src/public/img/bee.webp and b/src/public/img/bee.webp differ
diff --git a/src/public/img/headerLogo.png b/src/public/img/headerLogo.png
index 758ea9f..c829aa2 100644
Binary files a/src/public/img/headerLogo.png and b/src/public/img/headerLogo.png differ
diff --git a/src/public/img/headerLogo.webp b/src/public/img/headerLogo.webp
index 4a9a961..5596d1d 100644
Binary files a/src/public/img/headerLogo.webp and b/src/public/img/headerLogo.webp differ