<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jonathan859</title><link>https://jonathan859.com/</link><description></description><atom:link href="https://jonathan859.com/rss.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:jps@jonathan859.com"&gt;Jonathan&lt;/a&gt; </copyright><lastBuildDate>Sat, 10 Oct 2026 10:23:07 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Remote Control Your Windows PC from Android with Full USB and Audio Support using VirtualHere &amp; SoundRemote</title><link>https://jonathan859.com/posts/remote-controling-your-windows-pc-from-android/</link><dc:creator>Jonathan</dc:creator><description>&lt;p&gt;Ever wished you could properly type and edit text like you're used to it on Windows with NVDA on your Android? Browse the web, chat, play a MuD wherever you are? Here you go. With this solution I've been enjoying a stable Windows experience with only my phone and a simple wireless keyboard from Frankfurt AirPort, hotels, or islands hundreds of miles away from my physical computer, no more clunky Laptops, having to hotspot them, just to have NVDA Remote with no audio. Yes, you see, I can't stop being amazed about this. And if you've searched for something like this, you will be as well.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;

&lt;h3&gt;Disclaimer&lt;/h3&gt;
&lt;p&gt;I'm aware this seems like a lot of work, but I can tell you that after you've set it up once it's really easy to use and quite understandable. If you have any questions I'd love to answer them on Mastodon or in the comments. Please also make sure to carefully read the requirements to understand if this solution is the right one for your needs and budget, as possibly includes getting other/new hardware, and proprietary software.
I would also like take the opportunity and thank techsinger@tweesecake.social on Mastodon for pointing me to this solution, thank you so much.&lt;/p&gt;
&lt;h3&gt;Requirements&lt;/h3&gt;
&lt;h4&gt;Hardware&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;An Android device to control the PC with, in my case a Pixel 9 Pro. As far as I'm aware, the USB Server we're using is not available for IOS, and you'll need to find another solution for it.&lt;/li&gt;
&lt;li&gt;A PC you want to control. In this tutorial I use Windows, though the USB client which handles the USB input is also available for Linux and Mac. I haven't tested it though, and you'll need another audio solution because SoundRemote is Windows-Android only.&lt;/li&gt;
&lt;li&gt;A keyboard with an USB C dongle or cable. &lt;strong&gt;Important&lt;/strong&gt;, bluetooth will not work, we need an USB connection in any form. I personally love the Logitech MX Keys Mini with their Logitech Bolt USB Receiver, but as long as it's connected through the USB port of your phone it really doesn't matter.&lt;/li&gt;
&lt;li&gt;Not required but certainly recommended is an USB C Hub like &lt;a href="https://www.amazon.de/dp/B0CR6JBJDH"&gt;this&lt;/a&gt; (replace the .de in the URL with your country such as .com/.ca).
This is useful in case you want to connect headphones or a braille display in addition to the keyboard.&lt;br&gt;
On that note, the power consumption with this solution is actually moderate, but be aware that you can't charge your device while you're doing this, so you might also want to look into a wireless charging powerbank, or a hub that supports power delivery.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Software&lt;/h3&gt;
&lt;h4&gt;VirtualHere&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.virtualhere.com/android"&gt;A license for the Android USB Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.virtualhere.com/usb_client_software"&gt;The Windows USB Client&lt;/a&gt;&lt;br&gt;
Please feel free to read their explanation about the product as well to understand what it does and what its limitations are.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;SoundRemote&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/SoundRemote/client-android/releases/"&gt;Android client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/SoundRemote/server-windows/releases/"&gt;Windows Server&lt;/a&gt;&lt;br&gt;
You don't have to use SoundRemote, things like SonoBus or SoundWire will also do the job, are overhead in my opinion though.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;VPN&lt;/h4&gt;
&lt;p&gt;You will need some sort of way to connecting to your computer when you're outside of your local network. A VPN connection to your computer is the most obvious and secure solution for this. I won't be going too much in depth about what that is, in case you don't know, look it up or read &lt;a href="https://tailscale.com/docs/concepts/what-is-tailscale"&gt;this&lt;/a&gt; and come back here. I strongly recommend &lt;a href="https://tailscale.com/docs/how-to/quickstart"&gt;Tailscale&lt;/a&gt; for this matter, but if you already have another VPN such as wireguard in place, that should technically also work, I haven't tested it though. In any case, you will need the IP of your computer. If you wanna expose everything to your public IP, well, I won't stop you. But please just use a VPN...&lt;/p&gt;
&lt;h3&gt;Setup&lt;/h3&gt;
&lt;h4&gt;Setting up the VPN/Tailscale&lt;/h4&gt;
&lt;p&gt;I would just repeat what has already been written down better than I could by trying to explain this. As mentioned above, make sure both your Android device and computer you want to control are on the same network,´, and you have noted the IP of your computer, be that within your Tailnet, or any other VPN solution.&lt;/p&gt;
&lt;h4&gt;Setting up VirtualHere&lt;/h4&gt;
&lt;p&gt;Run the Virtual Here USB Client (vhui64.exe) on your Windows Computer. Press Shift+F10, or the applications key, and go to license. Paste in the license key you've received when purchasing the license for Android. Make sure that Auto-Find USB Servers as well as Auto-Use All Devices are checked, and you install the client service.&lt;br&gt;
Now you can open the Virtual Here USB Server on your Android device, and plug in your keyboard into your phone. If everything worked, you should now be able to use the keyboard as it was connected to your Windows PC. If you get a prompt asking if you want to allow Virtual Here USB Server to use this USB Device or something similar, accept that of course. You can also go to more options and license to check if your server has been successfully licensed.&lt;/p&gt;
&lt;h4&gt;Setting up SoundRemote&lt;/h4&gt;
&lt;p&gt;Almost done, and this is a really simple one. Run the SoundRemote server you've downloaded on your Windows device. You'll probably want to disable NVDA progress bar announcements as it has some weird audiometer that will kick in and yeah, just find out XD.&lt;br&gt;
You will need to leave this running whenever you want to connect/hear audio on your Android.&lt;br&gt;
On your Android device you open the SoundRemote app, put in the IP of your computer, hit connect, and enjoy.&lt;/p&gt;
&lt;h3&gt;From a shut down computer at home to access from anywhere&lt;/h3&gt;
&lt;p&gt;This section will describe a few tips and tricks you can set up on the long run, to ensure you'll always have access, even if power goes out and returns, your computer restarts, you lose connection unexpectedly etc.&lt;/p&gt;
&lt;h4&gt;Powering on the computer&lt;/h4&gt;
&lt;p&gt;You could use Wake On LAN using a device such as a Raspberry Pi to power on your PC. &lt;a href="https://tailscale.com/blog/wake-on-lan-tailscale-upsnap"&gt;See this Tailscale tutorial&lt;/a&gt;, I suggest you replace UpSnap with GPTWOL though, as it is more accessible.&lt;br&gt;
You could also use a Smart Outlet connected with your Google Home or similar software, and set your Computer to automatically boot up when it gets power in the BIOS.&lt;/p&gt;
&lt;h4&gt;Logging in&lt;/h4&gt;
&lt;p&gt;You can either use an automatically connecting NVDA Remote session, or use Virtual Here as a service which will also make it run on secure screens, and let you type in your password. I haven't found a way to get sound/speech without NVDA Remote though.&lt;/p&gt;
&lt;h4&gt;After login&lt;/h4&gt;
&lt;p&gt;Well, now you can just use your computer. Put SoundRemote on a keyboard shortcut to start it through Virtual Here, put it in autostart, or start it through NVDA Remote, the choice is yours.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;That's all from me so far. I hope you enjoyed this, and it helped. If so, please let me know on Mastodon, @jonathan859@someplace.social.
Until next time.&lt;/p&gt;</description><guid>https://jonathan859.com/posts/remote-controling-your-windows-pc-from-android/</guid><pubDate>Tue, 24 Feb 2026 22:00:00 GMT</pubDate></item><item><title>Graphene OS - My experience as a visually impaired newbie</title><link>https://jonathan859.com/posts/graphene-os-my-experience-as-a-visually-impaired-newbie/</link><dc:creator>Jonathan</dc:creator><description>&lt;p&gt;I've been a happy Pixel 9 Pro user over the last year, and while I enjoy stock android, and some Google features are certainly convenient, with the raising concern about privacy and control, I wanted to take a look at my options. And that rather sooner than later, as Samsung, for example, &lt;a href="https://www.sammobile.com/news/say-goodbye-to-your-custom-roms-as-one-ui-8-kills-bootloader-unlock"&gt;no longer allows unlocking of the bootloader on their devices&lt;/a&gt;. Well luckily I got a Pixel, but doing that on my main phone with all my data, uh na thanks. So shoutout to the guy on Kleinanzeigen (people outside of germany might know it as ebay) who sold me a Pixel 6 Pro with a brand new original battery in decent condition (expect for a few dead pixels I don't care about anyway) for only 50€, couldn't have a better testing device. So let's dive right in.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;

