<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[the blog edition]]></title><description><![CDATA[the blog edition]]></description><link>https://blog.adaswag.my/</link><image><url>https://blog.adaswag.my/favicon.png</url><title>the blog edition</title><link>https://blog.adaswag.my/</link></image><generator>Ghost 5.87</generator><lastBuildDate>Sun, 26 Apr 2026 01:51:59 GMT</lastBuildDate><atom:link href="https://blog.adaswag.my/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Note-taking apps]]></title><description><![CDATA[<p>In the past few months I&apos;ve been going around finding a good note-taking app.<br>For some people, it&apos;s easy as picking the these proprietary services (not that they&apos;re not good), or the &apos;popular&apos; ones promoted and being feed into society.<br>Like everyone</p>]]></description><link>https://blog.adaswag.my/note-taking-apps/</link><guid isPermaLink="false">69340ce606a4640067bf0751</guid><category><![CDATA[thoughts]]></category><category><![CDATA[stuff]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sat, 06 Dec 2025 14:08:14 GMT</pubDate><content:encoded><![CDATA[<p>In the past few months I&apos;ve been going around finding a good note-taking app.<br>For some people, it&apos;s easy as picking the these proprietary services (not that they&apos;re not good), or the &apos;popular&apos; ones promoted and being feed into society.<br>Like everyone else, I have my preferences and criteria.</p><p>After comparing and testing several for myself, I ended up using Trilium Notes.<br>It was really a close battle between Obsidian vs Trilium Notes.<br>I really don&apos;t think anyone could go wrong choosing either one.<br>The way I see it now:<br>If you don&apos;t like tinkering - use Obsidian.<br>If your mindset is more &apos;adventurous&apos; - use Trilium Notes.<br><strong>One thing for sure</strong> - <u>you need to try them both and see which one fits your need, no wrong choice between the two.</u>   <br><br>I&apos;m listing out the ones I&apos;ve tried and this is just a post to give my take on it. Each one with a link goes to their respective website/info, for your reference - who knows, maybe you&apos;re also looking for a note-taking app to settle down on.<br><br>Here are the note-taking apps that I&apos;ve been testing:</p><h2 id="m-onenote-100-crappy-lazy-choice"><a href="https://onenote.cloud.microsoft/" rel="noreferrer">M$ OneNote</a> (100%<em> crappy &amp; lazy choice</em>):</h2><p><br>This one shouldn&apos;t even be on the list in the first place. <br>But since I&apos;m working for one of the company that signed a blood pact with M$ services (<em>like many other companies out there, total lockdown, 100% doom and gloom</em>), well, it just make sense for me to at least give it a try. <br><br>It&apos;s an opportunity for me to squeeze in a little hate-post for M$ like what everyone is doing on the internet these days. I mean, I gave it a try for 3 days (<em>...and really hated it)</em>.<br>If you&apos;re in Tech, I don&apos;t really have to explain why I didn&apos;t choose OneNote. <br><br>It&apos;s from M$, what do you expect? So in a typical modern-Microsoft-fashion, I found that it lacks a LOT of features - even basic features that are on every other note-taking app, but not in OneNote.<br><br>For example, there&apos;s no option to create code blocks. I&apos;ll give you a perspective. It&apos;s just mind-boggling how a feature like inserting a code block is widely available on Microsoft Teams, even on its 1:1 chat, but, it&apos;s not available on OneNote. Heck what are you doing M$? Time and time again. <br><br>I can&apos;t call it anything else - if you have (or maybe are) using OneNote, try a different note-taking app. You&apos;ll soon see that it&apos;s really not designed for users. It was never even thought that way. It&apos;s more to fish the corporate businesses (<em>not its users!</em>) with the outer design &amp; first-look impression etc. <br>Look, I understand that if your personal computer is running Windows, any Microsoft services would be shove in your head somehow anyway, heck, it might be under your bed when you wake up in the morning. I guess for others that actually do use it, I&apos;m here to tell you that you&apos;re left behind on a lot of things. I&apos;m not talking about stuff that people chase every year to be the first, I&apos;m talking about basic needs that a note-taking app should have in 2025. <br><br>Also - there&apos;s no OneNote client for Linux or macOS, it&apos;s just PWA-based, data stored in M$ data centres, no option to self-host even as a backup. Sorry, not sorry.</p><h2 id="joplin-the-basic-choice"><a href="https://joplinapp.org/" rel="noreferrer">Joplin</a> (<em>The basic choice</em>):</h2><p><br>One of my favourite - simple &amp; workable.<br>It has options to sync with the popular cloud storage, even on OneDrive (with encryption that can be enabled). <br>The encryption is done on the client-side, before it gets uploaded to your cloud storage provider. And when it gets downloaded, it also decrypts on the client side. <br>So you can think of this as more like &quot;local-first approach&quot; which I think is really awesome.<br> <br>Why I didn&apos;t end up choosing it, is because. the Markdown Editor that it uses in the app lack some intuitiveness (for me personally).<br>Again, it&apos;s not due to Markdown Editor, nor am I jabbing Joplin - it&apos;s just the way that Markdown Editor works in Joplin.<br><br>While I was using it though, I did notice that it does have another type of editor that I can change to, but I get a prompt saying that the other editor doesn&apos;t support certain things. Those are the only real reasons I put in Joplin just down below the level of Trilium Notes &amp; Obsidian.<br><br>Joplin is free + open-source at its core, which is a plus for users.<br>Multiple platform supported - Windows, macOS, Linux, iOS, Android. <br>It even has an official extension called &apos;<a href="https://joplinapp.org/help/apps/clipper" rel="noreferrer">Joplin Web Clipper&apos;</a> for browsers.<br>I can see myself getting used to using Joplin if I have to (<em>who knows, maybe in the future?</em>), I feel quite comfortable when I was using it.</p><h2 id="obisidian-cant-go-wrong"><a href="https://obsidian.md/" rel="noreferrer">Obisidian</a> (Can&apos;t go wrong!):</h2><p><br>This note-taking app is so popular among Linux users believe it or not, and so it&apos;s no surprise that some people thought Obsidian is an open-source solution. <br>But no - it&apos;s actually proprietary (<em>the good kind, if there&apos;s a word to describe it)</em>.<br> <br>In another world, I can see myself using Obsidian - I really do. I gave it a try for one month and l really like it.<br>In terms of features, it&apos;s just complete. I&apos;d dare say the best-looking one.<br><br>But I didn&apos;t end up sticking with Obsidian - for several reason, one of which - its Sync feature is actually a paid option. <br>Having said that - if you want a completely free alternative option to sync your notes on Obsidian - there&apos;s a plugin called &apos;<a href="https://www.stephanmiller.com/sync-obsidian-vault-across-devices/#remotely-save" rel="noreferrer">RemotelySave</a>&apos; in which you can sync your notes using some popular cloud storage services. There&apos;s also a plugin called <a href="https://www.reddit.com/r/selfhosted/comments/1eo7knj/guide_obsidian_with_free_selfhosted_instant_sync/" rel="noreferrer">Self-hosted LiveSync</a> - in which you can just self-host - spin it up on Docker and you&apos;re good to go. Another option? <a href="https://www.youtube.com/watch?v=5YZz38U20ws" rel="noreferrer">Sync it with Git </a>- it&apos;s crazy how this is a feature, free backup lol!<br><br>Obsidian clients are on every major platform including Linux, Windows, macOS, Android, iOS - I mean what more could you ask right? Seamless syncing.<br><br>Seriously, if you&apos;re looking a note-taking app, give Obsidian a go - you&apos;ll see what I mean. And if you don&apos;t mind paying for a note-taking app, I&apos;d say choosing Obisidian native sync is not a bad choice at all. It&apos;s only like $4 USD per month, and it&apos;s NOT like it&apos;s Microsoft/Google/Amazon or any of the peeping Big Techs.<br><br>For me personally though - it comes down to its core license cost to the user: <br>Free + Open-source (Trilium Notes) vs  <em>Freemium-ish</em>+proprietary (Obsidian). <br>Plus I don&apos;t like being tied to anything anymore in the world of internet.<br></p><h2 id="trilium-notes-why-i-have-chosen-this"><a href="https://triliumnotes.org/" rel="noreferrer">Trilium Notes</a> (<strong><em>Why I have chosen this</em></strong>):</h2><p><br>Right - if you&apos;ve tried the Obsidian app and you&apos;ve never tried the Trilium Notes app - it&apos;s definitely worth checking out. The client works out of the box (locally). I can say - you&apos;ll feel right at home if you&apos;re used to Obsidian (<em>in fact, TriliumNotes offers a lot more advanced features that I&apos;m going to talk about here</em>).<br><br>You see - <strong>Trilium Notes is free + open-source + features</strong>, which is ultimately why I end up using it, and I love it. The best way for me to describe the experience of using it: </p><blockquote><em>Trilium Notes is like an advanced, futuristic, modern &amp; clean-looking version of Joplin, combine with features like you see on Obsidian, and more.</em></blockquote><p>Similar to Joplin - it&apos;s got that local-first approach. If you need sync features, you&apos;re going to have to self-host (that&apos;s me right there), or, deploy an instance on an &apos;Always-Free&apos;-tier services like what GCP or Azure offers if you dare, or, cheap VPS. <br>It <strong>doesn&apos;t do</strong> &apos;<em>sync your notes to your popular cloud storage</em>&apos; (also me, right here). <br>In fact, there&apos;s a service called trilium.cc - which you can deploy your own Trilium Notes instance at $3.50 per month. <br>I went with self-hosting-free option though, as I don&apos;t see the need for me to deploy a paid instance anywhere.<br><br>Similar to Obsidian - the experience is much alike + more. It uses WYSIWYG Editor at default, as well as full support for Markdown Editor, so you can switch back and forth. The notes structure is my favourite - sort of of like a &apos;tree-hierarchy&apos; approach to it, while Obsidian is more like &apos;notes-inside-folders&apos; approach.<br><br>Now, there are downsides to everything.<br>Currently, it doesn&apos;t have any iOS client, at all - though the mobile-view PWA is pretty well designed. In fact, it doesn&apos;t even have an official native Android client. It does have a third-party open source Android client, called TriliumDroid. <br>I don&apos;t even have TriliumDroid installed on my mobile - the mobile-view PWA is already more than good enough for me to operate &amp; use it.<br><br>Again - the way I see it, this is still the &apos;<em>adventurous</em>&apos; mind-set option, fits perfectly for me. The <em>tinkering part</em> is only to make sure your notes sync with other clients you may have. If you&apos;re only using it on one client, say a computer, and you don&apos;t need to sync anything - it just works out-of-the-box anyway! Over time, I&apos;m betting there&apos;ll be some community project out there creating a client for iOS and also a native-client for Android.<br><br><br></p>]]></content:encoded></item><item><title><![CDATA[MAE / BIMB banking apps blocking access - MY]]></title><description><![CDATA[<p>So one day, you can&apos;t access your MAE (Maybank) app, your BIMB (Bank Islam) app, or any of your bank apps really like CIMB or any other - on your perfectly-fine Android device. <br>And you noticed these error messages sometimes doesn&apos;t make sense, such as &quot;</p>]]></description><link>https://blog.adaswag.my/mae-bimb-banking-apps-blocking-access-my/</link><guid isPermaLink="false">6919329884693700690f9051</guid><category><![CDATA[thoughts]]></category><category><![CDATA[stuff]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sun, 16 Nov 2025 05:28:47 GMT</pubDate><content:encoded><![CDATA[<p>So one day, you can&apos;t access your MAE (Maybank) app, your BIMB (Bank Islam) app, or any of your bank apps really like CIMB or any other - on your perfectly-fine Android device. <br>And you noticed these error messages sometimes doesn&apos;t make sense, such as &quot;OEM Unlocking is turned on&quot; or &quot;Your device is rooted&quot; (<em>but it could be, that it&apos;s not even rooted!</em>).<br><br>Well first at foremost, this is all thanks to <strong>Google Play Integrity &amp; your local bank(s) decision to bow down to these Big Tech policies without even questioning</strong> - whichever you want to blame. And you&apos;re not wrong, it&apos;s really not your device. Your device is perfectly fine! But I&apos;m not going to deep dive into who&apos;s to blame here. The reason I&apos;m writing this is to provide a way to fix these.<br><br>You may fall into <strong>one of these</strong> categories:<br><br>1. <strong>You bought your phone from outside of Malaysia, or the phone is not officially from your local country:</strong><br>Therefore, it made sense that your device&apos;s bootloader is unlocked to get the local version of stock Android rom - otherwise lots of local apps wouldn&apos;t work.<br><br>2. <strong>You bought your phone second-hand without knowing the technical details</strong>:<br>Same reason as above - it&apos;s either the previous owner decided to unlock the bootloader OR it falls under the first category mentioned - the phone may have been bought outside of the country.<br><br>3. <strong>You are using a custom rom on a locally-bought Android device:</strong><br>It doesn&apos;t matter what your custom Android rom is based on. <strong>As long as you have a custom rom running, that means your bootloader is unlocked</strong>. Otherwise, you won&apos;t be able to even use your phone. But I also have to stress that <strong>using a custom rom doesn&apos;t mean that your device is &apos;rooted&apos;. </strong>There&apos;s no need for root at all to get a custom rom running, all it needs is an unlocked bootloader.<br><br>4. <strong>You actually rooted your phone, but your spoofing tricks doesn&apos;t work anymore</strong>:<br>Well, some people say this is like digging your own grave, but no matter - you can still make it work! I personally call it &quot;control our own device&quot; &#x1F604;<br><br>Ok so - did you fall into one of those categories? or maybe you&apos;re just not aware and had been using the phone for years now, and so <em>it may have fallen into one of the first two categories above.</em><br><br>Now - if you fit into the <strong>third category</strong>, meaning that you have previously, intentionally, unlocked your bootloader to install a custom rom (nothing wrong with that!) - one option is to just to <strong>revert back to your local stock rom and re-lock the bootloader</strong>, and all these apps will work just fine. <strong>Just be aware that you&apos;re going to have to wipe the whole phone/device data. The good news? it&apos;ll feel like a brand new phone. The bad news? You have to setup everything again, from installing your apps to your customised preferences. <br><em>You can easily find the steps to do this on the internet - it usually involves downloading your phone/device stock rom and &apos;flashing&apos; it over. Search for terms like &quot;[your phone/device model] stock rom&quot;<br>E.g. Samsung Galaxy S24 Stock ROM</em></strong><br><br>But surely, there are reasons as to why you are using a custom rom in the first place, especially if it&apos;s done intentionally right? So if you want to keep using your current custom rom - continue reading below. <br>Otherwise, <strong><u>stop reading, don&apos;t waste your time here.</u><br><br>Ok so here is the real fix. You are going to have to root.</strong><br><em>But wait, doesn&apos;t that defeat the whole purpose of these banking apps blocking access for rooted devices? Yes it does. These clowns don&apos;t even question their own app policies and how it works.</em><br><br><strong>What if your phone/device is already rooted?<br><em>If your phone/device is already rooted, using Magisk or KernelSU, remove it completely, uninstall your current root setup. Magisk usually have a user-friendly way to do a &apos;complete root uninstallation&apos; - open up the Magisk app and you should see the option somewhere.</em></strong><br><br>We are going to root using an app/system called &quot;<a href="https://github.com/bmax121/APatch" rel="noreferrer">APatch</a>&quot;. <br>You can read APatch&apos;s documentation here if you want to:<br><a href="https://apatch.dev/">https://apatch.dev/</a><br><br><strong>This is how I&apos;d personally describe APatch:<br><br>APatch is a hybrid of KernelSU &amp; Magisk.</strong><br>The root is implemented on a kernel-level, like Kernel SU, and unlike Magisk.<br>If you are familiar with Magisk though, APatch also supports Magisk modules!<br><br>Meanwhile, Magisk&apos;s root method is through the phone/device&apos;s RAM disk - which can be seen by these new sophisticated root checks implemented by these apps, well, they don&apos;t usually come up with it themselves - it&apos;s <strong>through Google.</strong> You can still get away with most apps if you&apos;re using Magisk - but for future-proof rooting, <strong>it&apos;s better to root at the kernel-level. If Google can&apos;t see it because it&apos;s rooted at a kernel-level (which is deeper), apps highly likely can&apos;t either.</strong><br><br>As for KernelSU - it&apos;s perfectly fine in terms of the rooting method, because it also roots device at the kernel-level. But, it doesn&apos;t have the user-friendly options like Magisk does to handle the next set of layers (like tricking and spoofing). <br><br>And this is why APatch is the winner - a combination of kernel-level root (like KernelSU) &amp; support for modules for tricking and spoofing at the user-level (like Magisk).<br><br>It is also worth-noting that currently, MAE &amp; BIMB root checks are not sophisticated, not yet anyway. Meaning you can still get away by using Magisk and some of its modules. <strong>But really, you want to future-proof your root method.</strong><br><br>Here&apos;s what you need.. </p><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">On Your Phone/Device</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><span style="white-space: pre-wrap;">1. Your &apos;</span><b><strong style="white-space: pre-wrap;">boot.img</strong></b><span style="white-space: pre-wrap;">&apos; file, unpatched (</span><i><em class="italic" style="white-space: pre-wrap;">I&apos;ll explain below as you may have to get them through a computer</em></i><span style="white-space: pre-wrap;">).</span><br><span style="white-space: pre-wrap;">2. </span><a href="https://github.com/bmax121/APatch" rel="noreferrer"><b><strong style="white-space: pre-wrap;">APatch</strong></b></a> <span style="white-space: pre-wrap;">(app)</span><br><span style="white-space: pre-wrap;">3. </span><a href="https://github.com/osm0sis/PlayIntegrityFork" rel="noreferrer"><b><strong style="white-space: pre-wrap;">PlayIntegrityFork</strong></b></a><span style="white-space: pre-wrap;"> (module)</span><br><span style="white-space: pre-wrap;">4. </span><a href="https://github.com/PerformanC/ReZygisk" rel="noreferrer"><b><strong style="white-space: pre-wrap;">ReZygisk</strong></b></a><span style="white-space: pre-wrap;"> (module)</span><br><span style="white-space: pre-wrap;">5. </span><a href="https://github.com/5ec1cff/TrickyStore" rel="noreferrer"><b><strong style="white-space: pre-wrap;">Tricky Store</strong></b></a><span style="white-space: pre-wrap;"> (module)</span><br><span style="white-space: pre-wrap;">6. </span><a href="https://github.com/KOWX712/Tricky-Addon-Update-Target-List" rel="noreferrer"><b><strong style="white-space: pre-wrap;">Trick Addon</strong></b> </a><span style="white-space: pre-wrap;">(module)</span><br><span style="white-space: pre-wrap;">7. </span><a href="https://f-droid.org/en/packages/com.termux/" rel="noreferrer"><b><strong style="white-space: pre-wrap;">Termux</strong></b></a><span style="white-space: pre-wrap;"> (app)</span><br><span style="white-space: pre-wrap;">8. </span><b><strong style="white-space: pre-wrap;">Make sure Developer Options is turned ON, USB Debugging is turned ON, ADB is turned ON - throughout this process!! Unless you&apos;re told otherwise.</strong></b></p></div>
        </div><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">On Your Computer</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><span style="white-space: pre-wrap;">1. </span><b><strong style="white-space: pre-wrap;">Your ROM files</strong></b><span style="white-space: pre-wrap;"> (we just need that </span><i><b><strong class="italic" style="white-space: pre-wrap;">&apos;boot.img&apos;</strong></b></i><span style="white-space: pre-wrap;"> file to patch later, explained below).</span><br><span style="white-space: pre-wrap;">2. </span><b><strong style="white-space: pre-wrap;">ADB installed</strong></b><br><span style="white-space: pre-wrap;">3. </span><b><strong style="white-space: pre-wrap;">Fastboot installed</strong></b><br><br><span style="white-space: pre-wrap;">Important: I&apos;m not highlighting what ADB &amp; Fastboot are - </span><b><strong style="white-space: pre-wrap;">but you can very easily look it up on the internet, and install it</strong></b><span style="white-space: pre-wrap;"> - as the way it works depends on your computer&apos;s operating system. </span><br><span style="white-space: pre-wrap;">E.g. </span><i><em class="italic" style="white-space: pre-wrap;">If your computer is running Linux or MacOS - you can just install them using your package manager</em></i><span style="white-space: pre-wrap;">. </span><br><i><em class="italic" style="white-space: pre-wrap;">If your computer is on Windows, you&apos;re going have to find the setup files to install it.</em></i></p></div>
        </div><p><br>Steps:<br></p><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">Your &apos;boot.img&apos; file, unpatched:</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><span style="white-space: pre-wrap;">If you are familiar with the rooting method using Magisk, then you might recall that you had to </span><i><em class="italic" style="white-space: pre-wrap;">patch your &apos;boot.img&apos; file,</em></i> <i><em class="italic" style="white-space: pre-wrap;">transfer it over to your computer, and then use fastboot to load up the patched-img file to your phone/device.</em></i><br><br><span style="white-space: pre-wrap;">If you&apos;re quite old and used to root through custom recovery like TWRP or OrangeFox, please note that rooting through recovery just won&apos;t work properly anymore! Stop using that method!</span><br><br><span style="white-space: pre-wrap;">So if you&apos;re not familiar with patching &apos;boot.img&apos; file - well - </span><b><strong style="white-space: pre-wrap;">the &apos;boot.img&apos; file is actually included within your current rom that you are using - it&apos;s unpatched. </strong></b><span style="white-space: pre-wrap;">You just have to get the file. I can&apos;t explain in any other way, as there are various roms out there, stock and custom, and I don&apos;t know what rom you are using.</span><br><br><span style="white-space: pre-wrap;">For example, if you use a custom OneUI rom, or a custom HyperOS rom, or any AOSP-based rom, you&apos;ll need to download or have </span><b><strong style="white-space: pre-wrap;">that big zip file of your rom again, the exact same version as you are currently using</strong></b><span style="white-space: pre-wrap;"> (</span><i><em class="italic" style="white-space: pre-wrap;">which is usually about 4-7gb in terms of file size</em></i><span style="white-space: pre-wrap;">). </span><br><span style="white-space: pre-wrap;">You have to extract that big zip file of your rom - and </span><b><strong style="white-space: pre-wrap;">within the extracted folders/subfolders, find any file called &apos;boot.img&apos;</strong></b><span style="white-space: pre-wrap;"> - There should only be one file named &apos;boot.img&apos; in there, and I&apos;m 100% sure it&apos;s in there, as otherwise the ROM wouldn&apos;t work. Find it!</span><br><br><span style="white-space: pre-wrap;">Once you have that file - </span><b><strong style="white-space: pre-wrap;">make a copy of it, save one your computer, and save another on your phone/device. </strong></b><span style="white-space: pre-wrap;">Then - move on to the APatch section below.</span><br></p></div>
        </div><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">APatch Installation &amp; Root:</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><span style="white-space: pre-wrap;">Now - download APatch from their Github page above (under releases section).</span><br><span style="white-space: pre-wrap;">It&apos;s an APK file - and therefore you have to install it (allow Unknown Sources to install).</span><br><span style="white-space: pre-wrap;">Open the APatch app on your phone, and you should see some warnings at the top to set a &apos;</span><b><strong style="white-space: pre-wrap;">SuperKey</strong></b><span style="white-space: pre-wrap;">&apos;, and </span><b><strong style="white-space: pre-wrap;">a button that lets you patch your &apos;boot.img&apos; file</strong></b><span style="white-space: pre-wrap;">. </span><br><span style="white-space: pre-wrap;">So - remember that &apos;boot.img&apos; file that you have copied on your computer and on your phone? This is where we need to patch it. But first - you need to setup a Superkey.</span><br><br><span style="white-space: pre-wrap;">The Superkey needs to be:</span><br><span style="white-space: pre-wrap;">- a minimum of 8 characters (to be exact, it&apos;s 8-63 characters long).</span><br><span style="white-space: pre-wrap;">- include number and letters but </span><b><strong style="white-space: pre-wrap;">NO Special charaters!!</strong></b><br><br><span style="white-space: pre-wrap;">After you have set your Superkey, then proceed to patch your &apos;boot.img&apos; file that&apos;s on your phone. You&apos;ll see the options there to press &amp; select the file within your phone directory.</span><br><span style="white-space: pre-wrap;">It would run a script to patch the file and </span><b><strong style="white-space: pre-wrap;">when that finish, you can see some logs as to where it generate &amp; save a new patched file - within your phone/device.</strong></b><br><span style="white-space: pre-wrap;">The filename would somewhat be in this format:</span><b><strong style="white-space: pre-wrap;"> &quot;apatch_patched_xxxx_xxx.img&quot;</strong></b><br><br><span style="white-space: pre-wrap;">Then, connect your phone to your computer via USB, and</span><b><strong style="white-space: pre-wrap;"> copy or transfer the patched file (&quot;apatch_patched_xxxx_xxx.img&quot;) to your computer.</strong></b><br><br><span style="white-space: pre-wrap;">With the phone still connected via USB - Open up your Terminal app on your computer (or Command Prompt in Windows). </span><b><strong style="white-space: pre-wrap;">It&apos;s best to make sure it opens within the directory of your patched file. Otherwise, you can use the &quot;cd&quot; command to change your terminal into the directory.</strong></b><br><br><span style="white-space: pre-wrap;">Within the Terminal/Command Prompt window, type in:</span><br><br><code spellcheck="false" style="white-space: pre-wrap;"><span>adb devices</span></code><br><span style="white-space: pre-wrap;">And hit Enter. If it works - you should see one device listed under the line with some random character. If it doesn&apos;t work - try using a different USB cable, check your Developer Option settings and make sure USB Debugging &amp; ADB is turned on, then try again until it does work.</span><br><br><span style="white-space: pre-wrap;">If it&apos;s working, type in:</span><br><br><code spellcheck="false" style="white-space: pre-wrap;"><span>adb reboot bootloader</span></code><br><span style="white-space: pre-wrap;">And hit Enter. This will then reboot your phone/device, and it will load up Fastboot mode.</span><br><span style="white-space: pre-wrap;">You can actually see the phone&apos;s screen lighting up with the text &apos;Fastboot&apos; when it loads up.</span><br><br><span style="white-space: pre-wrap;">Then, let&apos;s verify if fastboot command on your computer works and it can see your device.</span><br><span style="white-space: pre-wrap;">Type in the below:</span><br><br><code spellcheck="false" style="white-space: pre-wrap;"><span>fastboot devices</span></code><br><span style="white-space: pre-wrap;">And hit Enter. If it works - you should see one device listed under the line with some random character. If it doesn&apos;t work - try using a different USB cable, and run that command again until fastboot detect your device.</span><br><br><span style="white-space: pre-wrap;">Then, type in the below:</span><br><br><code spellcheck="false" style="white-space: pre-wrap;"><span>fastboot flash boot apatch_patched_xxxx_xxx.img</span></code><br><span style="white-space: pre-wrap;">Then hit Enter.</span><br><i><em class="italic" style="white-space: pre-wrap;">Note: That &quot;</em></i><i><b><strong class="italic" style="white-space: pre-wrap;">apatch_patched_xxxx_xxx.img</strong></b></i><i><em class="italic" style="white-space: pre-wrap;">&quot; - change the filename or add the directory - to match your patched file name and directory on your computer.</em></i><br><br><span style="white-space: pre-wrap;">It will now attempt to load the patched file.</span><br><span style="white-space: pre-wrap;">Once that&apos;s done, type in:</span><br><br><code spellcheck="false" style="white-space: pre-wrap;"><span>fastboot reboot</span></code><br><span style="white-space: pre-wrap;">And hit Enter. </span><br><span style="white-space: pre-wrap;">Your phone/device will now reboot and loads up your rom, like it normally does.</span><br><br><span style="white-space: pre-wrap;">After your phone loads up, open up the APatch app again.</span><br><span style="white-space: pre-wrap;">This time, you can see there&apos;s a sign/bar at the top to enter a SuperKey.</span><br><span style="white-space: pre-wrap;">Tap that option.</span><br><span style="white-space: pre-wrap;">Remember the SuperKey you have set earlier?</span><br><span style="white-space: pre-wrap;">Enter that very same SuperKey you have set.</span><br><span style="white-space: pre-wrap;">APatch will then verify to confirm if the SuperKey is correct and if it&apos;s working.</span><br><br><span style="white-space: pre-wrap;">If it does work, APatch will state &quot;Working&quot;.</span><br><span style="white-space: pre-wrap;">If it doesn&apos;t work, APatch will ask for that same SuperKey again - and if you can&apos;t remember what you&apos;ve set as your SuperKey, then you may have to re-patch your original &apos;boot.img&apos; file again with a new SuperKey.</span><br><br><span style="white-space: pre-wrap;">So now that&apos;s working, what&apos;s next? Give yourself a pat on the back, you have done well.</span><br><span style="white-space: pre-wrap;">Your phone/device is now rooted at the kernel-level!</span><br><b><strong style="white-space: pre-wrap;">Note: You may see another warning that says &quot;AndroidPatch&quot; is not installed - if you do, tap on Install, wait 1 minute, then reboot the phone.</strong></b><br><br><span style="white-space: pre-wrap;">Now - </span><b><strong style="white-space: pre-wrap;">unlike Magisk</strong></b><span style="white-space: pre-wrap;"> - </span><b><strong style="white-space: pre-wrap;">APatch doesn&apos;t have a DenyList.</strong></b><br><span style="white-space: pre-wrap;">So how does it work? We move on to the next section and I&apos;ll explain there.</span></p></div>
        </div><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><b><strong style="white-space: pre-wrap;">Testing APatch &amp; Installing Modules</strong></b></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><span style="white-space: pre-wrap;">If you open up your APatch app again, you&apos;ll see a few navigations options/bar at the bottom.</span><br><span style="white-space: pre-wrap;">The middle one would be the &quot;SuperUser&quot; option.</span><br><span style="white-space: pre-wrap;">Again, APatch doesn&apos;t have a DenyList - so this section is NOT a DenyList.</span><br><span style="white-space: pre-wrap;">What this section does is, it allows you to select specific apps to have root access.</span><br><span style="white-space: pre-wrap;">So remember that you had to install Termux just now?</span><br><span style="white-space: pre-wrap;">Find Termux within this SuperUser option and toggle it on.</span><br><span style="white-space: pre-wrap;">You may want to toggle on for some of your other root apps as well, such as maybe &quot;Root File Explorer&quot; or &quot;Material Files&quot; to give these app root permissions (if you need to).</span><br><span style="white-space: pre-wrap;">It will work instantly, without a restart.</span><br><br><span style="white-space: pre-wrap;">If you want to verify it - easy - toggle it OFF for Termux.</span><br><span style="white-space: pre-wrap;">Then open up Termux, type in the command &apos;su&apos; (without quotes) and hit Enter.</span><br><span style="white-space: pre-wrap;">You will likely see that Termux can&apos;t find the command, which means that&apos;s working, it doesn&apos;t have root access.</span><br><span style="white-space: pre-wrap;">And when you toggle it back ON for Termux, open up Termux again, run that same &apos;su&apos; command again and you will see that the command works - meaning Termux now have root access.</span><br><br><span style="white-space: pre-wrap;">Now within the APatch app, there&apos;s also a navigation option for APModule, which stands for &apos;AndroidPatch Module&apos;. This is where we install our modules, just like Magisk.</span><br><span style="white-space: pre-wrap;">So download all those module files (listed above, these are zip files), and install them all.</span><br><span style="white-space: pre-wrap;">To install a module: Within the APModule section, you should see an icon to install a module from a file - use this option - select your zip file of the the module and it&apos;ll install.</span><br><span style="white-space: pre-wrap;">You DO NOT need to reboot after each installation.</span><br><br><span style="white-space: pre-wrap;">So in this case, install all modoules, one by one: ReZygisk, PlayIntegrityFork (aka PIF), TrickyStore, TrickyStore addon.</span><br><br><b><strong style="white-space: pre-wrap;">And then you REBOOT your phone (crucial!). This is to ensure all the modules installed are running properly.</strong></b><br><br><span style="white-space: pre-wrap;">Next - you have to do these steps next in specific order:</span><br><br><span style="white-space: pre-wrap;">1. &quot;Clear Data&quot; on these apps: Google Play Services; Google Play Store; Google Services Framework; your banking app (MAE or BIMB, or both); </span><b><strong style="white-space: pre-wrap;">basically, any apps that you want to hide root &amp; bootloader status from</strong></b><span style="white-space: pre-wrap;">.</span><br><br><span style="white-space: pre-wrap;">2. Open up APatch, go to APModule, find PIF (Play Integrity Fork) and hit the &apos;Action&apos; button. It will then run a script. After the script is finished, DO NOT REBOOT your phone yet, go back.</span><br><br><span style="white-space: pre-wrap;">3. Still within APatch -&gt; APModule, find PIF, and hit &apos;Action&apos; button.</span><br><span style="white-space: pre-wrap;">After the script finish, DO NOT REBOOT your phone yet. go back.</span><br><br><span style="white-space: pre-wrap;">4. Still within APatch-&gt;APModule, find Tricky Store and tap &apos;Open&apos;.</span><br><span style="white-space: pre-wrap;">Now make sure you do the below carefully in order:</span><br><span style="white-space: pre-wrap;">With Tricky Store opened, you should see ALL apps installed on your phone, listed.</span><br><span style="white-space: pre-wrap;">- Tap the three-dot menu at the top right.</span><br><span style="white-space: pre-wrap;">- Tap Select All (you might not see Select All, it might be an icon that you have to press to select all).</span><br><span style="white-space: pre-wrap;">- Tap the three-dot menu at the top right AGAIN</span><br><span style="white-space: pre-wrap;">- Tap &quot;Deselect Unncessary&quot;</span><br><span style="white-space: pre-wrap;">- Tap &quot;Save&quot; (it might be an icon), usually located at the bottom right.</span><br><span style="white-space: pre-wrap;">- Tap the three-dot menu at the top right.</span><br><span style="white-space: pre-wrap;">- Tap &quot;Keybox&quot;-&gt; Tap &quot;Valid&quot;</span><br><span style="white-space: pre-wrap;">- Tap the three-dot menu at the top right AGAIN</span><br><span style="white-space: pre-wrap;">- Tap &quot;Set Security Patch&quot;</span><br><span style="white-space: pre-wrap;">- Tap &quot;Get Security Patch Date&quot;, wait for it to fetch info (only like 1-2 seconds)</span><br><span style="white-space: pre-wrap;">- Tap &quot;Save&quot;</span><br><br><span style="white-space: pre-wrap;">5. Open up your Termux app (</span><i><em class="italic" style="white-space: pre-wrap;">provided that you have given it root access through the SuperUser option in APatch</em></i><span style="white-space: pre-wrap;">).</span><br><br><span style="white-space: pre-wrap;">Within Termux window session, type in:</span><br><i><em class="italic" style="white-space: pre-wrap;">su</em></i><br><span style="white-space: pre-wrap;">And hit Enter. That&apos;s to start a superuser (root) access in Termux.</span><br><br><span style="white-space: pre-wrap;">Then type in:</span><br><i><em class="italic" style="white-space: pre-wrap;">cd /data/adb/modules/playintegrityfix</em></i><br><span style="white-space: pre-wrap;">And hit Enter. That&apos;s to </span><u><span class="underline" style="white-space: pre-wrap;">change the directory</span></u><span style="white-space: pre-wrap;"> into that particular folder.</span><br><br><span style="white-space: pre-wrap;">Then type in:</span><br><i><em class="italic" style="white-space: pre-wrap;">chmod +x ./autopif2.sh</em></i><br><span style="white-space: pre-wrap;">And hit Enter. That&apos;s to </span><u><span class="underline" style="white-space: pre-wrap;">give an &apos;execute permission&apos;</span></u><span style="white-space: pre-wrap;"> to the file called &apos;autopif2.sh&apos; within the folder.</span><br><br><span style="white-space: pre-wrap;">Then type in:</span><br><i><em class="italic" style="white-space: pre-wrap;">sh autopif2.sh --strong</em></i><br><span style="white-space: pre-wrap;">And hit Enter. That&apos;s to </span><u><span class="underline" style="white-space: pre-wrap;">run the script written</span></u><span style="white-space: pre-wrap;"> on the file.</span><br><br><span style="white-space: pre-wrap;">6. Now, finally, reboot your phone, again! </span><br><br><span style="white-space: pre-wrap;">7. Check all your apps that were </span><i><em class="italic" style="white-space: pre-wrap;">inaccessible</em></i><span style="white-space: pre-wrap;"> previously due to bootloader/root status, and all those apps should now WORK!</span><br><span style="white-space: pre-wrap;">If it doesn&apos;t, I&apos;m pretty sure you may have missed some steps written here - but that&apos;s okay, read through everything here again, make sure you understand what we are doing first, and I&apos;m sure it&apos;ll work.</span><br></p></div>
        </div><p>Now you might wonder, where does ReZygisk, Tricky Store, Tricky Add on comes to all this and why do you need it installed?<strong> </strong>You might&apos;ve done all this before in the past, using Magisk - so how does these modules actually work anyway?<br><br>Let me try my best to break it down:<br><br>ReZygisk module: It&apos;s a foundation that allows <em>hiding apps</em> to run. Without it installed, PlayIntegrityFork (PIF) and Tricky Store wouldn&apos;t be able to run.<br><br>Tricky Store: This is the hiding tool. &apos;The DenyList&apos;. TrickyStore uses ReZygisk (or core Zygisk) to prevent apps listed (<em>that target.txt file that generated</em>) from being able to see the presence of root - it&apos;s another layer of hiding, on top of APatch&apos;s kernel-level root.<br><br>Tricky Addon: This is to make life easier when configuring Tricky Store. It automatically installs and manage the last known-good Keybox file (or Keystore) &lt;&#x2013; This is key to passing some integrity checks as well. While the spoofing part is done by PIF, this addon handles that info.<br><br>PlayIntegrityFork (PIF): This is the integrity spoofing tool. It makes Google thinks that your phone/device is unrooted or &apos;<em>certified</em>&apos; device. Even if Google Play Store doesn&apos;t seem to think so.<br><br>APatch: Rooted at kernel-level, deep in the system where it&apos;s harder for Google to check. And this way, they can&apos;t pass this information to the apps. The tricking &amp; spoofing are still done in the user-level space, but at the very least, we have control at the kernel-level.</p>]]></content:encoded></item><item><title><![CDATA[Android: Google Play Integreedy]]></title><description><![CDATA[<p>That&apos;s what I&apos;d call it.<br>Google Play Integrity my ass, more like Google Play Integreedy.<br><br>Monopoly Enforcement:<br>Restricting competing app stores and alternative OS distributions.</p><p>Hardware Lock in:<br>Discouraging device owner from running anything outside of the &quot;officially sanctioned&quot;, Google-certified hardware/software.</p><p>Data Control:</p>]]></description><link>https://blog.adaswag.my/android-google-play-integreedy/</link><guid isPermaLink="false">68f23cb8eb1484006e1a3015</guid><category><![CDATA[thoughts]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Fri, 17 Oct 2025 13:08:28 GMT</pubDate><content:encoded><![CDATA[<p>That&apos;s what I&apos;d call it.<br>Google Play Integrity my ass, more like Google Play Integreedy.<br><br>Monopoly Enforcement:<br>Restricting competing app stores and alternative OS distributions.</p><p>Hardware Lock in:<br>Discouraging device owner from running anything outside of the &quot;officially sanctioned&quot;, Google-certified hardware/software.</p><p>Data Control:<br>Continuous chain of trust from the hardware up to their servers, which secures their revenue models from being intercepted. Anti-competitive behaviour.</p>]]></content:encoded></item><item><title><![CDATA[Chromium-based Browser on Linux: HEVC / H.265 Hardware Acceleration Setup]]></title><description><![CDATA[<p><br>Are you on Linux, using a Chromium-based browser? And you somehow find out certain video doesn&apos;t play on your browser, because it&apos;s HEVC / H.265 ?<em> Windows and Mac users look away now, you&apos;re stuck lol</em> <br><br>I&apos;m writing this guide to show you</p>]]></description><link>https://blog.adaswag.my/chromium-based-browser-on-linux-hevc-h-265-hardware-acceleration-setup/</link><guid isPermaLink="false">68e925906c5924006e86edfc</guid><category><![CDATA[stuff]]></category><category><![CDATA[thoughts]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sat, 11 Oct 2025 03:26:27 GMT</pubDate><content:encoded><![CDATA[<p><br>Are you on Linux, using a Chromium-based browser? And you somehow find out certain video doesn&apos;t play on your browser, because it&apos;s HEVC / H.265 ?<em> Windows and Mac users look away now, you&apos;re stuck lol</em> <br><br>I&apos;m writing this guide to show you how to enable full hardware video decoding for HEVC (including 10-bit) in the <strong>Brave Browser </strong>(<em>which is a Chromium-based browser</em>) using VA-API and Vulkan. This should also work with SwagCollections. I can&apos;t confirm if it will work for &apos;all&apos; chromium-based browser, but it SHOULD - read through this and you should know what to change.<br><br>Note: If you&apos;re using Firefox, on Linux, it should just work as long as you have all the graphic drivers installed properly.</p><h3 id="pre-requisite">Pre-Requisite</h3><ol><li><strong>A modern Linux distribution<br>In this example, I&apos;m using Debian</strong>, but any should work - just be mindful of the commands you&apos;re executing (<em>e.g. if it&apos;s a distribution such as Fedora, rpm would be your package manager, so the command should be &apos;dnf&apos; instead of &apos;apt&apos;</em>)<br></li><li><strong>Compatible Hardware:</strong> <br>Intel CPU? <em>Gen7+ please.</em> AMD<em> </em>CPU? well any AMD CPU with integrated GPU should work. <br>Dedicated GPUs by AMD, Intel, or Nvidia should also work, as long as it supports <strong>HEVC decoding</strong> (<em>I think for Nvidia, that should at least be GTX 10xx series with NVENC</em> <em>features</em> - <em>go do your research for NVENC if you&apos;re using Nvidia</em>)<br></li><li><strong>Correct GPU Drivers:</strong> <br>The necessary MESA or proprietary drivers<em> (unfortunately)</em> for that graphics must be installed and up-to-date. <br>Also note, <em>some distribution already have these pre-installed, but just run the commands to install the drivers below anyway, as it doesn&apos;t hurt - if it&apos;s already installed, your package manager would tell you.</em></li></ol><h3 id="step-1-install-browser-if-not-already-installed">Step 1: Install Browser (If not already installed)</h3><p><br>Note: <strong>Don&apos;t </strong>install apps based on Snap, AppImage or Flatpak - use the official source that supports your package manager. It&apos;s not that it won&apos;t work, but these other package manager extensions usually require certain system permission to be given<em> </em>before it can work. <strong>Again</strong>,<strong> in this example</strong>, <strong>I&apos;m installing the Brave browser</strong>, in Debian.<br><br>So.. first, install <strong>curl</strong> (<em>if you don&apos;t already have it</em>):</p><pre><code>sudo apt install curl
