KiranWells 5mo ago • 100%
I assume you have already tried the official tutorials, but Go By Example is a great "learn by doing" kind of tutorial. Others that I found in a quick DDG search:
- https://www.w3schools.com/go/index.php - a very simple introductory tutorial
- https://www.learn-golang.org/ - an interesting tutorial that lets you run exercises in your browser
- https://go.dev/tour/list - a similar interactive tour
KiranWells 8mo ago • 100%
For anyone who is confused: This is exploiting an old soundness bug in the Rust compiler that is still present. The GitHub issue page has this comment from maintainers:
we already had a crate published on crates.io before which used this bug to transmute in safe code, see #25860 (comment).
this issue is a priority to fix for the types team and has been so for years now. there is a reason for why it is not yet fixed. fixing it relies on where-bounds on binders which are blocked on the next-generation trait solver. we are actively working on this and cannot fix the unsoundness before it's done.
KiranWells 9mo ago • 100%
To be honest, you can say the same about any large cloud provider. What happens if AWS, or Azure, or Google Cloud go down, or become terrible?
KiranWells 9mo ago • 100%
This is probably not the solution you are looking for, given your opinion of the company, but I wonder if using their 1.1.1.1 app (which acts as a mini VPN to a Cloudflare endpoint and changes your public IP) would fix that for you. The upside is it's free, the downside is that it is a Cloudflare-run VPN.
KiranWells 10mo ago • 100%
You might look into displaying images in the terminal as well; many modern terminals support showing actual images natively
KiranWells 10mo ago • 100%
Yep; sometimes I will be able to do a search and then when I try to click on a result it has me restart.
KiranWells 10mo ago • 100%
For anyone who is still confused about what causes this: Firefox launches copies of itself when creating new website instances (usually when loading a website that has not already been loaded). Because of this, if it is updated in the background (through any means; I usually see this after a manual system update), Firefox has to restart when you try and load a new site because it cannot create any compatible copies of itself, since the old version is the one that is still running and the copies would use the new (updated) version.
The solution is to only update when Firefox is closed, or restart it when it asks.
KiranWells 10mo ago • 100%
I believe you are correct; if the unsafe code can cause undefined behavior if input data is not following a specific contract, then the entire function should be labeled unsafe so the caller knows that.
The other option is to check to make sure the contract is valid, and return an error or panic if it is not. That function would be sound, as no inputs cause undefined behavior.
KiranWells 11mo ago • 100%
They said bcachefs; I don't think BTRFS has it, at least not since I last checked.
KiranWells 11mo ago • 100%
Actually looking forward to the btrfs swapfile hibernation; I have tried setting it up on my machine before but the documentation was never clear on whether it would work (or why mine wasn't).
KiranWells 11mo ago • 100%
Check out Ollama and its extensions for VSCode; might save you some money paying for other services if your computer can run models locally.
KiranWells 11mo ago • 100%
Unfortunately, I don't have experience with mangohud. Does Legacy work without it? And does mangohud work with other games?
KiranWells 11mo ago • 100%
Just going to ask this just in case: have you tried doing a full update and reboot? If you updated and have not rebooted, sometimes drivers get messed up.
KiranWells 11mo ago • 100%
Have you had any luck with hibernation with a BTRFS swapfile? My computer still does not start from hibernation, and I am not sure why, even though I followed the Arch wiki to set it up.
KiranWells 12mo ago • 100%
My computer was taking too long to start up, which I interpreted as failing to boot, but in hindsight was probably just my hard drive being slow. So, I booted into recovery mode, and ran an update. At one point, apt said "there are unnecessary packages" and would I like to remove them? I figured that apt knew better than I did (after all, maybe a package dropped a dependency), so I said yes.
It was after I noticed the very large number of packages that I suspected I messed up. Turns out, apt uninstalled the entire desktop environment, and network manager, so I had to boot into a USB drive with Network Manager installed, chroot into my main drive, and reinstall plasma. As a bonus, I think I missed the main group for the plasma desktop and only installed only most of it, so some of my extensions just didn't work anymore.
KiranWells 12mo ago • 100%
The link they use is working for me; what is the code you are using to fetch the data?
Also, dbg!()
is a very useful macro for inspecting state. Might help see what is going on.
KiranWells 12mo ago • 100%
That link seems broken (the date is wrong). This worked for me:
https://this-week-in-rust.org/blog/2023/11/08/this-week-in-rust-520/
KiranWells 12mo ago • 100%
I haven't taken it myself, but "The Last Algorithms Course You'll Need" is free and is written by The Primeagen. He works at Netflix and runs a programming-focused YouTube channel, and as far as I can tell is very knowledgeable and level-headed.
KiranWells 12mo ago • 100%
Not all ad blockers remove elements from web pages, and if they acted that predictably you could detect the ad blocker by detecting whether an expected element is hidden.
I have not looked through an ad blocker's code, but I don't believe it is that simple.
KiranWells 12mo ago • 100%
This already exists - @soatok@furry.engineer's blog already has a popup about not having an adblocker, although it is easy to dismiss. It's probably a bad idea to block content based on not having one, as detecting ad blockers is a losing battle (as YouTube is learning).
I've been interested in trying a custom mechanical keyboard, but I already have a 60% (maybe 65%?) keyboard that I don't have any issues with, so I thought making a numpad or macro pad would be a good (and maybe cheaper) alternative. I've been having a hard time finding any that don't require a soldering iron and are less than $70ish. Any good budget suggestions? I am up for assembling or disassembling things (or even programming), I just don't have a soldering iron.
I made this theme for my new desktop last fall and recently edited it to make it Catppuccin-y. The images were made using Inkscape, then exported in png and layered together to make the themes. The boot animation is a 39-frame tail swish that I also did in Inkscape, and it took *so long* to edit and export each frame. ![](https://pawb.social/pictrs/image/41d55f93-29d3-4a08-8c72-b3357f801e17.mp4)
Bonus pictures: ![](https://pawb.social/pictrs/image/f987d753-02b7-4f00-8038-24a6b7c38aa8.webp) ![](https://pawb.social/pictrs/image/8ebc1e9c-78d8-4f37-a4d8-ac7b2ba7cc90.webp) ![](https://pawb.social/pictrs/image/f69cadd6-cce4-4e9d-b10c-58bcf33a094d.webp)
I made This old setup a couple of years ago that was (nearly) fully automated with Pywal. I don't think I have the source for most of it anymore, but here is what I remember using: **WM**: xmonad **Terminal**: Alacritty + fish + starship **Bar**: Polybar **App launcher**: Rofi, based on [adi1090x's themes](https://github.com/adi1090x/rofi) **Clock widget**: Conky, using a custom background made in Inkscape **Text editor**: Micro / VSCode **Firefox theme**: blurredfox **Spotify theme**: spicetify