&lt;h3&gt;What is Graphene OS?&lt;/h3&gt;
&lt;p&gt;I don't wanna say anything wrong, so I encourage you to just &lt;a href="https://grapheneos.org"&gt;checkout their website&lt;/a&gt;, if you wanna know all the details.
In short: It's an alternative OS you can flash on your Google Pixel device instead of the default Android it ships per default. Graphene OS brings you more control, privacy and security.&lt;/p&gt;
&lt;h3&gt;Flashing Graphene OS&lt;/h3&gt;
&lt;p&gt;Flashing is ridiculously easy, and I got through it in about 10 minutes. There is not a lot to say about it in general since the &lt;a href="https://grapheneos.org/install/web"&gt;web installer&lt;/a&gt; guides you through everything, explaining what you have to do and why. Make sure you're using one of the supported browsers, I had to leave FireFox for Chrome, but well.
Accessibility wise, I used Envisions or Seeing AI's instant text recognition features whenever it was required to interact with the boot loader. You navigate through the options using the up and down volume keys. Just point another phone running one of the mentioned apps at the device's screen showing the bootloader (preferably in the middle to upper right display corner). Whenever you navigate through the options and the text changes, you should hear the new option spoken out. Confirm it by pressing the power button.&lt;/p&gt;
&lt;h3&gt;Setup&lt;/h3&gt;
&lt;p&gt;Since initial setup is not yet accessible, as there is no default TTS voice installed, you'll need to ask a sighted person for assistance. Unless you have a bit remaining vision like me and want to fiddle around with zoom, well I certainly didn't. Over all you'll want someone to go through the setup dialogs with you and then install a TTS of your choice, such as eSpeak or RH Voice. There are different ways to do this such as preparing the APK on an USB Stick, or downloading it from F-Droid or similar platforms.
I initially wanted to just download E-Speak from F-Droid, but as the person who helped me had issues selecting a download location with the default Graphene OS browser, I quickly put the APK on an USB Stick, and we got it installed through the files app. According to &lt;a href="https://grapheneos.social/@GrapheneOS/116008008471947541"&gt;a response to a post of mine by Graphene OS on Mastodon&lt;/a&gt; this behaviour is intended, or to phrase it differently, the issues my assistance faced were probably just a misunderstanding, so feel free to give it a try anyway. Note though that at least for E-Speak, you gotta be a bit patient after installation, as the thing takes a bunch of time loading or doing god knows what before deciding to actually speak to you.
Right, so now that this is out of the way, let's start exploring.&lt;/p&gt;
&lt;h3&gt;Getting started / Apps&lt;/h3&gt;
&lt;p&gt;From this point on you can basically explore anything on your own, do whatever you want and go crazy, I figured I still include a small list of things I did to get started.
The same way I installed the TTS, using an USB Stick for convenience, I installed &lt;a href="https://github.com/ImranR98/Obtainium"&gt;Obtainium&lt;/a&gt;. This is an app that lets you install and update APKs from different sources such as GitHub releases. I added Bitwarden there in order to have access to my passwords, for example to sign into the Google Play Store.
Before going on with the apps, let me just very quickly say that of course, I did a few tweaks in the settings which were mainly personal preference such as enabling dark mode, changing to 3 button navigation bar etc, everything is accessible and generally as you'd expect it, so no need to go really in-depth here. If you wanna know about any features or stuff that is not covered here, check their website or hit me up on Mastodon and I'll try my best to answer it.
So, on we go. I signed in to my Bitwarden. For some reason my Yubi Key would not trigger any reaction, though to be fair I'm not experienced with this thing so maybe I just need to have the Yubiko authenticator app installed as well, haven't tried, so just used a TOTP and moved on. I signed into the Google Play Store as well, and you can guess which app I first installed. Yup, of course. The beloved eloquence TTS. Well what can I say, works great, and in the process I recognised that Play Store is really not getting any exceptions here as it is the case on stock Android. You explicitly have to grant it the install apps permission as well as confirm every installation with the package installer again.
Next App was my german banking app Sparkasse. Sadly I wasn't successful with this one, as it blocked TalkBack from seeing any content, I guess the open source variant Graphene OS is bundling is not accepted by this and perhaps other banking apps. Might be worth a try getting Google's official TalkBack on there, but this would be for a blog post on it's own, lmk if you want me to try it.
Right, that's actually it for this part. I could go on about which privacy apps I like and want to eventually put on this device because I want a cool privacy respecting phone and such, but this is as well content for a post or page on it's own. Again, letting me know you want this will probably motivate me to do it faster.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Graphene OS is definitely something interesting to tinker around with, especially if you care about privacy and want to be in control. Personally, I do, but I'm also quite happy with the stock Android and the new/up to date AI features such as Gemini image descriptions in TalkBack. Once Graphene OS has bundled their own TTS implementation (read more about it &lt;a href="https://grapheneos.social/@GrapheneOS/116008353696106187"&gt;in this Mastodon response to a post of mine&lt;/a&gt;), I would look into eventually switching to it on my main phone as well. You do have to be aware of the disadvantages though, such as banking apps likely not accepting the bundled TalkBack, needing sighted assistance for initial setup etc.&lt;/p&gt;
&lt;h3&gt;Request for feedback&lt;/h3&gt;
&lt;p&gt;Hey, thanks for reading this post, and reading on to this point. This was in fact my first very own blog post, no AI, no translator, just me, a german teenager blindie wanting to share their interests and discoveries. I'd seriously appreciate if you could leave me some feedback on &lt;a href="https://someplace.social/@jonathan859"&gt;Mastodon (@jonathan859@someplace.social)&lt;/a&gt; or in the comments. I'd love to do this more often, so please let me know what I could improve.&lt;/p&gt;</description><guid>https://jonathan859.com/posts/graphene-os-my-experience-as-a-visually-impaired-newbie/</guid><pubDate>Mon, 23 Feb 2026 22:00:00 GMT</pubDate></item></channel></rss>