Recently I have started my journey of solving interview problems on Leetcode. To help me further build my knowledge on these practice problems I will be writing blog posts to explain my solution. This post describes what a Singly Linked List is and how I designed one in C#. I choose C# for this interview because Microsoft Visual Studio’s debugger is easy to use and makes visualizing the data as I modify it easier....
By default virt-manager with libvirtd+qemu will give you the option to pass your Virtual Machine’s audio to the host’s pulseaudio daemon. This causes some problems as you have limited options to change the value/device while inside the Virtual Machine and it can be buggy or not work at all as was my case in Ubuntu 21.04.
Use PCI Passthrough to take over your system’s sound card and usb controller To solve this problem I use VFIO’s PCI Passthrough to take the system’s sound card and usb controller away from the host operating system and give it to the Virtual Machine....
Many applications and games will refuse to boot if they detect a Virtual Machine. I’ve found there are quite a few things you can do to make it much harder for them to do this. Depending on your system load and other factors this may have a performance impact. This will not work for every anti-cheat and anti-vm software. Some kernel-level anti-cheats like Valorant’s Vanguard use various timing tricks and even hypervisor bugs to determine if you are running inside of a Virtual Machine....
Recently I made the decision to make Ubuntu 21.04 Linux my primary desktop operating system. One of the only things holding me back is a lack of support for my capture card. I decided to figure out how to use PCI Passthrough to run it inside a Windows Virtual Machine. While there are a few drawbacks explained at the end of this post you only need one monitor and one graphics card....
Recently I started a class at my university which teaches the C++ programming language. It is a fun language I have a bit of experience with already and I’ve been going through the textbook’s various exercises and have picked up on a few anti-patterns the textbook is encouraging. In the practice problems you build an std::ostream (https://en.cppreference.com/w/cpp/header/ostream) with the data you want to show the user and then output it to the screen with std::cout (https://en....
Recently I wanted more control on which bands my LTE Router connects to to improve stability and speeds. This blog post documents my experience fine tuning things on the AT&T Wireless Network.
Prerequisites This blog post assumes you have a working and fully setup Netgear M1 Nighthawk MR1100 Mobile Router, that it is already configured to work on AT&T, and has a data plan with enough data for your use case....
Recently in my discrete mathematics class we had the assignment to leave a message to the class and decrypt and respond in RSA to our peers as well. As you may be aware this type of work would be tedious to do by hand. While learning RSA is important this seemed like busywork and I didn’t want to do it. I also caught up on other coursework and took my final exam so I was pretty tired already....
Recently I accidentally deleted an important SSH key and lost access to a server running MyBB that I manage for a friend. As a result I could not make new backups to download attachments, avatars, and other files I needed from the server. Unfortunately the automated backups to Wasabi Cloud stopped after an API key was deleted from the account, additionally due to bucket lifecycle rules (enforced retention + autodelete), old backups were gone....
Over the past year there has been panic that Google plans on banning the use of ad blockers in Google Chrome. This is largely caused by misleading blog posts indicating that Google Chrome’s manifest v3 limits the deprecates the webRequest API to enterprise applications which require it. Adblockers today use this API to detect every incoming response body and remove the parts that contain the advertisement’s HTML code so Google Chrome does not load or render the advertisement....
The default behavior after closing a React behavior or any website for that matter is for the page’s local state to be lost. In a Single Page Application framework such as React this could mean you are logged out or certain setting changes are lost. This blog post explains how to persist state using the npm package redux-persist, it assumes that you have a React application which manages it’s state with Redux....