I’ll update you all with an answer within the next few days. I was cleaning my turtle’s tank and had a big splash of poopy shit water get right in my eye. I immediately flushed it at my sink and put some saline eye drops in. Now only God knows what comes next.
I always find myself telling myself this. Usually after I find out a hell of a f*cking life hack.
My two most recent examples:
How long have I been paying for YouTube premium, yet really wishing there was a way to block out the in-video sponsor ads too? I’ve been wishing I could do that forever. Well guess what, search up the Sponsor Block extension.
I’ve been using a WHOLE ASS WINDOWS VM to read Kindle books on my PC, since there is no Kindle app for Linux. Guess what? There’s a web app. “Kindle Cloud Reader”. How stupid of me.
TLDR always learn the options available to you. So you don’t waste your damn time.
I’ve been seeing this trend on youtube with videos titled “How to [very trivial thing] on linux”
I thought it’d be a funny thing to bust out edex-ui for, so I made my own, using the meme terminal:
Not gonna lie making the thumbnail was so fun. I spent about as much time on the video as the length of the video + the time to open OBS, but spent like 30 minutes making various shitty thumbnails lmao
Perhaps one day I’ll be a real youtuber. But for now, I will post shitty meme videos
I realized today that I’d forgotten most of the steps involved in setting up the Windows VM I use every day. This post is just going to be a quick check list of (most of) the important steps to recreating it.
For anyone else reading this, I simply wanted a vm that has access to a gpu that I can shove onto its own monitor and move my mouse freely between monitors as if it were part of the host os. So I wanted full screen, shared audio, and most importantly for the window to be contained in the host (most solutions stop at being able to change monitor input.. but then I lose all my nice linux workspaces on that monitor!
So this setup checks all those boxes. I can interact with it freely, share sound back and forth, share clipboard, everything. And since I have 4 workspaces on my upper monitors, I can swap the vm in and out just like I would with any other window. Its basically a windows “workspace”
Minus the windows part, these steps can apply for any other OS. It is absolutely seamless and there isn’t any perceptible lag in sound or input.
Setup virt manager with qemu following whatever is the latest on arch wiki
Get windows ISO, set up and install windows. Make sure to use UEFI
Make sure secondary GPU isn’t being grabbed by host OS on boot. just google it, it was quick to find the first time – but essential step
Add secondary GPU video and audio to the devices to pass through
Check to see if you need to have a patched ROM . Some GPUs require some don’t. Just try booting without a special ROM.
Do I need to specify a ROM if I want it to use default? I don’t remember. But my current vm specifies a rom in the xml
For the second GPU to work properly, it needs to be physically plugged into a monitor. Plug it into whatever monitor you want to use. The VM will share the properties with the real physical monitor. E.g. plug into 4k60 monitor and you’ll have 4k60 coming out of the vm. Plug into 2k144 you get 2k144.
If you switch the monitor to the input of what you plugged into, you will see the VM. You’ll have to do the rest of the setup like this.
On both the VM and the host, install looking glass. Updated instructions should be on the site.
Switch the input on the monitor back to the host os and confirm you can use looking-glass cli command to access the vm
Last step, to send audio through from vm to host, on both vm and host install scream audio.
For some reason on Arch getting scream to work correctly was annoying. The following command sent the audio through to pulse just fine: scream -o pulse -i virbr0 &
That should be it. If future me reads this and missed steps, just add them
Lmao! What a lofty goal that was. Here I am Tuesday night. I did finish The Selfish Gene + the extra chapter on the extended phenotype.
But I pretty much screwed my weekend up by getting too drunk Saturday and more or less never left my bed to do anything on Sunday.
I’m currently about 50% done with the other 3 combined (didn’t wanna go all the way through, been finishing up). I’ll finally finish my quick review on The Selfish Gene soon and then do the same for the other 3, hopefully tomorrow or Thursday.
I’ve fallen super behind on reading some of the things I’ve wanted to, and my pile of unread books grows ever larger.
I’m going to challenge myself – by the end of this weekend, I want to finish 4 books (3 are very short):
The Selfish Gene – Richard Dawkins
I’ve taken waaaaay too long to finish this one. I’ve just been “busy” doing other shit (not too busy to finish), but man it is so so good. This will be the one I try to knock out first to finally just be able to say I’m done with it
The Pyramid Principle – Barbara Minto
If you’re here reading this you’ll know my writing is not clear most of the time. Honestly, even if I go through this book and put a bunch of effort into applying what it teaches, it probably won’t make much of a difference here (at least for posts like this) because I write this stuff without any second thought, editing, whatever. Very stream of consciousness. I approach my typing speed limit writing on here lol
The Elements of Style – William Strunk Jr.
The same idea as the one above. I would love to feel confident in my writing abilities.
The Life-Changing Magic of Tidying Up – Marie Kondo
My dad got me this a while ago and I never actually read it. God knows I need to
So yeah. If I can power through and finish these by the end of the week I’ll be pretty happy. The middle two are both quite short, but I have quite a ways to go with The Selfish Gene. I’m at a good stopping point for a lot of the coding-related stuff I’ve been working on, so hopefully I can allocate a bunch of time to this!
Will update this Sunday night. Let’s see how far I get!
So I haven’t posted shit and I fell behind on finishing the book(s) that I had originally planned. My brain goes all over the place and I suck at sticking to one thing. Oh well. I did finish something, and that is Network Programming with Go by Jan Newmarch.
With blockchain being at the top of everyone’s mind these days I wanted to learn a bit about networking and distributed computing. I also figured I’d learn Go while I was at it, and this book fit the bill perfectly.
I don’t have much to say about it other than I thoroughly enjoyed working through it. Hence why I actually finished it in its entirety. The GitHub repo I put all the code in can be found here. 68 commits and 10 days later, I am done! And I’m so glad to be done. Man, if I could keep this productivity up and cover that much content every couple/few weeks, I will be able to make some really cool stuff some day.
I’m think I’m going to finally get back on track to finish The Selfish Gene by Dawkins while I go through my next CS book. I haven’t decided whether I want to go through a cryptography book or a distributed computing/blockchain book. A cryptography book would likely help with some of the background, but man I also just wanna go straight to learning more about distributed systems.
I also really need to get back on the real estate grind. Zillow changes their file naming scheme pretty much constantly and I haven’t built anything to more easily keep up with those changes yet. Bastards.
IDK. I’ll post again here when I figure out what I want to do next.
Also sorry that I haven’t kept up with (what I had originally promised would be daily) updates to the math puzzles. I still do some once in a while, but my guess was that approximately 0 people cared. Let me know if that assumption is wrong I guess?
This might sound corny or cheesy or whatever but I honestly don’t care, I’m so happy. All my life playing games, I’ve wanted to be in the top tier of something. Today and forever into the future, I can finally say I did it.
I’ve been grinding out TFT (Teamfight Tactics) with my boy Austin, and tonight we both got to the highest possible ranked tier in one of the game modes, Hyper Roll. It’s called Hyper Tier and has a sweet emblem:
So that’s it. No one can ever take away the fact that I got the highest possible tier in a game I played. It also makes me feel good that it was a strategy game (although admittedly a dumbed down version of the full TFT mode).
I haven’t updated a damn thing on my reading list. Why? Well, there are a couple reasons for that.
#1 is that The Selfish Gene is fairly long. And I’m enjoying it so god damn much, I am really spending a lot more time rereading and thinking about what Dawkins is saying than I do in most books. A big part of that is also definitely the fact that it is very new to me. I always sucked ass at biology in school. To me, biology was one of the subjects that was all about memorization. And in high school, that is pretty much true. But wow, this book is so conceptual that it makes me want to scream.
Why didn’t I learn about biology like that in school? Anyways. I’ll save that for the post I make about that book. The real real reason I haven’t updated my reading list is that I’ve spent HOURS AND HOURS AND HOURS on BITCLOUT.
What is BitClout?
I’m not here to explain that to you, they’ve done it themselves:
But boy oh boy. To a data scientist, a social media that I can have full access to all the data? A wet dream… or so it would have been before BitClout actually came out.
The platform has tons of issues. Some people on twitter say the blockchain is complete and utter dogshit. I don’t know enough about blockchains to even have an opinion.
95% of the posts read like your average garbage LinkedIn content but even worse because now there is a monetary incentive to get followers.
But regardless, there have been so many social media alternatives that have had varying degrees of success, and the fact is, BitClout allows anyone to build social media (or more if you think far enough outside the box) on top of the BitClout blockchain with a built in, unique payment mechanism.
As of this second, Friday, May 21 2021 1:43 a.m., this is what my little profile blurb looks like. It looks like any other social media but with a couple additions – the information about my creator coin.
Basically, anybody can trade their $BitClout for specific creators creator coins. Creator coins follow a set $BitClout to $CreatorCoin distribution as shown below:
So creator coins can get created or destroyed as people trade in their $BitClout for them or sell the creator coin back for $BitClout. The more coins get minted, the more the price goes up. A given amount of minted creator coins will always go back to the same amount of $BitClout, so it is really a matter of when you buy or sell someone’s token.
HEADS UP if you plan on making an account, set your founder reward percentage to 100% at the start, or else you’ll have a bunch of people buy your first few tokens when they’re extremely cheap, which means you’ll have to spend a lot more money to get your own tokens later on down the line.
But yeah. I looked into a ton of shit on BitClout and tried some things. Here is what I’ve done so far:
My BitClout Doings
I attempted to make a bot that buys people’s coins immediately after their accounts are created. I was damn close, but somebody else’s bot was faster. I couldn’t figure out how to sign transactions using the API endpoints. I refuse to believe the other guy’s bot used selenium, because my selenium implementation just was not cutting it.
BUT, honestly I think the dude wasted all his money. The % of new accounts that were fake (and likely made to get a few cents from the coin-buying-bots every time) went up MASSIVELY in the last couple weeks. I bet the guy buying these coins will get a pretty shit return overall. Or maybe I’m just salty that he beat me and he’s hooping now. No way to really know.
That brings me to my second point: a TON of the new profiles are spam accounts. I checked this all sorts of different ways and every method I tried I consistently got 50-60% of accounts were spam. My favorite method to test whether accounts were spam or not was to check the profile pictures used. When you create a profile, you aren’t able to select a default picture, and you have to choose a profile picture.
So when people made new accounts, I would check to see how many times their exact, pixel for pixel, profile picture had been used in the past. I hand checked a bunch to see the threshold at which point it seemed like the accounts were for sure not real. Even at 3 copies of the same exact picture, most of the accounts looked 100% fake, and so that was my criteria. There were several profile pictures that had been used thousands of times each. I checked them, and saw that the guy with the coin-buying bot had bought all of their tokens (at least all of the ones I sampled). Poor guy. Maybe you were faster than me because you didn’t check these simple things.
I’ve been learning Go and to some extent TypeScript to keep up with the core code. I couldn’t read a single line of it in the beginning. Now some of it makes sense! I’ve also been going through some very basic blockchain implementations to get a better sense of how consensus actually works. Maybe one day I’ll be a goated blockchain dev. Probably not but lol who knows