Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

barrett ✨

@barretts.club
316 followers 514 following 1.3K posts

i work with computing nonsense 📌 Tulsa, OK 👋 they/he 🔗 barretts.club

PostsRepliesMedia
barrett ✨ @barretts.club · 01/04/2026
@kagi.com KEEP IT KEEEEEP ITTTT PLEASE DONT CHANGE IT BACK PLEASEEEEEE
screenshot of Kagi.com homepage for April Fool's day. it's themed to look like a 90s homepage, complete with tacky images, blue/purple links, and bare HTML elements without much theming
160 6
barrett ✨ @barretts.club · 24/03/2026
alternatively...
Dell Optiplex GX260
0120 12
barrett ✨ @barretts.club · 29/01/2026
mannnn adobe pulled some top-tier bullshit right here. how tf do you manage to work in an arbitrary UTF-8 blob into a GIF 😭😭😭😭 literally insane
screenshot of the Adobe "XMP embedded in GIF" section of Adobe's XMP Specification, Part 3, readable here: https://dl.photoprism.app/pdf/specifications/20120101-Adobe_XMP_Specification_Part_3.pdfsome `const` Rust expression that quickly makes the `[0x01 0xFF..0x00 0x00]` "magic trailer" that the adobe spec asks for.
230 3
barrett ✨ @barretts.club · 04/01/2026
dang, I didn't know `bincode` ceased development! (though it is NOT deprecated) the situation seems like it was kinda dire for the team. hope they're doin alright sr.ht/~stygianenti...
screenshot of the bin code library's source hut page, with the following message at the top of their README:

"Due to a doxxing incident, bin code development has officially ceased and will not resume. Version 1.3.3 is considered a complete version of bin code that is not in need of any updates. Updates will only be pushed to the in the unlikely event of CVEs. Do not contact us for any other reason.

To those of you who bothered doxxing us, go touch grass, and maybe, for once, consider your actions have consequences for real people.

Fuck off, and worst regards, The Bincode Team"
100 1
barrett ✨ @barretts.club · 03/01/2026
i am so unbelievably (and probably irrationally) proud of this. lol Rust's type system is soooo comfy, man. this'd require linting/reflection in Java/etc. 🥹
A screenshot of my Rust codebase. It displays a split screen of two windows containing the same file, "magic number .rs".

The left side, higher up in the file, shows a the item definition for a marker trait called "magic number marker", with a "diagnostic on unimplemented" attribute on the trait. The attribute will cause an error to appear to contributors if a type fails to implement the trait.

On the right side, you can see the implementation of the trait automatically.

It's not shown, but in "lib.rs", the primary trait of the crate has "magic number marker" as a supertrait, meaning it is required to be implemented! This setup prevents contributors from forgetting to add new implementors into the "magic number .rs" file.
080 8
barrett ✨ @barretts.club · 25/11/2025
dude. what kinda awful stuff happened to this SD card 😭
screenie of reformatting an sd card. beforehand, there were SIXTEEN partitions!!!!!!
070 7
barrett ✨ @barretts.club · 20/11/2025
GUYS GUYS GUYS i just found the CUTEST android (aosp) posters of all time. @deadzebra.com this is the best shit ever thank you so much 🥹 shop.deadzebra.com/categories/P...
top text: Build it!

bottom text: Nightly builds build strength.

pictured is the Android Open Source Project robot helping a crane put some red blocks into place. the text's background color is a deep amber red, but the background in the image is a starry night :)this is another poster for the AOSP! the Android robot is red, and is standing up straight like a soldier. the background is mostly a solid blue, but the poster gives off a World War 2 recruitment/at home reminder poster kinda vibe

the text reads: global variable conflict! declare with care! this message is brought to you by Android Foundry.Two Android robots, a red devilish one, and the typical green one, sit side by side. The background is a light tan. The green Android has a laptop in front of them.

the text reads: "Feature creep kills. Don't let the creep in! This message was brought to you by Android Foundry."
281 8
barrett ✨ @barretts.club · 19/11/2025
i love harassing my printer owo please print
from: contact at barretts dot club.
to: [blank] at print with me dot com.
subject: owo please print

body: omg!!! see attached file :3

attachments: 1 file attached (204.95 KiB)
071 7
barrett ✨ @barretts.club · 19/11/2025
woah, you're right! great work, then ;D
screenshot of the `ctor-proc-macro` docs.rs page.

the dependencies list for this project is completely blank, so it has zero dependencies! that's extremely surprising for a proc macro in Rust!
010 1
barrett ✨ @barretts.club · 19/11/2025
OH MY GOD IT WAS AN UNWRAP LMAOOOOOOO
When the bad file with more than 200 features was propagated to our servers, this limit was hit -- resulting in the system panicking. The FL2 Rust code that makes the check and was the source of the unhandled error is shown below:

code that generated the error
This resulted in the following panic which in turn resulted in a 5xx error:

(rust code with dumbass unwrap)

thread panicked: called Result unwrap on an Err value
020 2
barrett ✨ @barretts.club · 06/11/2025
NO WAY MAN 😭
screenshot of some Rust code. it's a type definition.

the type's derive attribute has "derive: Cope" instead of "Copy", resulting in the error message: "cannot find derive macro 'Cope'."
2131 13
barrett ✨ @barretts.club · 03/11/2025
reading through this more carefully and, apparently, Firefox added "copy link to text" functionality legendary. been blowin minds w/ the "Text Fragment" extension for over a year now, but now everyone can do so ;D
Firefox's webpage right click menu displaying "Copy Link to Highlight" when selecting some text.

Clicking it creates a text selector link. See: https://caniuse.com/url-scroll-to-text-fragment
010 1
barrett ✨ @barretts.club · 25/10/2025
my preference is 1. but you should probably find a way to make it into a proper card on mobile, you can use a bottom sheet (like either of these in my app's preliminary designs)
two alternative designs for bottom sheets to display additional media info on a gallery app for Android.

the left concept has more info, but is kinda stuffy, while the right has a header, "Image Info", but contains a little less information.
100 1
barrett ✨ @barretts.club · 17/10/2025
ohhh. ok my fear was for nothing then
petplay (public repo)

PErsonal Terminal Project overLAY

(p and e from personal, t from terminal, p from project, and l, a, and y from overlay)
000 0
barrett ✨ @barretts.club · 17/10/2025
just wanted to remind all students/spec-readers about the best way to search PDFs/slides for stuff. it's called `rga`! github.com/phiresky/rip...
screenshot of my terminal after running the following command: (start command) rga "spectral" (end command)

ripgrep-all successfully found all the stuff that other forms of search just... didn't for some reason.
073 7
barrett ✨ @barretts.club · 16/10/2025
nope :( most `std` features enable `std`, but turning it off often keeps `alloc`
screenshot of `rustc` complaining after rying to compile w/o `alloc`
030 3
barrett ✨ @barretts.club · 16/10/2025
ALL THE DECIMAL CRATES USE `alloc` PLEASE MAN PLEASEEEEE
screenshot of the `fastnum` crate requiring both alloc and core.

```rust
extern crate alloc;
extern crate core;
```
250 5
barrett ✨ @barretts.club · 15/10/2025
apparently, Rust durations are worth 139 minutes :o thank you Kagi. lol
for my search of "rust duration", Kagi said "= 139 minutes" in its top response answer box thingy.
170 7
barrett ✨ @barretts.club · 13/10/2025
ISPs should start providing cheaper routers with sponsorships
a Hatsune Miku themed ASUS gaming router
221 2
barrett ✨ @barretts.club · 11/10/2025
omg omg omg Word With Friends online is the same as it was like 14 years ago I’m 1000% getting back into this game lmao
A screenshot of the Words with Friends web interface at the URL: WordsWithFriends.com.

It looks just as it did in 2011, with slightly dated graphics and raster images that are too low-res for a modern laptop's ~4k display.
100 1
barrett ✨ @barretts.club · 06/10/2025
oh. this guy i found is literally... i mean
comparison between a speaker from Rose-Hulman Institute of Technology and the gigachad guy. 

link to the presentation: https://www.rose-hulman.edu/class/cs/csse490-mbse/SlidePDFs/session09.pdf
040 4
barrett ✨ @barretts.club · 02/10/2025
losers posing in front of AISES national conf. opening ceremony
110 1
barrett ✨ @barretts.club · 28/09/2025
this looks truly horrible, rustfmt... LOL but, hey, the type is clearer! ;D
horrible example in Rust where you destructure a struct inside a closure's parameters, but it's too long and gets pushed into multiple lines. then, it looks awful since the struct curly braces end where the closure's body begins 😭😅
000 0
barrett ✨ @barretts.club · 28/09/2025
you know, it's kinda crazy that I can trigger Clippy's `type_complexity` lint just by parsing out some XMP from a JPEG ExtendedXMP is so weird to work with lmao though tbh it's right. Rust has type aliases and I should use em
example of the `clippy::type_complexity` lint triggering on a `let mut` statement.

Clippy doesn't like my huge types lol
120 2
barrett ✨ @barretts.club · 24/09/2025
lmao love that rustc treats types exactly how we do in build scripts you know. just like "ehhhh. it's probably a struct"
screenshot of a new file in `rustc`, at path: `compiler/rustc_const_eval/src/const_eval/type_info.rs`. 

in the `InterpCx::write_field` method, before doing any actual writes, we first get the type's fields by asserting it has "one variant." 

I find that funny since that's exactly how I do it in build scripts and proc macros lmao.

by the way, this is from the INCREDIBLY EXCITING "Reflection MVP" PR, number 146923. here's a link for more info: https://github.com/rust-lang/rust/pull/146923
120 2
barrett ✨ @barretts.club · 24/09/2025
dang, this scam ycombinator github mention email was half-convincing for a sec. but more importantly, i can befriend my username neighbors 😳😮‍💨🤤
screenshot of scam ycombinator email headerscreenshot of scam ycombinator email. at the very bottom is a list of mentioned users starting with "@on"
140 4
barrett ✨ @barretts.club · 21/09/2025
top-tier meta bait
screenshot of my friend replying to this (troll) tweet about a new Meta headset, which reads:

BREAKING: Meta just confirmed that is in fact the confirmed date of 2025 of headset Meta fact now confirmed.

When Andrew "Boz" Bosworth was asked about it:
"We are currently headset rollout in the Meta 2025 headset Seattle on the during in the now."

(end Tweet)

my friend then said:

"hey, nice! wait..."
000 0
barrett ✨ @barretts.club · 19/09/2025
people are already calling this "hardware slop" lmao
151 5
barrett ✨ @barretts.club · 10/09/2025
need me a non-binary relationship (I love SQL)
powerpoint slide titled "Degree of a Relationship Set"

listed on the screen is binary relationship and non-binary relationship
010 1
barrett ✨ @barretts.club · 03/09/2025
lmao why did Discord push out the Astigmatism Update
very close-up screenshot of Discord. the user's name is from a light blue to light pink as a left-to-right gradient.

behind the name is a blur effect, which is why I made the joke of it being an "astigmatism update"
042 4
barrett ✨ @barretts.club · 01/09/2025
oooo, love that even niche Rust errors have visualizations :D
screenshot of an IDE where I'm hovering over a `const` defined in a test function.

the type of the `const` is a 2-element array of tuple. each tuple contains: 

1. an immutable reference to LazyLock of BTreeSet of StructDerivedTrait, and
2. a boolean

rustc is upset by this, providing an error that says the following: "It is undefined behavior to use this value. The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior."

Then, it shows a visualization of the allocated memory, labeling it as follows: "the raw bytes of the constant, size 32, align 8."
120 2
barrett ✨ @barretts.club · 28/08/2025
Dang, I completely thought it did more! Sure enough... 😄
An example program. I ran `cargo expand` on a sample `main.rs` containing only `unreachable!()`. Only a `panic` resulted!
150 5
barrett ✨ @barretts.club · 13/08/2025
mannn I'm about to shelve AVIF/HEIF support in my metadata parser. writing a parser w/ offsets feels like committing a crime (since you basically have to un-consume the data lol) Exif is a terrible example to follow; why are we using offsets for tiny amounts of data??? 😭😭
screenshot of ISO/IEC 23008-12 (1st edition) with markup on an example of a MetaBox's layout.

it's a simple example, showing that the MetaBox provides offsets instead of in-line data. 

I highlighted the offset + length lines, and commented with the following:

"At least they give you the length. But, wow, this is excruciating to parse, lmao! Not to mention that's AFTER the ACTUAL DATA!"
020 2
barrett ✨ @barretts.club · 07/08/2025
oh, is it not possible to do: `Ty::Variant1(binding) if binding == $expr | Ty::Variant2(VALUE_2)` in Rust's match statements? I'm getting a weird error where it's trying to `OR` the two sides lol #rustlang
the following code is shown in a code editor:

start code!

        match atom.box_type {
            BoxType::Id(a) if a == *b"XMP_" | BoxType::Uuid(XMP_UUID) => {
                log::trace!("found XMP atom! ty: {:?}", atom.box_type);

end code.

the error reads: "no implementation for `[u8; 4] | providers::shared::bmff::BoxType`"another screenshot, but the match guard was replaced with another const. the code reads:

start code

        match atom.box_type {
            BoxType::Id(XMP_ATOM_ID) | BoxType::Uuid(XMP_UUID) => {
                log::trace!("found XMP atom! ty: {:?}", atom.box_type);

end code
230 3
barrett ✨ @barretts.club · 06/08/2025
it's kinda cute that the JPEG committee calls the older version "JPEG 1" they also have the most adorable little publication page ever (jpeg.org/jpeg/documen...) listing "JPEG at 25: Still Going Strong" ...with this ultra-compressed image 🥹😭🥰
140 4
barrett ✨ @barretts.club · 24/07/2025
here's your complementary "I love that Arc<T> impls From<&str> and From<T>" of the day
an example of a string slice being coerced into an Arc open angle bracket stir, close angle bracket, using Rust's "Into" trait. 

here's the code in text form (screen readers, be wary):

```rs
impl Map {
    pub fn name(&self) -> Arc<str> {
        match self {
            Map::Custom { name, .. } => Arc::clone(name),
            Self::TinyTestMap => "Tiny Test Map".into(),
        }
    }
}
```
190 9
barrett ✨ @barretts.club · 15/07/2025
Itanium
000 0
barrett ✨ @barretts.club · 11/06/2025
also dang. I wish this were stable 🤤
I swapped out the `const` for an inline constant inside the match. However, `rustc` is pissed: it says, "inline-const in pattern position is experimental," then directs me to issue number 76,001.
000 0
barrett ✨ @barretts.club · 11/06/2025
it's almost magical how quickly `TryInto::try_into<T>` makes Rust code look like dogshit. lmao
A screenshot of code: display is a typical pattern matching expression in Rust. The resulting expression for one branch casts a byte slice into a byte array, as the size of the slice is already known and error-checked.

However, the "Try Into" trait makes the code hideous, as it requires a turbo fish on the trait, not on its try underscore into method. That means you have to wrap all your other code, which runs before "Try Into," inside of the try underscore into method. 

It looks like Go, and Go looks like shit.
130 3
barrett ✨ @barretts.club · 08/06/2025
ah yes, the crates.io ramdisk
"brazil mentioned" meme edited to say "cargo mentioned" in a data center
020 2
barrett ✨ @barretts.club · 07/06/2025
what the heck... this is so comfy TIL you can just do `thing_instance.into()` to make an `Arc<Thing>` 🥹🤤
some Rust code - nothing special. However, a trait has return types of `Arc<Thing>` on each of its functions. 

As it turns out, you can just call `thing_instance.into()` on any `Thing` to make a new `Arc`! Neat!
260 6
barrett ✨ @barretts.club · 07/06/2025
YESSSS I AVOIDED IT YESSSSS THANK YOU RUST-BINDGEN YEEEEEEEAH
A SCREENSHOT OF ME AVOIDING C++ STL TYPES AND HAVING THE BINDING GENERATION WORK
010 1
barrett ✨ @barretts.club · 07/06/2025
this is, by far, the dumbest build script I've ever written in Rust (seen worse in CMake tbh) shoutout `bindgen` and C++ for this war crime
a screenshot of my build.rs for a C++ library. `bindgen` was failing to generate correctly namespaced re-exports on the C++ class aliases, so i added a naive counter to my build script

...and it sucks. but it also works, which is insane
230 3
barrett ✨ @barretts.club · 07/05/2025
yes x11 is so good and perfect who neeeeeds wayland? we got this!! :D :D::D
GNOME on Ubuntu 22.04 showing several half-transparent versions of the desktop inside the Zed Preview window instead of showing my code editor.

it's on NVIDIA with official drivers... D:
250 5
barrett ✨ @barretts.club · 19/04/2025
ok what the in the actual FART could cause this... - rootless podman/docker can easily reach the external internet. - but, under root, both completely fail? how does that make any sense? 😭
an screenshot comparing the output of root and rootless podman in `apt update` on the default ubuntu 22.04 image. on the left, podman running under root fails to access the internet, but on the right, rootless podman has already completed its work...
110 1
barrett ✨ @barretts.club · 04/04/2025
000 0
barrett ✨ @barretts.club · 03/04/2025
yo @googIe.blog yall need to change the Google Finance icon it's pointing the wrong direction!
screenshot of Google Finance tab in Firefox. the Dow Jones is shown to be down minus 3.32 percent, but the site's favicon is shaped like a chart, with its chart going up (and it's also green)
031 3
barrett ✨ @barretts.club · 25/03/2025
noto emoji clears dont @ me
noto emoji, teasing face with tongue out
010 1
barrett ✨ @barretts.club · 17/03/2025
i'm asking because this {_0} syntax is ugly + don't want to write another parser lol
rust code with an example error enum, displaying pisserror's current format strings situation on a tuple-like enum variant.

on the first variant, `DiskError`, you can see that the format string uses {_0} instead of {0}. it's ugly and i don't like it.
000 0
barrett ✨ @barretts.club · 13/03/2025
this seems to work as a function-like macro! however, if you're doing an attribute macro, please share that code so i can better help :D
test code for a function-like macronaive implementation of a functionlike macro (probably not what op wants)
110 1