</code></pre><p>Then, add the Brave repository to your package manager sources - for <strong>Debian</strong> it would be something like this (<em><strong>you can search the web or check the browser&apos;s website for official source</strong>)</em>:</p><pre><code>echo &quot;deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main&quot; | sudo tee /etc/apt/sources.list.d/brave-browser-release.list
</code></pre><p>And don&apos;t forget its GPG key.. which is also why you need <strong>curl</strong>:</p><pre><code>sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
</code></pre><p>Update the package list and install Brave</p><pre><code>sudo apt update
sudo apt install brave-browser
</code></pre><p>Note: While updating your repository, be careful not to add duplicate sources or you might get some errors. If you did, all you need to do is to remove or hash-out (#) one of the sources (<em>if you&apos;re new to it and not sure on how to cancel out duplicate sources, the web is your friend - use it</em>)</p><h3 id="step-2-install-va-api-and-vulkan-drivers">Step 2: Install VA-API and Vulkan Drivers</h3><p><br>You need to install the drivers or libraries that allow the browser to reach to your GPU&apos;s decoding hardware.</p><p><strong>Install these VA-API and Vulkan drivers:</strong> mesa-vulkan-drivers | mesa-va-drivers | libva-drm2 | libva-x11-2<br><br>So for Debian, it would be something like this:</p><pre><code>sudo apt install libva-drm2 libva-x11-2 mesa-vulkan-drivers mesa-va-drivers
</code></pre><blockquote><strong>Note for Intel CPU Users:</strong> If you have 8th Gen Intel or newer with integrated graphics, you might also need the specific Intel driver called intel-media-va-driver</blockquote><h3 id="step-3-lets-do-a-temporary-testlaunch-the-browser-with-hevc-and-vulkan-flags-enabled"><br>Step 3: Let&apos;s do a Temporary Test - Launch the browser with HEVC and Vulkan Flags enabled</h3><p><br><strong>This is crucial - </strong>Before making permanent changes, verify the flags work by launching Brave (or your other chromium-based browser) from the <strong>terminal</strong>, using some specific flags.</p><p><strong>Close Brave completely, and re-launch it from the Terminal with these command &amp; flags:</strong></p><pre><code>brave-browser-stable --enable-features=DefaultANGLEVulkan,VaapiIgnoreDriverChecks,Vulkan,VulkanFromANGLE
</code></pre><p>Once Brave is open, navigate to<em> </em>this address: <code>brave://gpu</code><br><br><em>Note: Again that&apos;s for Brave - if you&apos;re using any other browser, the address might be different. For example, in Google Chrome, the address would be</em><strong> </strong> <code>chrome://gpu</code><br><br>Verify the following features show as <strong>Enabled</strong> or <strong>Hardware accelerated</strong>:<br><code>Vulkan</code>: <strong>Enabled</strong><br><code>Video Decode</code>: <strong>Hardware accelerated</strong></p><p><strong>Important Note: While on that specific page (brave://gpu)........... </strong><br><br>&#x2192; If the browser&apos;s window <strong>starts flashing a few times and stops</strong>, but you <strong>do get the above result</strong> (hardware accelerated)<strong>, don&apos;t worry about it</strong>, move on below.<br><br>&#x2192; If the browser&apos;s window <strong>starts flashing numerous times and just never stop,</strong> and <strong>you can&apos;t click on anything other than closing it completely</strong> - then <strong>you might have a problem &lt;&#x2013; This means the browser is not able to communicate to the graphics decoding hardware - check Step 2 (graphics drivers) &amp; check Pre-requisite (that may involve proprietary drivers)</strong><br><br>&#x2192;<strong> </strong>If the browser&apos;s window doesn&apos;t flash at all, and the page shows &apos;hardware accelerated&apos; as above - you&apos;re good to move on.<br><br>&#x2192; If the page results in <strong>&apos;using software&apos;</strong> instead of &apos;hardware accelerated&apos; for <strong>decoding</strong>, well, the good news is it&apos;s likely not the driver. <strong>But the bad news is the browser never actually launch with those flags</strong>. You&apos;re going to need a bit of tinkering and web-searching for this to find out why.<br> <br>Moving on...<br><br><strong>Test playing a HEVC Video:</strong> <br>Try playing any HEVC video within the browser.<br>My favourite is one particular web page - go to this address - it&apos;s got all kinds of HEVC video samples embedded:<br> <a href="https://lf-tk-sg.ibytedtos.com/obj/tcs-client-sg/resources/video_demo_hevc.html">https://lf-tk-sg.ibytedtos.com/obj/tcs-client-sg/resources/video_demo_hevc.html</a><br><br>If successful, congratulations! Well you&apos;re just one step away now from making that flags permanent. Which is on the last step, Step 4.</p><h3 id="step-4-make-the-flags-permanent">Step 4: Make the Flags Permanent</h3><p><br>Step 3 was a temporary method, which only works for that session. Obviously we&apos;d want to the browser to be launch with those flags permanently<strong>, every time it launches </strong>(unless you really don&apos;t).<br><br>So, you need to find the <strong>browser&apos;s &quot;.desktop&quot; file</strong>.<br>Because we&apos;re going to edit some lines there to make sure this is permanent.<br><br>In Debian, it is most likely in this location (<em>based on current Brave example)</em>:<br><em>/usr/share/applications/brave-browser.desktop</em><br><br>If you can&apos;t find it, use some creativity - Linux is superb when it comes to searching.<br>Search for &quot;.desktop&quot; file with the word &quot;brave&quot; - and you should be able to find it!<br>And once you have, use your favourite text-editor like <strong>Kate</strong>, <strong>nano</strong>,<em> </em><strong>vim</strong> etc to open it.<br><br>I personally prefer Kate, and I have Kate installed, so what I would do is:</p><pre><code>kate /usr/share/applications/brave-browser.desktop</code></pre><p>In the past, before I was even introduce to Kate, my favourite text-editor was always <strong>nano</strong>.<br>One of the reason why I don&apos;t use nano anymore is because we have to specify &apos;who we are&apos; before opening a file to be able to make changes.<br>Obviously, these changes require <strong>sudo</strong>. <br>So doing &quot;<em>nano brave-browser.desktop</em>&quot; would open it, but then I can&apos;t save the changes. <br>And I have to remember to put <strong>sudo</strong> every single time before opening it.<br><br>But if you don&apos;t have Kate and prefer using nano anyway, it should be something like this:</p><pre><code>sudo nano /usr/share/applications/brave-browser.desktop</code></pre><p>Anyway - once you have that file open - there are two lines you&apos;re looking for to edit.<br>Both looks very similar but for different purposes, with slightly different default flags.<br><br>You can probably guess what these flags are for, when looking at the below.<br><br>So with me <strong><em>sticking to this Brave browser as an example</em></strong>, the two lines I&apos;m looking for are these two - along with its changes:<br><br>Look for this line - <strong>the first one</strong>: </p><pre><code>Exec=/usr/bin/brave-browser-stable %U
</code></pre><p>Change it or replace it to:</p><pre><code>Exec=/usr/bin/brave-browser-stable --enable-features=DefaultANGLEVulkan,VaapiIgnoreDriverChecks,Vulkan,VulkanFromANGLE %U
</code></pre><p>Then, look for this line - the second one:</p><pre><code>Exec=/usr/bin/brave-browser-stable --incognito
</code></pre><p>Change it or replace it to:</p><pre><code>Exec=/usr/bin/brave-browser-stable --enable-features=DefaultANGLEVulkan,VaapiIgnoreDriverChecks,Vulkan,VulkanFromANGLE --incognito
</code></pre><p></p><p>Save that file after making the changes - if it&apos;s <strong>nano</strong>, CTRL+O, Enter, Ctrl+X.<br>If it&apos;s <strong>Kate</strong> - just click Save or CTRL+S and put your sudo password to confirm.<br><br><strong>Make sure to close the browser and re-launch, and it&apos;s all done &amp; happy days!</strong><br></p>]]></content:encoded></item><item><title><![CDATA[Running 3 GPUs at the same time?]]></title><description><![CDATA[<p><br><br>This year, this is what I achieved.<br>Yes - you can.<br>For what exactly? Well - <br>1. That &quot;AMD ATI Raphael&quot; is just the integrated graphics card I use for fully browsing the system.<br>2. The &quot;RTX 5060 Ti&quot; is passthrough to a VM (dedicated) so</p>]]></description><link>https://blog.adaswag.my/running-3-gpus-at-the-same-time/</link><guid isPermaLink="false">68e7da116c5924006e86ede4</guid><category><![CDATA[stuff]]></category><category><![CDATA[thoughts]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Thu, 09 Oct 2025 15:57:12 GMT</pubDate><content:encoded><![CDATA[<p><br><br>This year, this is what I achieved.<br>Yes - you can.<br>For what exactly? Well - <br>1. That &quot;AMD ATI Raphael&quot; is just the integrated graphics card I use for fully browsing the system.<br>2. The &quot;RTX 5060 Ti&quot; is passthrough to a VM (dedicated) so that VM supports hardware acceleration.<br>3. And lastly - &quot;Intel Arc A380&quot; is used specifically for transcoding (media servers).</p><figure class="kg-card kg-image-card"><img src="https://blog.adaswag.my/content/images/2025/10/Screenshot_20251009_235209.png" class="kg-image" alt loading="lazy" width="716" height="442" srcset="https://blog.adaswag.my/content/images/size/w600/2025/10/Screenshot_20251009_235209.png 600w, https://blog.adaswag.my/content/images/2025/10/Screenshot_20251009_235209.png 716w"></figure>]]></content:encoded></item><item><title><![CDATA[Buying off the Taobao app, experience in Malaysia]]></title><description><![CDATA[If you're not in the mood for reading, copy all text and ask AI to summarise it for you. ]]></description><link>https://blog.adaswag.my/taobao-app-experience-in-malaysia/</link><guid isPermaLink="false">67d64668d325eb006d1f6252</guid><category><![CDATA[thoughts]]></category><category><![CDATA[stuff]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sun, 16 Mar 2025 05:08:21 GMT</pubDate><content:encoded><![CDATA[<p><br>This is more like a note for myself, but I thought I&apos;d write it down here so that if there are others wondering what it&apos;s like - buying items off Taobao, from China, and shipping to Malaysia. This is more for those who doesn&apos;t have the experience of buying things off Taobao, or just looking into stuff but found that it&apos;s way cheaper in Taobao (most of the case!) compared to any other platform like Lazada, Shopee or even Temu.<br><br>At the time of writing, you can get an &apos;English version&apos; of the app through Play Store or App Store. The website, however, is still limited to Chinese.<br><br>Now, just after getting app on your phone, you&apos;ll be prompted with an option to switch the language to English right in the first few steps after launching it. You&apos;ll also may notice a small pop-up giving you information about &apos;LVG&apos; tax - which is telling you that you&apos;ll be <strong>paying for a certain amount of small tax</strong> (if I&apos;m not mistaken, 10%), when buying items off the Taobao app. This is a regulation in place, between Malaysia and the platform (regarding Imported Low-Value Goods), which is actually a good thing to some perspective, but more on that later (<em>read the shipping part below</em>).<br><br>When browsing through the app for items, you&apos;ll notice that the price are in Chinese Yuan, <strong>with a little mark just below it,</strong> showing the price &apos;converted&apos; to Ringgit Malaysia.<br><br>So - your eyes are locked on an item, you add to cart, you&apos;re ready to order and put your coupons or whatever &lt;- these are pretty straight forward like any other platform. However, there is one thing you need to consider which is the Shipping Method.<br><br>Just before you pay for the item (on the Check Out page), you should notice that the default/selected Shipping Method is <strong>&apos;Direct shipping - Air&apos;</strong>. If you were to switch the option, the other option would be &apos;Direct shipping - Sea&apos;. <br>As you can probably guess, &apos;Direct shipping - Air&apos; = Airplane shipping, and &apos;Direct shipping - Sea&apos; = Ship shipping. And the later usually takes longer to arrive (it can take up to a month). So what&apos;s to consider here, obviously you&apos;ll be thinking let&apos;s do &apos;Direct shipping - Air&apos; because it&apos;s faster right?<br><br>Well.... Malaysia&apos;s customs. So this is more of a personal opinion based on what I&apos;ve experienced. For items that you really value and do not mind if it takes longer to arrive (especially if it&apos;s on the expensive-side), <strong>you might want to choose Sea shipping</strong>. The reason for this is because when the items arrive in Malaysia, it&apos;ll have to go through customs first like it would for any other country, before it gets to you. <br><br>Based on experiences, if it&apos;s Air shipping and the item is quite big or on a pricier side of things, they usually get checked thoroughly by customs and can be held there for quite some time. I&apos;ve noticed that it&apos;s not really the case for Sea shipping, or rather, they tend to get a more <strong><em>laid-back treatment </em></strong>and it gets a pass or checked just within a day or two, more often than not.<br><br>Of course, the big drawback to us is the duration. <br>Sea shipping can take up to a month.<br>So the simplified version: <br><br>1. <strong>Air shipping </strong>= faster (max 2 weeks maybe?), sometimes items are held at custom for too long and you&apos;ll have to check in with them, that process can be a bit tedious if it happens - <strong><em>good choice for low-price &amp; small items.</em></strong><br><br>2. <strong>Sea shipping</strong> = slower (up to 4 weeks), the chances of items getting held at custom for too long are low (usually 1-2 days), more of a straightforward process - <strong><em>good choice for high-price &amp; big items, or just something you really value.</em></strong><br><br>So choose wisely.<br><br>Right let&apos;s talk about these weird tracking numbers. So you ordered your items, wait a day or so for the seller to pack your items and bla bla bla - and within these few days you&apos;ll notice you&apos;d get all these weird tracking numbers. What are these? Why so many?<br><br>If you notice the details of the logistics, you&apos;ll see icons that shows you stages of how the items are getting to you. <br>You&apos;ll see icons for &quot;<strong>Seller-</strong>&gt;<strong>Shipment Warehouse</strong>-&gt;<strong>Warehouse Outbound</strong>-&gt;<strong>Arrived at destination</strong>-&gt;<strong>Malaysia</strong>&quot;.<br>Basically what it is - it&apos;s all different reference to shipments, as there are multiple shipments going on here. The process goes more like this, in stages:<br><br>1. The items gets picked up from the seller - <strong><em>You&apos;ll usually get a unique tracking info here.</em></strong><br>2. The items gets to the warehouse in China for processing<br>3. The items gets sorted in the warehouse, and ready for shipment to Malaysia - <strong><em>You&apos;ll usually get a unique tracking info here.</em></strong><br>4. Items gets shipped to Malaysia, either by Air or Sea - <strong><em>Yo</em>&#x200B;<em>u&apos;ll</em></strong> <strong><em>usually get a unique tracking info here.</em></strong></p><p><strong><em>5.</em></strong> Items arrive in Malaysia<br>6. Items go through customs <strong>[read the Air shipping </strong>&#x200B;<strong>v</strong>&#x200B;&#x200B;<strong>s</strong>&#x200B;<strong><em>&#x200B;&#x200B;</em> Sea shipping above]</strong><br></p><p>7. Items are passed, then collected by a local courier based in Malaysia<br>8. Items are sorted at the local courier&apos;s warehouse<strong><em>&#x200B;</em></strong><br>9. Items gets delivered to your address.<br><br>Referring to the above, <strong>from stage 1-3,</strong> you&apos;d get <strong>one or two unique tracking numbers based in China - </strong>and with these, you should also notice that the icon for the tracking info shows a logo of &apos;<strong>Cainiao</strong>&apos; - can be seen on the order status.<br>To check the status for these, you can search the tracking number on this website:<br><a href="https://pbc.cainiao.com/orderStatusSearch">https://pbc.cainiao.com/orderStatusSearch</a><br><br><strong>On stage 4, this is when they decide which local courier will deliver the items to you. &#x200B;</strong><br>There are several local couriers that could be sending the items to your address.</p><p>&#x200B;<strong>It&apos;s only until stage 7,</strong> is when you can track the <strong>&#x200B;</strong>items here in Malaysia - which is the tracking number you get on stage 4. To check the status, you&apos;ll need to identify which local courier it is assigned to, and check on the courier&apos;s website. <strong>Check the first few letters of the tracking number that y</strong>&#x200B;<strong>ou get on stage 4.</strong><br>For insights &amp; examples - these are <strong><em>some known ones I&apos;ve seen:</em><br><br>CNMYG</strong> is GDex<br><strong>CNMYA</strong> is ABX or KEX Express<br><strong>CNMYL</strong> is LineClear Express<br><strong>CNMYD</strong> is DHL<br><strong>CNMYN</strong> is Ninjavan<br><strong>TMYLE </strong>is Lazada Express<br><strong>CNMYB</strong> is Best Express<br><strong>CNMYF</strong> is Flash Express<br><em>..note that these are just some, there might be even more, needs a bit more googling if you get one that you don&apos;t recognise.</em> <br></p><p>And that&apos;s about it really, of what I&apos;m trying to cover here.<br><br>There might be one more thing actually, last one - <br>Even with the app, there are some items in which you just <strong>cannot buy directly from the app</strong>, while you&apos;re in Malaysia. If you try to anyway, <strong>you&apos;d get an error when trying to add these items in your cart.</strong> Though, there are usually various alternatives to these items in which you can buy, and therefore generally it doesn&apos;t really make much difference most of the time, unless it&apos;s really super hyper crazy niche. <em>Now for these items</em> - if you really want them and you have no other sources or options, you&apos;d have to get a type of &apos;man-in-the-middle&apos; service (<strong><em>a forwarding service</em></strong>), which I&apos;m not going to explain everything here - the gist is simple, someone else in China order it, gets it, and deliver it to you. Plenty of these services out there and some are even equipped with apps to do these services now.<br><br><br></p>]]></content:encoded></item><item><title><![CDATA[My Year of Calculated Ignorance]]></title><description><![CDATA[<p>I&apos;ve realized that sometimes I&apos;m so focused on my own thoughts, especially during work. This is a good thing&#x2014;don&apos;t get me wrong. Half the time, I get tasks done faster this way.</p><p>But let&apos;s talk about the other half. Look,</p>]]></description><link>https://blog.adaswag.my/perspectives-why-we-need-each-other/</link><guid isPermaLink="false">678016ee9aeec9006843235f</guid><category><![CDATA[thoughts]]></category><category><![CDATA[stuff]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Thu, 09 Jan 2025 18:54:24 GMT</pubDate><content:encoded><![CDATA[<p>I&apos;ve realized that sometimes I&apos;m so focused on my own thoughts, especially during work. This is a good thing&#x2014;don&apos;t get me wrong. Half the time, I get tasks done faster this way.</p><p>But let&apos;s talk about the other half. Look, I&apos;m confident enough to say that I can probably survive on my own. I&apos;m a hunter, and I survive; that&apos;s what I do.</p><p>However, there are times when I blatantly ask other people questions even if I already know the answer. I find myself doing this a lot more lately. In all honesty, I like how things turn out. I&apos;ve realized that since each of us is an individual, our ways of thinking and methods can be very different, and there is no right or wrong most of the time.</p><p>No shit, Sherlock, right? Wait, what if Sherlock survived by asking people questions he already knew the answer to? Would that have made any difference? And what if he really did? I think he did, you know! Otherwise, he wouldn&apos;t have been able to solve everything. He needs perspective.</p><p>So here&apos;s to 2025, a year where I&apos;m going to be asking other people more of the questions I already know the answer to. It&apos;s not the answer I&apos;m actually looking for. It&apos;s those little things in our minds&#x2014;the way we answer, the way we see things individually, and the methods we think we would use as individuals. More often than not, it <em>does</em> have an impact on how we think in the future.</p>]]></content:encoded></item><item><title><![CDATA[SC on Windows / Linux / MacOS]]></title><description><![CDATA[Suggested client: Jellyfin Media Player]]></description><link>https://blog.adaswag.my/sc-on-windows-linux-macos-2/</link><guid isPermaLink="false">6691e75ca70799005ec011c2</guid><category><![CDATA[Guides4SC]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Mon, 11 Nov 2024 16:00:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1510125964506-dc5a14f3ef4e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDUzfHxwYyUyMHxlbnwwfHx8fDE3MjA4NDc3Nzl8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1510125964506-dc5a14f3ef4e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDUzfHxwYyUyMHxlbnwwfHx8fDE3MjA4NDc3Nzl8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="SC on Windows / Linux / MacOS"><p>The official <a href="https://github.com/jellyfin/jellyfin-media-player" rel="noreferrer"><strong>Jellyfin Media Player</strong></a> software or the <a href="https://github.com/jellyfin/jellyfin-mpv-shim/blob/master/README.md" rel="noreferrer"><strong>Jellyfin MPV Shim client</strong></a><strong>.</strong><br><br>1. You can get Jellyfin Media Player from here:<br><a href="https://github.com/jellyfin/jellyfin-media-player/releases">https://github.com/jellyfin/jellyfin-media-player/releases</a><br><br>Install, open the app, enter SC&apos;s address, enter login details and you&apos;re done!<br><br>Note that the app uses MPV (built-in), which is why it can play all the video formats you throw at it with ease.<br><br>The other great option is:<br><br>2. Jellyfin MPV Shim client (<strong>arguably the better option overall!</strong>) - which can be obtain from here:<br><a href="https://github.com/jellyfin/jellyfin-mpv-shim/blob/master/README.md">https://github.com/jellyfin/jellyfin-mpv-shim/blob/master/README.md</a><br><br>Jellyfin MPV Shim client lets you &quot;cast&quot; Jellyfin media instance(s) to your system of choice, acting as <strong><em>a cast device</em></strong>. It then plays any media through MPV player on your system. This gives you a more direct approach when playing any media on SC, as well as  satisfaction without having to really install anything (if you opt for the portable version).<br> <br>The release page on Github <a href="https://github.com/jellyfin/jellyfin-mpv-shim/releases/" rel="noreferrer">provides installers for Windows</a> - a portable version is also available. <br>For <strong>Linux</strong>, you can find Jellyfin MPV Shim on <a href="https://flathub.org/apps/com.github.iwalton3.jellyfin-mpv-shim" rel="noreferrer">Flatpak</a>.<br>For <strong>MacOS</strong>, <a href="https://github.com/jellyfin/jellyfin-mpv-shim?tab=readme-ov-file#macos-installation" rel="noreferrer">please read through the guide provided.</a></p>]]></content:encoded></item><item><title><![CDATA[Docker & Portainer: Initial setup guide (in Malay)]]></title><description><![CDATA[This is in Bahasa Malaysia / Malay]]></description><link>https://blog.adaswag.my/docker-portainer-initial-setup-guide-in-malay/</link><guid isPermaLink="false">670a61209aeec90068432347</guid><category><![CDATA[stuff]]></category><category><![CDATA[thoughts]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sat, 12 Oct 2024 11:47:46 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/IbkraUdXQJ8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Cara nak install Docker + Portainer + Nextcloud (1/2) (Bahasa Malaysia)"></iframe></figure><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/bZ7o3GcXoXY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Cara nak upgrade Container/app, Portainer &amp; Docker (2/2) (Bahasa Malaysia)"></iframe></figure>]]></content:encoded></item><item><title><![CDATA[Waiting for AV1 support like...]]></title><description><![CDATA[<div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">Disclaimer: These are just personal thoughts/opinions from the author, inside his own head. He doesn&apos;t give a shit.</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p dir="ltr"><br><span style="white-space: pre-wrap;">So much potential. Royalty-free.</span><br><span style="white-space: pre-wrap;">I&apos;ve tested some in SC as well.</span><br><br><span style="white-space: pre-wrap;">But man this could take years.. just like when HEVC was released.</span><br><span style="white-space: pre-wrap;">Plus most people actually</span></p></div></div>]]></description><link>https://blog.adaswag.my/waiting-for-av1-support-like-2/</link><guid isPermaLink="false">669e302aa70799005ec0132e</guid><category><![CDATA[thoughts]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Mon, 22 Jul 2024 10:41:27 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">Disclaimer: These are just personal thoughts/opinions from the author, inside his own head. He doesn&apos;t give a shit.</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p dir="ltr"><br><span style="white-space: pre-wrap;">So much potential. Royalty-free.</span><br><span style="white-space: pre-wrap;">I&apos;ve tested some in SC as well.</span><br><br><span style="white-space: pre-wrap;">But man this could take years.. just like when HEVC was released.</span><br><span style="white-space: pre-wrap;">Plus most people actually argue that AV1 is only great in low-bit rate right now. HEVC still seems to be superior.</span><br><br><span style="white-space: pre-wrap;">For context - this is some good references from Jellyfin&apos;s website:</span><br><br><a href="https://jellyfin.org/docs/general/clients/codec-support/"><span style="white-space: pre-wrap;">https://jellyfin.org/docs/general/clients/codec-support/</span></a><br><br><span style="white-space: pre-wrap;">So if we break it down..</span><br><br><span style="white-space: pre-wrap;">AV1 needs newer hardware to decode.</span><br><span style="white-space: pre-wrap;">It doesn&apos;t have to be &apos;powerful&apos; - in a case of Android TV OS -&gt; most Android TV is capable of AV1 software-decoding but need at least Android TV 10.</span><br><span style="white-space: pre-wrap;">The rest?</span><br><br><span style="white-space: pre-wrap;">Well for starters, to decode AV1 (and only decode) on PC, you need at least a GPU of RTX 3000 series or RX 6000 series. Woah.</span><br><br><span style="white-space: pre-wrap;">That&apos;s not even the shit part. For CPU &amp; its integrated graphics, you need at least Intel&apos;s 11th Gen or AMD&apos;s 7000 series. Uhhhhh.. what happened there guys?</span><br><br><span style="white-space: pre-wrap;">Oh wait!! that&apos;s not even the shittiest part!!</span><br><br><span style="white-space: pre-wrap;">For mobile, arm-based CPUs:</span><br><span style="white-space: pre-wrap;">Qualcomm: Snapdragon 8 Gen 3 series or above (!@#$%)</span><br><span style="white-space: pre-wrap;">Mediatek: Dimensity 1000 series (thanks Mediatek, the good guy here)</span><br><span style="white-space: pre-wrap;">Apple&apos;s M3 (for MacOS) , certain Exynos series (Samsung) &amp; Google Tensor on Pixels.</span><br><br><span style="white-space: pre-wrap;">I haven&apos;t even begin the part about encoding yet. That&apos;s just to decode, to play the bloody codec.</span><br><br><span style="white-space: pre-wrap;">To sum it all up:</span><br> </p></div>
        </div><figure class="kg-card kg-image-card"><img src="https://blog.adaswag.my/content/images/2024/07/Waiting-Memes-52918-1.jpg" class="kg-image" alt loading="lazy" width="707" height="398" srcset="https://blog.adaswag.my/content/images/size/w600/2024/07/Waiting-Memes-52918-1.jpg 600w, https://blog.adaswag.my/content/images/2024/07/Waiting-Memes-52918-1.jpg 707w"></figure>]]></content:encoded></item><item><title><![CDATA[Best guide I've found when setting up a homelab with TrueNAS Scale]]></title><description><![CDATA[<p><br><br>From Wendell, Level1Techs.<br><br>Why I personally think it&apos;s the best:<br>It gives you more control and make total use of your storage. In this guide, he doesn&apos;t even use the &apos;Apps&apos; feature on <strong>TrueNAS Scale</strong>, instead it&apos;s just way better to spin</p>]]></description><link>https://blog.adaswag.my/best-guide-ive-found-when-setting-up-a-homelab-with-truenas-scale/</link><guid isPermaLink="false">66921cb3a70799005ec0128f</guid><category><![CDATA[stuff]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sat, 13 Jul 2024 06:31:18 GMT</pubDate><content:encoded><![CDATA[<p><br><br>From Wendell, Level1Techs.<br><br>Why I personally think it&apos;s the best:<br>It gives you more control and make total use of your storage. In this guide, he doesn&apos;t even use the &apos;Apps&apos; feature on <strong>TrueNAS Scale</strong>, instead it&apos;s just way better to spin up a VM that you have control to. People may ask, but why not <em>Proxmox</em>? yeah you could - but <em>what if you already have a TrueNAS Scale system</em>? Anyway these discussions would lead to a bunch of opinions &amp; fanaticism. <em>This is also noob-friendly.</em><br><br>Just check it out. At the very least you&apos;ll know one way of doing it.<br><br>The written version -:<br><a href="https://forum.level1techs.com/t/truenas-scale-ultimate-home-setup-incl-tailscale/186444">https://forum.level1techs.com/t/truenas-scale-ultimate-home-setup-incl-tailscale/186444</a><br><br>The video version-:</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/R7BXEuKjJ0k?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="TrueNAS: Full Setup Guide for Setting Up Portainer, Containers and Tailscale #Ultimatehomeserver"></iframe></figure>]]></content:encoded></item><item><title><![CDATA[WSL2 (Windows) is still not up to it]]></title><description><![CDATA[<div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">Disclaimer: These are just personal thoughts/opinions from the author, inside his own head. He doesn&apos;t give a shit.</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><br><span style="white-space: pre-wrap;">After testing out the things myself, I&apos;d say - WSL2 is cool and all, much improvements but the experience is still worse than having a full blown</span></p></div></div>]]></description><link>https://blog.adaswag.my/wsl2-windows-is-still-not-up-to-it/</link><guid isPermaLink="false">669213cda70799005ec01247</guid><category><![CDATA[thoughts]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sat, 13 Jul 2024 06:13:09 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">Disclaimer: These are just personal thoughts/opinions from the author, inside his own head. He doesn&apos;t give a shit.</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><p><br><span style="white-space: pre-wrap;">After testing out the things myself, I&apos;d say - WSL2 is cool and all, much improvements but the experience is still worse than having a full blown linux distro. Moreover, there are some stuff that works on WSL2 in Windows 11, but doesn&apos;t work on WSL2 in Windows 10. WHY? </span><br><br><span style="white-space: pre-wrap;">Take the </span><a href="https://www.bleepingcomputer.com/news/microsoft/windows-subsystem-for-linux-gets-new-mirrored-network-mode/" rel="noreferrer"><span style="white-space: pre-wrap;">network &apos;mirrored&apos; mode for example</span></a><span style="white-space: pre-wrap;">. That was introduced last year. Available on WSL for Windows 11, but not on Windows 10. Yes it&apos;s still possible replicate or make it work on Windows 10, but you&apos;d have configure a bunch of things and get involve in a tangling of your own research - unlike on Windows 11, where it&apos;s easy as creating a &apos;WSL config&apos; file and telling the network service to do mirrored mode. Moreover, you&apos;d have to be on a certain update/build of Windows to even make it work, even if you&apos;re on Windows 11. They could&apos;ve documented that easily. </span><br><a href="https://learn.microsoft.com/en-us/windows/wsl/networking#mirrored-mode-networking" rel="noreferrer"><span style="white-space: pre-wrap;">And yet they didn&apos;t (like not even now)</span></a><span style="white-space: pre-wrap;">, people on certain builds of Windows 11 or any build on Windows 10 are finding out after trying it out themselves.</span><br><br><span style="white-space: pre-wrap;">Overall it&apos;s okay, I guess. But yeah I&apos;d say if you&apos;re a Windows user your whole life and never use a Linux before (and want to), don&apos;t use WSL. Just spin up any distro on your device from scratch, the installation part is so easy compared to years ago, and the things you can do is just endless. But if you PC game 24/7, stick with Windows for now. Linux is getting there yes, but there are still some hiccups with certain games.</span></p></div>
        </div>]]></content:encoded></item><item><title><![CDATA[SC on iOS, iPadOS & Apple TV]]></title><description><![CDATA[Suggested client: Infuse]]></description><link>https://blog.adaswag.my/sc-on-ios-ipados/</link><guid isPermaLink="false">6691e3e5a70799005ec0119f</guid><category><![CDATA[Guides4SC]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sun, 31 Dec 2023 16:00:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1564216329574-c839d4eedb1b?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDZ8fGlvcyUyMGlwYWRvc3xlbnwwfHx8fDE3MjA4NDc1ODh8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1564216329574-c839d4eedb1b?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDZ8fGlvcyUyMGlwYWRvc3xlbnwwfHx8fDE3MjA4NDc1ODh8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="SC on iOS, iPadOS &amp; Apple TV"><p><br>For iOS, iPadOS &amp; Apple TV usage, I&apos;d highly suggest <a href="https://apps.apple.com/us/developer/firecore-llc/id577130089" rel="noreferrer"><strong>Infuse</strong></a>.<br>Yes, it&apos;s a proprietary app but the free version is more than enough for SC.<br>The reason I don&apos;t recommend the official Jellyfin app is because, like most other OS, <em>iOS &amp; iPadOS doesn&apos;t support MKV containers with formats such as HEVC</em>. (it can, but it doesn&apos;t, end of discussion). Plus, Infuse do support a ton of good features. <br><br>Get the app on App Store. Open the app, tap on Settings.<br>Add Files. Scroll all the way down to &apos;Media Servers&apos; and tap on Jellyfin.<br>Enter SC&apos;s address, account details, and proceed. Select all the libraries you&apos;d want to sync and just wait a minute or two for it to do so - and that&apos;s it!<br><br>For more detail guidance on connecting to any Jellyfin/Emby/Plex instance, refer to this guide from Firecore, the company behind Infuse:<br><br><a href="https://support.firecore.com/hc/en-us/articles/360006462093-Streaming-from-Plex-Emby-and-Jellyfin">https://support.firecore.com/hc/en-us/articles/360006462093-Streaming-from-Plex-Emby-and-Jellyfin</a><br><br></p>]]></content:encoded></item><item><title><![CDATA[SC on Android mobile/tablet]]></title><description><![CDATA[Suggested client: Findroid]]></description><link>https://blog.adaswag.my/sc-on-android-mobile-tablet/</link><guid isPermaLink="false">66914bfba70799005ec01183</guid><category><![CDATA[Guides4SC]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sun, 31 Dec 2023 16:00:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1603566234499-85676f87022f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fGFuZHJvaWR8ZW58MHx8fHwxNzIwODQ3NTExfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1603566234499-85676f87022f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fGFuZHJvaWR8ZW58MHx8fHwxNzIwODQ3NTExfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="SC on Android mobile/tablet"><p><br>While the official Jellyfin app works fine, I highly suggest using <a href="https://play.google.com/store/apps/details?id=dev.jdtech.jellyfin" rel="noreferrer"><strong>Findroid</strong></a> instead for more simplicity &amp; smoother experience.</p><p>Findroid is available on Google&apos;s Playstore.</p><p>Install the app, add server, add account, <strong>change the built-in player to MPV</strong>. Yes, it&apos;s built-in with MPV inside so it can play all sort of formats!<br><br></p>]]></content:encoded></item><item><title><![CDATA[SC on Android TV or Google TV]]></title><description><![CDATA[Suggested client: Official Jellyfin app]]></description><link>https://blog.adaswag.my/sc-on-android-tv-or-google-tv/</link><guid isPermaLink="false">66913c49a70799005ec01157</guid><category><![CDATA[Guides4SC]]></category><dc:creator><![CDATA[Swagmastah]]></dc:creator><pubDate>Sun, 31 Dec 2023 16:00:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1526775310031-fc50d81ce518?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHR2JTIwYW5kcm9pZHxlbnwwfHx8fDE3MjA4NDczODV8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1526775310031-fc50d81ce518?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHR2JTIwYW5kcm9pZHxlbnwwfHx8fDE3MjA4NDczODV8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="SC on Android TV or Google TV"><p><br>Unlike on Android&apos;s mobile or tablet, which I&apos;d recommend Findroid as a client - for Android TV or Google TV, I&apos;d suggest using the official Jellyfin for TV app <strong>&quot;</strong><a href="https://play.google.com/store/apps/details?id=org.jellyfin.androidtv" rel="noreferrer"><strong>Jellyfin for Android TV</strong></a><strong>&quot;</strong> from Google Playstore (for now).<br><br>Enter the address of the server, add your account.<br><br>Bear in mind that you may have to change the player client within the app itself to either <strong><em>LibVLC</em></strong> (uses VLC&apos;s libraries) or <strong><em>just another external player</em></strong> of your choosing. Also, the official Jellyfin app for Android TV &amp; mobile/tablet are <strong><em>different</em></strong>, make sure you get the right one.<br><br>..and that&apos;s it, really! <br></p>]]></content:encoded></item></channel></rss>