[{"content":"Hey everyone, just thought I\u0026rsquo;d give a brief update. Around the same time I started working on the retro shader stuff, I started getting full-day headaches every day. It\u0026rsquo;s been about 2 weeks of this and it\u0026rsquo;s made most tasks somewhat difficult. I had to take it easy and try to micro-manage my health since relatively few things would make it better and many things would make it worse. Today has been the first day in a while my brain has felt kinda normal since the headaches started.\nDespite that, I\u0026rsquo;m still intent on working on shader stuff if possible, since it has been fun. I\u0026rsquo;d like to be able to use mGBA to emulate Super Game Boy games as if I was playing them on a CRT screen. You see, the Super Game Boy is a Super Nintendo add-on that allowed gamers to play their Game Boy games oon their SNES, with a couple of features (like specialized palettes and borders) added. I have the analog video filter for it basically ported over (it\u0026rsquo;s Themaister\u0026rsquo;s NTSC-256px-Composite shader), but there\u0026rsquo;s a few small problems.\nmGBA always renders shader passes to an integer framebuffer\nThe shader I\u0026rsquo;m porting uses 2 passes. The first basically processes input RGB pixels and renders the corresponding analog signal values to a cache, and the second pass reads the cache, does some more processing to simulate the analog signal characteristics, and renders the result back into RGB pixels. When the first pass is rendered to an integer framebuffer, some information is lost, and the output pixels look very magenta-ish instead of their intended colors.\nmGBA doesn\u0026rsquo;t pass information about frame count/time to shaders\nThe shader I\u0026rsquo;m porting uses information about the number of frames being rendered to simulate signal jitter. mGBA currently doesn\u0026rsquo;t pass any of that info to its shaders, so this effect can\u0026rsquo;t be simulated yet.\nmGBA doesn\u0026rsquo;t have any aspect ratio correction features\nAs stated in my last post, video output from older consoles like the SNES were almost always stretched horizontally a little bit, but currently mGBA provides no way to simulate this characteristic\u0026hellip; after all it\u0026rsquo;s technically not an SNES emulator, it\u0026rsquo;s a Game Boy (Color/Advance) emulator. (Although I remember reading that sometimes a bit of SNES emulation is needed to get the SGB features working, so the lines are blurred there.)\nI\u0026rsquo;m currently doing work on the first point, and I plan on submitting a pull request to get the feature implemented in mainstream mGBA. After that, I\u0026rsquo;ll also work on the next 2 points. I expect the next few posts might still be focusing on that for a while :P\nIt is important to remember that while there is no right way to play an older game these days, I simply don\u0026rsquo;t want everyone to forget what the original look and feel was. \u0026ldquo;Sonic was an ugly game because the checkerboard patterns hurt my eyes\u0026rdquo; shouldn\u0026rsquo;t be the takeaway people have after playing it on a modern system, ignorant that you probably weren\u0026rsquo;t supposed to be seeing the checkerboard patterns at all (again, see the previous blog post for info about the blending of dithered patterns). I would prefer to simulate the full SNES experience when playing a game in SGB mode, and I\u0026rsquo;d like to enable that experience for myself and others, but the lines are especially blurred in this case since those are technically still Game Boy games. I wouldn\u0026rsquo;t blame anyone for playing games in SGB mode with no video filters or correction at all, since it could be argued that they simply want to play the Game Boy game and the added features are just a nice bonus.\nThank you so much for reading, have a nice day.\n– Patch\n","date":"2026-10-13T13:51:24-04:00","image":"/post/brief-update-october-2026/donkey-kong-ntsc-bad.png","permalink":"/post/brief-update-october-2026/","title":"October 2026 Brief Update"},{"content":"This week is a bit of a brief update. I do have something to show y\u0026rsquo;all but I spent most of the week learning about shader development for emulators, so please accept my humble ramblings for a while before I show you what I actually did.\nOne thing I\u0026rsquo;ve always loved about video games is the flexibility with which we can enjoy them. The older of us may remember going to arcades and popping quarters to enjoy a bit of cheap fun. Gaming has (obviously) exploded since then, to the point where we can now form communities on the internet around enjoying games without even playing them. It\u0026rsquo;s even gone full-circle. Arcades seem to be making a bit of a resurgence in my area, with some tweaks to the classic business model. But one big downside to the modernization of gaming is that we can start to lose elements that defined older games.\nWhat I mean is, as we phase out older technology in favor of newer tech, we lose the details that the older tech held. Older tech may have been janky, but it was great until improvements came around, and their jankiness defined how people enjoyed them. The only way to experience exactly what that was like back in the day would be to actually be back in the day with no knowledge of the future\u0026hellip; but since that\u0026rsquo;s impossible, it can be fun to aim to get as close as possible.\nOne obvious example of the gap between old and new is display tech. This topic has sorta been beaten to death in the last couple of years, and I\u0026rsquo;m glad it has because that\u0026rsquo;s how I learned about it. Consoles from the \u0026rsquo;80s and \u0026rsquo;90s (and for a little bit beyond) were typically played on CRT televisions, which had certain visual qualities. These qualities were often taken into account when the games were being designed. The most well-known example of this is that NES developers knew that despite internally using \u0026ldquo;square\u0026rdquo; tiles, their games\u0026rsquo; video output would be stretched out a little bit horizontally, so sometimes the graphics were intentionally created a bit narrow to account for this. Check out the intro sequence from Kirby\u0026rsquo;s Adventure; Kirby is supposed to be spherical, so the first image doesn\u0026rsquo;t make sense.\nThis concept is famous enough that most retro game re-releases include aspect ratio correction to replicate this effect, which is fantastic to see.\nBut a slightly lesser-known artistic concept is dithering and blending. Game designers knew that when the console pushed the analog video signal to the CRT screen, the pixels would blend and smear a bit. This inevitability seems terrible at first glance, but limitations are often the cause of artistic innovation. Artists realized that even though the console might not have supported semi-transparency, they could take advantage of the blending to create the desired effect anyway. Sonic the Hedgehog has many examples of checkerboard or stripe patters (called dithering) throughout the game, which blur together and render as semi-transparency.\nThese screenshots are both taken from an emulator on a modern computer, but the second picture has a digital filter over it (or \u0026ldquo;shader\u0026rdquo; as they\u0026rsquo;re often called) that attempts to replicate the analog video signal and the CRT display. If you pay close attention, you can see that the shield over Sonic looks a lot more bubble-like and see-through. A bonus is that some of the background elements in the first image look chunky, but they\u0026rsquo;re rounded out quite a bit in the second image.\nAs emulation took off in the 2000s, many young gamers took it as an opportunity to play games they couldn\u0026rsquo;t quite catch when they were popular. But without shaders recreating the intended look of the games, they missed out on a big part of the experience of what playing the game is supposed to be like. Filters are almost never enabled on emulators by default, and quite often the ones with advanced effects are computationally demanding, so the internet became flooded with screenshots from old games that don\u0026rsquo;t look at all like how they actually looked on the original console.\nTimes are changing though. With more people able to access computers with higher specs, the use of these shaders is growing in popularity.\nPorting shaders to mGBA With that all said and done, the thing I\u0026rsquo;ve been working on is simply porting a few of my favorite shaders to mGBA, a Game Boy series emulator. So far I\u0026rsquo;ve only finished Sharp-Shimmerless\u0026hellip; it\u0026rsquo;s a simpler shader that doesn\u0026rsquo;t do nearly as much as analog signal and CRT simulation, but it still has a desirable effect. It\u0026rsquo;s more intended for games that were displayed on digital screens, but it doesn\u0026rsquo;t really matter what you use it on. It\u0026rsquo;s basically designed to be a middle-ground between (bi-)linear filtering and nearest-neighbor filtering. Take a look at these mock-ups I threw together in an image editor.\nThere may be some rough coloration errors, since I couldn\u0026rsquo;t simply run the source image through the desired filters, but this should be sufficient to get my point across. Here, I\u0026rsquo;ve upscaled a 2×2 checkerboard pattern to be 5×5. \u0026ldquo;Nearest neighbor\u0026rdquo; filtering simply chooses to replicate the closest input pixel, but this can leave weird issues at non-integer ratios (like this 2.5×) where some rows/columns appear wider than others, which can cause shimmering issues when the input image scrolls across the screen. \u0026ldquo;Linear(-ish)\u0026rdquo; filtering attempts to blend between the input pixels, but it can cause a blurry look. \u0026ldquo;Sharp-Shimmerless\u0026rdquo; attempts to mix the 2, where it only blends input pixels when the output pixel straddles a border between input pixels.\nThis is absolutely a matter of preference, but when it comes to games for LCD screens, I prefer something like Sharp-Shimmerless to preserve the intended blockiness while also avoiding the shimmer, since I can sometimes notice the unevenness at a distance, taking me out of the game a little bit. Here\u0026rsquo;s an example from Mario Kart: Super Circuit for the Game Boy Advance. You may have to zoom in to see the difference. It\u0026rsquo;s not much, but it is there.\nSharp-Shimmerless wasn\u0026rsquo;t available for mGBA, so I decided to learn a bit and port it from libretro\u0026rsquo;s slang shader format to mGBA\u0026rsquo;s format. It was both very easy and very difficult. I\u0026rsquo;ve never had to give serious thought when handling shaders before, so there was a lot to figure out, since the files aren\u0026rsquo;t directly compatible. Maybe I\u0026rsquo;m missing something, but I couldn\u0026rsquo;t find direct answers to questions that arose during development (this is becoming a common theme around here).\nI ended up finding most of my answers in other shaders that were available in both mGBA and libretro, or the mGBA source code, digging in to find keywords used in the files, and then snooping around to find related keywords and resources. I struggled to understand some parts of it, so I also ended up making a sort of mockup in Google Sheets to figure out the internal workings of the shader.\n\u0026hellip; It turned out that the language between the 2 formats is almost identical, and a lot of my problems were simply caused by trying to use a variable that didn\u0026rsquo;t exist. The latest version of mGBA is v0.10.5, but outputSize wasn\u0026rsquo;t available in that version. Simply switching to a development build fixed almost all my problems. I wasted a lot of time figuring that out. Oh my. \u0026hellip;\nI posted the code up on my GitHub if you wanna check it out.\nThank you so much for reading, have a nice day.\n– Patch\n","date":"2026-10-02T15:13:50-04:00","image":"/post/retro-shaders-are-important/ewww-chunky.png","permalink":"/post/retro-shaders-are-important/","title":"Retro shaders are important"},{"content":"Intro A lot of people are curious to try Linux, what with Windows being a bit of a nightmare lately. But I think many guides out there are too commital. They tell people that they need to switch to Linux or they\u0026rsquo;re a dumbass, or that they need to wipe their computer to try it out, or that the best way to try it out is to use a VM (which isn\u0026rsquo;t inherently problematic but I think the delay and lag introduced by the typical VM setup gives people the wrong impression). I don\u0026rsquo;t agree, those statements aren\u0026rsquo;t necessarily true. I want to give you a practical guide to getting Linux up and running alongside your existing Windows install.\nSome educational preamble What\u0026rsquo;s a computer? The primary parts of a computer are the motherboard, processor, memory, storage, and input/output (so your mouse, keyboard, screen, and speakers). Everything else supplements the rest of the computer; for example, you may have heard of a graphics card, but that\u0026rsquo;s just a supplementary expansion to the computer that\u0026rsquo;s designed to be really good at calculating stuff for drawing pictures.\nIn a typical computer, the motherboard holds everything else and lets them communicate with each other. The processor does the actual work of coordinating work between parts and doing calculations. The memory holds temporary data that the processor needs to access, including temporary calculations and programs. The storage saves data long-term, so that you don\u0026rsquo;t lose any of it. The input/output provides a mechanism for you to interact with everything going on on the computer.\nLet\u0026rsquo;s make an analogy. The motherboard is like a manager, the processor is like a(n) employee(s), the memory is like a notepad, the storage is like a filing cabinet, and the input/output is like a conference room. The manager comes into the office, receives orders, and then relays instructions to their employee(s), who use the notepad to keep themselves on track and write down numbers. When the employee is finished with a task, they write a finalized report and hand it back to their manager, who then puts it in their filing cabinet. Every once in a while, the manager enters the conference room to present results and receive more instructions. This is a very basic overview, but this analogy can be very flexible and accommodate more complex functions (for example, a graphics card could be like a graphic designer; i.e. a type of employee whose only job is to do art and drawings).\nWhat\u0026rsquo;s an operating system? Windows or macOS is probably the operating system (OS) you\u0026rsquo;re running on your computer right now. All that means is that it\u0026rsquo;s a collection of software designed by Microsoft or Apple to provide an environment for you to run the software you want on the computer hardware. Let\u0026rsquo;s run through what that means when your computer turns on.\nWhen you turn on your computer, the parts can\u0026rsquo;t just immediately leap into action. The instructions for how to do anything are buried in your storage; most notably, your OS is sitting on your storage device, so your processor needs to figure out a way to load it into memory. Luckily, the motherboard has a very small stash of instructions called the BIOS. The BIOS tells the processor how to dig another stash of instructions called the bootloader out of the storage. The bootloader in turn tells the processor how to dig the OS out of the storage.\nSince the bootloader has free reign on how to load an OS from storage, it can support multiple OSs installed on the same storage device. This is called dual-booting or multi-booting.\nWhat\u0026rsquo;s Linux? Linux is technically a kernel, which means OSs are built around it. It is open-source, so anyone with technical know-how can experiment and submit a request to change a part of it. This also means its inner workings are documented very well, making it extremely easy to build software around it. This is why whenever you look at Linux, there are dozens of OSs to choose from that all distribute the Linux kernel. We\u0026rsquo;re currently seeing a huge surge in Linux popularity thanks to massive improvements in the gaming infrastructure in the last decade.\nThe game plan Quick note: this guide targets Windows computers, but it is possible to dual-boot a Linux OS on Apple computers. Some parts are different, especially on the software compatibility side, but parts of this should also be applicable to Apple computers.\nThis guide will walk you through preparing your computer for dual-boot, creating an installation USB stick, actually installing the Linux OS, and a few post-installation recommendations. A quick disclaimer first\nWARNING Please have a backup plan. Following this guide to the letter shouldn\u0026rsquo;t result in anything bad happening, but since we\u0026rsquo;re dealing with operations that can wipe your storage and change how your computer works, there is always a risk of losing your data (or rarely, of breaking your hardware) should something go awry. Following this guide is your choice, I cannot be held responsible for any damage you incur. Please do not proceed with anything in this guide until you are sure you are doing it safely and correctly, and please do not risk anything you aren\u0026rsquo;t willing to lose. (Though realistically I have never heard of anyone permanently damaging a device by installing Linux on it, I really do feel the need to provide the disclaimer because it is possible but exceedingly rare.)\nThe guide \u0026ndash; let\u0026rsquo;s get started Prepare for installation Download ISOs Download a Linux OS ISO of your choosing. At this point in time, I would probably recommend Nobara, Ubuntu, or CachyOS. I personally use CachyOS. Feel free to poke around and find one you like more, but do yourself a favor and pick a popular-ish distro so that there are plenty of community guides available to teach you how to do things the way your distro expects them to be done.\nI also recommend you download a Windows ISO handy so you can reinstall or recover Windows if something goes wrong.\nPrepare a USB stick There are several methods to get your ISO onto a USB stick, but I prefer Ventoy because it\u0026rsquo;s one of the few options out there that lets you select between multiple ISOs when you boot it up.\nIf using Ventoy, simply open the program and install it to a USB stick. Enabling safe boot support and GPT mode in the Ventoy settings may make things easier. Then, simply drop your ISO files into the new space on the USB stick.\nShrink your Windows partition Open the Windows Disk Management tool (you can find this by typing \u0026ldquo;disk management\u0026rdquo; into the search bar). Here you\u0026rsquo;ll see a list of storage devices and partitions (AKA volumes) on your system. Partitions are simply separate virtual spaces on your storage. Right click on your C: drive and select \u0026ldquo;Shrink Volume\u0026hellip;\u0026rdquo; and shrink it by about 30-ish gigabytes (multiply the number of gigabytes by 1024 to get the number of megabytes). This will create space for your Linux installation. You can search around for recommendations, but remember this is gonna be annoying to change later so don\u0026rsquo;t go too stingy if you have the space for it.\nMake a note of your partitions\u0026rsquo; sizes afterward, it may be useful to remember for later in the process.\nDisable Fast Shutdown and Hibernate Fast shutdown and hibernation are both features that save the current computer state to your storage before shutting down, then restore the computer state when your computer turns back on. The trouble is that with multiple OSs able to read and write to any part of your storage, you run the risk of corrupting the restore state by switching to a different OS than the one that saved the state. The simplest way to avoid this disaster is to disable these features. The only downsides are a lack of hibernate features and a potentially slower startup when you boot into Windows from now on, and hibernate is getting rarer these days so I doubt the average user has used it in the last 5-10 years. Although I guess if you\u0026rsquo;re here, you\u0026rsquo;re not the average user\u0026hellip;\nAnyway the Arch Wiki has a fantastic command to run to disable them both from an admin command line terminal:\npowercfg /H off Switch your system clock to UTC For the most part your OSs will be isolated from each other, but it\u0026rsquo;s inevitable that they will need to share something if they\u0026rsquo;re both on the same computer. One such thing is the system clock. Windows expects it to be in local time by default, but most Linux OSs expect it to be UTC time by default. If you find out your distro doesn\u0026rsquo;t need this, you can skip it. A simple registry trick on the Windows side is the easiest way to fix it.\nThanks again to Arch Wiki for the copy/paste one-liner for the admin command line terminal again:\nreg add \u0026#34;HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\TimeZoneInformation\u0026#34; /v RealTimeIsUniversal /d 1 /t REG_DWORD /f Disable secure boot Your computer probably has secure boot turned on, which means it\u0026rsquo;ll probably not like booting from your USB stick. The simplest workaround is to disable secure boot. This will depend on your motherboard\u0026rsquo;s manufacturer, so you might have to search online for how to do it. Depending on the Linux distro you\u0026rsquo;ve chosen, you may be able to turn secure boot back on once you\u0026rsquo;re done.\nInstall it To be honest this is the easiest part. Plug in your USB stick and go through your computer\u0026rsquo;s BIOS to boot up Ventoy, then go through Ventoy and select your distro\u0026rsquo;s ISO. After a little wait, your distro will likely have a popup window asking you if you\u0026rsquo;d like to install your distro. If not, search around for an installer icon somewhere. After that, follow the installer\u0026rsquo;s prompts. Most of the default options should be fine, but feel free to change things to suit your liking. The screenshots here may differ depending on which distro you\u0026rsquo;ve selected.\nPay extra attention to the disk partitioning section of your installer, since we need to make sure we\u0026rsquo;re installing to the empty space we made by shrinking Windows. Otherwise you probably wipe out your Windows, and that kinda negates the whole point of dual-booting. The partitions will use a different labeling scheme than Windows used, so this is where that note I mentioned earlier comes in handy. The screenshot will probably differ from what you see since I\u0026rsquo;ve already got a Linux OS installed and I am not wiping it for y\u0026rsquo;all.\nAt this stage you may also run into hiccups while the installer checks to make sure things will be fine. For example, when installing CachyOS it notified me that my bootloader partition from Windows was too small\u0026hellip; resizing it was a pain in the ass, but it turned out fine in the end.\nAt the last step, the installer should warn you before it makes any changes to your system. Review your selections, make sure you haven\u0026rsquo;t made any mistakes, and let it rip.\nLive in it After it\u0026rsquo;s done, you can reboot your computer. The installer will probably have replaced your bootloader with one that can look for Windows and Linux installations, so go ahead and select your Linux installation and play around for a while. You\u0026rsquo;ll notice plenty of things that are \u0026ldquo;wrong\u0026rdquo; compared to Windows, but playing around in wonder is half the fun. Mess around, break things, use search engines and wikis to help you solve problems. Learning is fun!\nSome tips Use your distro\u0026rsquo;s documentation to get some common things set up that you might need to live comfortably in your distro\nCheck your distro\u0026rsquo;s website periodically for update news, it may be more important for you than Windows\u0026rsquo; news\nThere is no C: drive; instead Linux distros have the root directory (/) and everything is mounted somewhere in the file tree\nGenerally, it\u0026rsquo;s preferred that you install programs through your distro\u0026rsquo;s package manager instead of by downloading from the program\u0026rsquo;s homepage\nThank you so much for reading, have a nice day.\n– Patch\n","date":"2026-09-25T17:27:05-04:00","image":"/post/linux-is-easier-than-you-think/nobara-installer-1.png","permalink":"/post/linux-is-easier-than-you-think/","title":"Linux is easier than you think"},{"content":"Hello again! Today I\u0026rsquo;d like to introduce Desktop Scrollery. You can scatter papers all over a physical desktop and shift your gaze to whichever one you want to read. You can try to do this on a computer\u0026rsquo;s virtual desktop, but you\u0026rsquo;ll find it\u0026rsquo;s rather easy to run out of space. Your screen is usually not big enough. I\u0026rsquo;ve always thought it might be fun to try and complete the skeuomorphism. I\u0026rsquo;m building a tool that allows you to scroll your windows across your computer\u0026rsquo;s virtual desktop space to give the sense of moving spatially between windows rather than constantly alt-tabbing to raise windows over currently visible ones. Please note that I\u0026rsquo;m developing it as a KWin script, meaning it\u0026rsquo;s only available for KDE Plasma users (so as far as I know, no Mac/Windows support, sorry). Currently, the plan is to slide windows over when your mouse cursor touches the edges of the screen. Here\u0026rsquo;s a demo of the current functionality.\nYour browser doesn't support HTML5 video. Here is a link to the video instead. \u0026hellip; As you may be able to see, it\u0026rsquo;s kinda iffy right now. The windows are supposed to slide over in both axes, not resize only vertically. I\u0026rsquo;m not comfortable putting it in the main branch yet, so to test drive it yourself you\u0026rsquo;d have to use the basic-functionality branch. You can check it out on the GitHub repository.\nA little history on the development process This is an idea I\u0026rsquo;ve had for a very long time. I\u0026rsquo;ve even tried to implement it before, but I ran into some issues between the gap in the documentation and my current knowledge on the subject.\nThere are some documentation pages for KWin scripting available, but every time I read them I feel like I\u0026rsquo;m missing something. For example, there\u0026rsquo;s an official \u0026ldquo;KWin scripting tutorial\u0026rdquo; page, and it provides plenty of useful info, but also omits plenty of crucial info. It describes how a KWin script project is packaged using the KPackage format, but it doesn\u0026rsquo;t actually describe how to package your script, and the KPackage link they provide doesn\u0026rsquo;t explain either, instead seeming to cover building KPackage save/load support into full-blown desktop programs. My confusion every time I opened the docs is a huge reason the project has never made it out of the ideation phase before.\nThis time I decided to just get something done, no matter what it takes me to do it. I went in search of some external examples and resources, and I found an example script to inspire me, Sticky Window Snapping by FLUPP. It\u0026rsquo;s really easy to follow along if I see how someone else did it. It turns out the package format is really just zipping your project and changing the extension from .zip to .kwinscript. Unbelievable\u0026hellip; Brilliant\u0026hellip; Look, I understand that this kind of information is probably in the docs somewhere, but when the page is titled \u0026ldquo;KWin scripting tutorial\u0026rdquo; I feel like including that information directly on the page would be pretty helpful. Perhaps I should figure out how to contribute to the page just to fix it so the project benefits from my confusion.\nBeing a sore loser aside, I have been able to test that my project is somewhat functional, so that\u0026rsquo;s pretty neat. I\u0026rsquo;m finding myself dreading opening it to continue working on it\u0026hellip; This is the furthest I\u0026rsquo;ve ever gotten with the project, so I think I\u0026rsquo;m gonna take a rest on it for now and switch to a different project before I burn out too much.\nPersonal stuff since my last post Touhou 6\u0026rsquo;s remaster and rebuild being available on Steam has been a total blast, I didn\u0026rsquo;t quite realize how much I missed playing these games. For the unaware (most of my audience haha), the Touhou Project is a series of Japanese bullet hell games that draw heavy inspiration from classic arcade shooters like Galaga, 1942, DoDonPachi, etc. The player dodges waves of enemy fire while progressing through the (cheesy) plot. Completing a full playthrough only takes around 30 minutes. They\u0026rsquo;re difficult, but the difficulty is secondary to the weird and classic vibes. I\u0026rsquo;m really grateful for a way to easily run the game again, it\u0026rsquo;s a bit tricky to get the old version running nicely on modern computer systems.\nI watched Coyote vs. ACME last weekend with some friends, it was a blast. I didn\u0026rsquo;t really grow up watching much Looney Tunes, but I had a basic level of familiarity. There were several jokes that I didn\u0026rsquo;t really understand but they were few and far between. The basic pacing of the humor was extremely pleasant and engaging.\nI\u0026rsquo;m excited for the new changes being brought into Overwatch soon, Doctrine looks like a super fun character and I\u0026rsquo;m excited for the day he\u0026rsquo;ll be added to the game in full.\nApparently I\u0026rsquo;m super susceptible to pressure fluctuations. I was feeling totally crummy yesterday, waking up with a headache and fatigue, which stayed with me all day. Checking the air quality monitor revealed that from the 19th to the 21st, the air pressure went from 1011 hPa to 1001 hPa and back up to 1011 hPa. Yippee. I guess it\u0026rsquo;s a relief to know that something did this to me rather than some sort of mysterious wind.\nThank you so much for reading, have a nice day.\n\u0026ndash; Patch\n","date":"2026-09-15T14:21:40-04:00","image":"/post/introducing-desktop-scrollery/kwin-scripts.png","permalink":"/post/introducing-desktop-scrollery/","title":"Introducing Desktop Scrollery"},{"content":"Hi! It\u0026rsquo;s Patch. After a some R\u0026amp;D, I\u0026rsquo;m finally live with my blog! If you\u0026rsquo;re unfamiliar with me (or if you just want to read more of my lovely words), please be sure to check out the About page. I want to take a moment to outline my current goals with this blog.\nThe idea that I might want a blog isn\u0026rsquo;t exactly new for me, but very recently I realized I could kill two birds with one stone \u0026ndash; nay, three. Possibly more birds. Although I feel a little bad for the birds.\nIt can help me talk to people about my personal life.\nWhenever people ask me about how I\u0026rsquo;ve been, I tend to clam up or not be able to remember what I\u0026rsquo;ve been doing. My daily life doesn\u0026rsquo;t typically involve stopping to talk to people about things. It can really get in the way of talking to friends and family. Regularly writing here may keep me from clamming up so much. Hell, it may even provide me a way to explain things to people in a more digestible medium than blabbering and gesturing into the air.\nIt can help me persevere on projects.\nA few months ago, I received my Pebble smart watch. I wanted it to last a long time, so I wanted to make a 3D-printed protective case for it. I didn\u0026rsquo;t quite love all the ones I was seeing online, so I decided to try designing one myself. After all, Core Devices published some of the watch\u0026rsquo;s CAD files online. I spent a week or 2 learning some 3D modeling and CAD skills in Blender and OnShape, but things weren\u0026rsquo;t so easy and I put the project on hold. I printed someone else\u0026rsquo;s design in the meantime. I felt like a failure for not being able finish the project, having nothing to show for all that effort, but the reality is that I learned some cool and fun things. Maybe producing project write-ups can serve as a bookmark, allowing me to register my progress/learning and make it easier to return later.\nIt can help me divert my focus from social media and group chats.\nThis one\u0026rsquo;s been brewing for a litte bit but it only recently came to a boiling point. Historically I\u0026rsquo;ve been a little too reliant on platforms like YouTube, Reddit, Twitter, and Discord for passing the time. Eventually I noticed this and started paring back a little bit. That solved the overuse problem but left another in its wake. Lately I\u0026rsquo;ve been finding that I get hurt very frequently in the environments that these platforms can create. Even after I had carefully curated my experiences on these sites, I still found myself reading very unpleasant things that would leave me upset for hours, sometimes even obsessing and ruminating over into the next day. Even limiting the kinds of things I see to just my friends\u0026rsquo; posts, there are still too many ways for hurtful things to sneak in.\nI think this means I\u0026rsquo;m not really compatible with a large part of the internet. Almost a month ago, I decided to start stepping back from those spaces entirely. I\u0026rsquo;m trying to essentially limit myself to directly getting the information I need and directly talking with my friends. It\u0026rsquo;s left me with a lot more time on my hands for focusing on the important things in life \u0026ndash; personal growth, pursuing passions, stuff like that. Ironically, it\u0026rsquo;s allowed me to focus on starting this blog in the first place.\nThere are a couple more reasons bouncing around in my head, but these 3 are the basic ones. I think this post is already a good size, so there\u0026rsquo;s no need for me to stick around enumerating every possibility.\nGoing forward, I\u0026rsquo;d like to write about my projects, and maybe a little bit about neat things that I\u0026rsquo;ve noticed, or things I\u0026rsquo;m looking forward to (like how yesterday Touhou 6\u0026rsquo;s remaster launched, or how yesterday Nintendo announced a new Kirby and a new Metroid game). I don\u0026rsquo;t have a schedule in mind, but I expect writing on a weekly-ish basis will feel pretty natural. Things will probably evolve over time though.\nThank you so much for reading, have a nice day.\n\u0026ndash; Patch\n","date":"2026-09-10T14:24:14-04:00","image":"/post/hello-blog/clover.jpg","permalink":"/post/hello-blog/","title":"Hello, blog!"}]