(BLM) Sean Barrett Profile
(BLM) Sean Barrett

@nothings

13,982
Followers
380
Following
3,316
Media
68,945
Statuses

๐Ÿณ๏ธโ€๐ŸŒˆally, gamedev (Thief, Promesst), Indie Game Jam cofounder, popularized C header-file libs w/stb, @ Epic Games. "It smells like if celery was mad at you."

Kirkland, WA
Joined March 2007
Don't wanna be here? Send us removal request.
Pinned Tweet
@nothings
(BLM) Sean Barrett
1 year
Time to update my pinned post... Still vaguely hoping Twitter can survive pedo guy, but if not, you might find me at: bluesky: mastodon: cohost: I'm not on Threads and will never be.
1
1
21
@nothings
(BLM) Sean Barrett
18 days
Seven years later, Discord still doesn't install to Program Files, still creates a new differently-named install folder in AppData for every version.
@discord
Discord
8 years
@Stevoisiak It's because we use the Squirrel Installer, it doesn't offer much customization, we're working on our own customer installer.
24
0
81
57
531
9K
@nothings
(BLM) Sean Barrett
2 months
Why I never report bugs.
Tweet media one
99
93
5K
@nothings
(BLM) Sean Barrett
6 years
@innesmck @JPdeRuiter 13 dogtoes in a farniwoop.
19
68
2K
@nothings
(BLM) Sean Barrett
6 months
This is the correct way to code this.
47
53
2K
@nothings
(BLM) Sean Barrett
2 months
@pete_tnt dude, I *already* wasted my time tracking the issue down. if instead of reporting it as an issue I had filed a PR for it, they would have rejected the PR and I would have wasted even MORE time. this interaction does NOT make me feel like submitting a doc fix is a good use of time
6
0
1K
@nothings
(BLM) Sean Barrett
7 years
Wacky consequence of rolling shutter on camera filming a bullet strike on a balloon. (via @standupmaths )
Tweet media one
14
330
962
@nothings
(BLM) Sean Barrett
6 months
There is some confusion about my meaning, so let me write yet another thread expanding on it that most people replying won't see. I don't just mean in the sense of "it's an indie game, fuck it, if it works, ship it". I mean in the sense that this is stylistically correct. (1/n)
@nothings
(BLM) Sean Barrett
6 months
This is the correct way to code this.
47
53
2K
12
59
935
@nothings
(BLM) Sean Barrett
3 years
There's no such thing as a billionaire philanthropist.
Tweet media one
4
190
638
@nothings
(BLM) Sean Barrett
2 years
Tweet media one
16
130
611
@nothings
(BLM) Sean Barrett
4 years
Tweet media one
10
102
605
@nothings
(BLM) Sean Barrett
5 years
game development
Tweet media one
6
78
588
@nothings
(BLM) Sean Barrett
2 years
Tweet media one
11
4
570
@nothings
(BLM) Sean Barrett
9 years
On charging $20 for a game (by @HughSJ ):
Tweet media one
21
415
547
@nothings
(BLM) Sean Barrett
5 years
Finally announced, the PS5 has RAD's Kraken decompressor (from Oodle) implemented in hardware, able to decode 5 GB/s data. (Typically 8-9 GB/s output, capped at at most 22 GB/s.) [I edited this screenshot to make it smaller but still readable, hence the weird artifacts.]
Tweet media one
17
82
536
@nothings
(BLM) Sean Barrett
2 months
@the_engi_nerd you mean me?
1
0
469
@nothings
(BLM) Sean Barrett
4 years
0
103
446
@nothings
(BLM) Sean Barrett
6 years
Dear indie game devs: here are 3 different actively-growing PBR public domain texture sites. (There may be more, but these are the three I currently support on Patreon because they're CC0.) โ€ข โ€ข โ€ข
3
153
427
@nothings
(BLM) Sean Barrett
13 years
I'm tired of clueless vi-haters regurgitating claim vi has two modes, one which beeps and one which destroys input. THOSE ARE THE SAME MODE.
12
632
417
@nothings
(BLM) Sean Barrett
5 years
think it sketch it scope it pitch it spec it case it plan design it code it build it link it run it test it change it break debug it change it test it change it test it change it test it break debug it change it test it change it test it change it test it break revert it
20
94
418
@nothings
(BLM) Sean Barrett
6 years
Tweet media one
10
129
404
@nothings
(BLM) Sean Barrett
8 years
Just realized we've had twenty years of consumer GPUs. 3dfx Voodoo: 20 years old last October glquake: 20 a month ago Riva128: 20 this May
36
184
383
@nothings
(BLM) Sean Barrett
17 days
@zaoo Yep, that's why. That's the reason why I personally care, not Program Files vs AppData, and why I investigated and found this tweet.
2
0
374
@nothings
(BLM) Sean Barrett
2 years
Thinking about the big surprise in X-Com: UFO Defense (1994) when the aliens attack your base, which you've been building without knowing there's a scaled-up isometric combat version of it that you'll have to defend, and, too late, you realize how indefensible your layout is.
Tweet media one
Tweet media two
9
42
363
@nothings
(BLM) Sean Barrett
3 years
The whole Internet loves Rasmus Lerdorf, the PHP creator who reached some higher level of coder enlightment by hating programming. *5 seconds later* We regret to inform you that Ledorf renamed PHP functions to better distribute their hash values when the hash function was strlen.
@woketopus
woketopus
3 years
The guy who created PHP (Rasmus Lerdorf) appears to have reached some higher level of coder enlightenment
Tweet media one
Tweet media two
Tweet media three
Tweet media four
121
5K
20K
7
54
352
@nothings
(BLM) Sean Barrett
5 years
It used to be that you only saw this style of camera movement in videogames. It wasn't physically possible in the real world. So I kept looking for level-of-detail pop-in.
13
50
342
@nothings
(BLM) Sean Barrett
6 months
I wish I could insert a quote of these tweets from @innesmck at the top of the thread:
Tweet media one
2
21
340
@nothings
(BLM) Sean Barrett
6 years
I will never get past the fact that the Uber autonomous vehicle killed a pedestrian because Uber chose to have the car NOT err on the side of braking due to too many false positives. Everyone in the chain of command on this decision should be in prison.
10
67
310
@nothings
(BLM) Sean Barrett
1 year
Released stb_image_resize2.h. Long-awaited major rewrite by Jeff Roberts. Old version in deprecated/stb_image_resize.h Claimed 2-5x faster scalar, 4-12x faster w/SIMD. Breaking API changes. Porting instructions included at top for simple API use case.
7
41
308
@nothings
(BLM) Sean Barrett
6 years
LRT: Most significant takeaway from "Marvel's Spider-Man: A Technical Postmortem": The game's fictional Manhattan has 1202 alleyways for crime to happen in. There are only 7 alleys in real-life lower Manhattan.
Tweet media one
3
65
295
@nothings
(BLM) Sean Barrett
2 years
@JossFong Joss, why are you helping the aliens figure out which of them should run for office?!??!!!!
0
0
296
@nothings
(BLM) Sean Barrett
7 years
"Fire your Ricks" is probably good advice, but this offers an interesting counterpoint to a particular "Rick" firing.
10
164
286
@nothings
(BLM) Sean Barrett
6 years
0
5
253
@nothings
(BLM) Sean Barrett
6 months
*for an indie dev to code this
5
0
282
@nothings
(BLM) Sean Barrett
3 years
Classic bad advice: "I was successful, so everyone should do that I did." I've seen many GDC talks where game companies who succeeded with their 1st game attribute that success to specific business or design choices they made, even though that conclusion is totally unjustified.
18
15
274
@nothings
(BLM) Sean Barrett
6 months
Criticisms of the code mostly fall in two camps: performance, and style. Performance is irrelevant. It's written in the interpreted language Lua, it does multiple hash table lookups per if, but that doesn't matter, it runs once per frame, computers are fast.
8
0
281
@nothings
(BLM) Sean Barrett
9 years
Tweet media one
5
229
260
@nothings
(BLM) Sean Barrett
4 years
I was unaware of this historical precedent for the extended assignment operators in C/C++. I don't know how much further it goes back; this calculator is from 1969.
Tweet media one
6
43
249
@nothings
(BLM) Sean Barrett
6 months
It reminds me of a pattern I noticed in classic interactive fiction / text adventure development systems. In most adventure games, everything is bespoke; you don't have six hats that all have hat-ish behaviors.
@nothings
(BLM) Sean Barrett
6 months
This is the correct way to code this.
47
53
2K
3
13
250
@nothings
(BLM) Sean Barrett
2 years
I suppose I shouldn't just make this claim without clarification, & since _for now_ Twitter still lets me post more than 20 tweets in a day, I give you: A History of 3D Computer Graphics Math Conventions and How They've Changed Over the Years ๐Ÿงตtotally unresearched, from memory
@nothings
(BLM) Sean Barrett
2 years
This of course reminds me of this wonderful chart (by Freya Holmer, seemingly). (The bottom right corner is the correct one, although Z-up only matters in world space, not so much camera space, so APIs and modelling programs get a pass, leaving Unity as odd one out.)
Tweet media one
12
15
144
7
34
250
@nothings
(BLM) Sean Barrett
8 years
"Why Frustum Culling Matters, and Why It's Not Important" aka what gamedevs mean by "that's just frustum culling"
12
94
244
@nothings
(BLM) Sean Barrett
3 years
new versions: stb_image.h stb_image_write.h stb_vorbis.c stb_truetype.h stb_ds.h stb_dxt.h stb_textedit.h stb_image_resize.h stb_sprintf.h stb_rect_pack.h stb_divide.h stb_tilemap_editor.h stb.h Addressed most github PRs/issues that were not enhancements
6
39
241
@nothings
(BLM) Sean Barrett
4 years
Enjoy hand-optimizing assembly language for fun? I've made a game for you. HOVALAAG Program a 12-bit VLIW computer to solve one of 13 problems. Use social media to compare the speed & size of your solutions to those of your friends.
Tweet media one
18
71
240
@nothings
(BLM) Sean Barrett
6 years
@JPdeRuiter @innesmck Naturally (here) there are 8 fluid ounces in a cup, 2 tablespoons in a fluid ounce, and 3 teaspoons in a tablespoon.
9
4
213
@nothings
(BLM) Sean Barrett
6 years
stb_image 2.20 stb_image_write 1.10 stb_truetype.h: 1.20 stb_sprintf: 1.06 stb_rect_pack.h: 0.99 stb_vorbis: 1.15 stb_leakcheck: 0.5 stb_textedit.h: 1.13 stb.h: 2.32 and other minor changes. Last stb lib update was a year ago, 2018-02-11! Whoops!
6
64
217
@nothings
(BLM) Sean Barrett
3 years
@SAMGREIS @Campster Obviously people can tell with their eyes and don't need this made explicit, but I did this just for my own satisfaction.
Tweet media one
3
3
204
@nothings
(BLM) Sean Barrett
2 months
I never talk about work, so here's this... Back in 2019, at RAD, I was working on a new perceptual audio codec, roughly Vorbis quality/size trade-off, but designed for SIMD decode for optimal performance in games (that may play many sounds). Finally shipped now in iOS Fortnite.
4
6
219
@nothings
(BLM) Sean Barrett
7 months
Protip: In C, allocate arrays with malloc/calloc using sizeof() the variable, not the type: foo *arr = malloc(num_arr * sizeof(arr[0])); not foo *arr = malloc(num_arr * sizeof(foo)); If you change the type of 'arr', the first is still correct, the second is wrong.
8
14
206
@nothings
(BLM) Sean Barrett
3 years
@Vinikdev @Franrekk I made a catalog many years ago. (Even though I'm not a pixel artist.)
Tweet media one
3
21
200
@nothings
(BLM) Sean Barrett
6 months
Balatro is a game with lots of unique playing card Jokers, each with its own ability. As a result, it has what I called "bespoke" code; each such unique joker need custom code to implement the unique behaviors for that joker.
3
0
202
@nothings
(BLM) Sean Barrett
7 years
I find hiding pointerness behind typedefs reduces clarity. But it was many years into my C programming career that I learned you didn't have to do typedef void (*callbackType)(int x); callbackType mycb; but could instead: typedef void (callbackType)(int x); callbackType *mycb;
9
27
196
@nothings
(BLM) Sean Barrett
5 years
It's sad that we've reached the point with C++ where I don't know if this person is serious or trolling.
Tweet media one
13
18
196
@nothings
(BLM) Sean Barrett
1 year
It is weird to me that people don't think "the user experience is worse in later OSes" is a legit reason for me to be running Windows 7, so I have to pretend I have some old software that only works in Win7 that forces me to use it to even get software devs to even talk.
18
9
194
@nothings
(BLM) Sean Barrett
2 months
@pete_tnt but keep being a clown, it looks good on you
3
0
186
@nothings
(BLM) Sean Barrett
3 years
Tweet media one
3
35
180
@nothings
(BLM) Sean Barrett
4 years
OMG I have finally internalized "you can allow people to be wrong on the Internet". This changes everything.
8
4
181
@nothings
(BLM) Sean Barrett
2 years
Newest additions to Unicode have been announced! U+1FAF8 FLYING SPAGHETTI MONSTER U+1FAF9 THEY DON'T HAVE SKIM MILK, IS 1% OKAY U+1FAFA GLORNPH U+1FAFB HELP WE'RE TRAPPED IN A UNICODE STANDARDS COMMITTEE
6
36
180
@nothings
(BLM) Sean Barrett
7 years
Tweet media one
3
57
175
@nothings
(BLM) Sean Barrett
4 years
What do "Shut them all down" and "Somebody set up us the bomb" have in common? Idea by @mcclure111 This chart doesn't even address the distinction between "get on it" and "get it on", or "take on me" vs "take me on".
Tweet media one
15
49
173
@nothings
(BLM) Sean Barrett
7 months
"But look how convincing Claude sounds" This is fucking embarassing and also maybe a signal that we are doomed, doomed.
Tweet media one
13
14
173
@nothings
(BLM) Sean Barrett
2 years
Published stb_image 2.28, fixing several years of issues and merging several years of pull requests, work done by de-facto maintainer @rygorous (thanks!), all blame on me if anything breaks.
3
22
171
@nothings
(BLM) Sean Barrett
2 years
If graphics programmers made PC components, everything would be white instead of black. But no, in this world you assemble PCs by screwing black screws to hold a black component against a black case, and everything is absorbing every photon of light so you can't see shit.
15
15
164
@nothings
(BLM) Sean Barrett
3 years
Now I've heard there was a simple cat Who can't escape when cup's a hat And closes doors that block where he wants into. Pam's whiteboard tasks have gone too far. The doorstop lost? Opines HR: Dear baffled Jorts, no one will margarine you Margarine you Margarine you
@EllenKushner
Ellen Kushner @ellenkushner.bsky.social
5 years
@vandroidhelsing I call upon the power of all my genius rhyming friends (and any of theirs) to now crank out a series of increasingly rambunctious songs beginning always with: "I heard there was a...." a/a/b/b/etc. rhymes only, please @lizduffyadams @Signs_of_Life
266
137
566
2
37
167
@nothings
(BLM) Sean Barrett
5 years
Updated following stb libraries: stb.h stb_divide.h stb_ds.h stb_dxt.h stb_easy_font.h stb_image.h stb_image_resize.h stb_image_write.h stb_include.h stb_leakcheck.h stb_perlin.h stb_sprintf.h stb_truetype.h stb_vorbis.c stb_voxel_render.h stretchy_buffer.h
3
29
161
@nothings
(BLM) Sean Barrett
4 years
Tweet media one
5
13
155
@nothings
(BLM) Sean Barrett
2 years
Bioshock Infinite: Liz's "Don't die on me, Booker" Bioshock: Vita Chambers System Shock 2: Quantum Bio-Reconstruction Machine System Shock: Resurrection Room Ultima Underworld: Silver Sapling We don't think of diegetic respawning as a core element of this lineage, but...
3
14
156
@nothings
(BLM) Sean Barrett
2 years
Tweet media one
Tweet media two
Tweet media three
Tweet media four
11
12
157
@nothings
(BLM) Sean Barrett
3 years
Thread NSA put backdoor in crypto standard (Dual EC DRBG) so they (but nobody else) could easily decrypt; pressured/paid companies to adopt. Hackers changed one company's product's source code, replaced NSA's constants with new ones so they could decrypt all traffic thru product
@matthew_d_green
Matthew Green
3 years
Oh wow.
46
982
2K
4
73
152
@nothings
(BLM) Sean Barrett
2 years
Posting this once in a while since it's generally forgotten/unknown: Looking Glass did an ECS (Entity Component System) in ~1997 (shipped 1998). But no real public writeup, so its influence on later ECS development was probably minimal.
Tweet media one
Tweet media two
Tweet media three
Tweet media four
@nothings
(BLM) Sean Barrett
9 years
Only extant docs about 1998 Thief's entity-based object system: PowerPoint slides Doug Church made in the mid 2000s http://t.co/EUSgItFQVI
6
15
45
5
27
156
@nothings
(BLM) Sean Barrett
9 years
The four things that make me not want to be a programmer: * Software patents * App signing * Setting up build environments * Multi-threading
16
71
149
@nothings
(BLM) Sean Barrett
7 years
I have gone off the deep end.
Tweet media one
8
44
145
@nothings
(BLM) Sean Barrett
6 months
For style, we have to focus on what it does. I talked about this tangentially in this other thread, but I didn't really tackle explaining why this makes sense head on in that thread, so I will here.
@nothings
(BLM) Sean Barrett
6 months
It reminds me of a pattern I noticed in classic interactive fiction / text adventure development systems. In most adventure games, everything is bespoke; you don't have six hats that all have hat-ish behaviors.
3
13
250
1
0
152
@nothings
(BLM) Sean Barrett
7 years
My brother points out that you can easily see from this TRAFFIC map where the eclipse path was.
Tweet media one
4
55
141
@nothings
(BLM) Sean Barrett
6 months
So: 1. performance of this code is fine 2. in general, grouping by behavior can be beneficial for heterogenous but relatively simple objects, so it's good style/structure here 3. if it works, fuck it, ship it
3
1
146
@nothings
(BLM) Sean Barrett
6 months
Speaking in general, not Balatro, this is a general pattern you see sometimes in games (and probably less so in other software!), lots of unique objects each with unique behaviors. (This is very common in text adventures, hence the other thread.) Typically in this pattern,
1
2
144
@nothings
(BLM) Sean Barrett
2 years
This of course reminds me of this wonderful chart (by Freya Holmer, seemingly). (The bottom right corner is the correct one, although Z-up only matters in world space, not so much camera space, so APIs and modelling programs get a pass, leaving Unity as odd one out.)
Tweet media one
@tha_rami
Rami Ismail / ุฑุงู…ูŠ
2 years
This, today, in response to some streamer claiming a dev is going to get blacklisted from the industry for saying they're not going to buy the game they worked on for ethical objections Hell this industry can't agree on what "up" means you think we can coordinate a blacklist
12
37
700
12
15
144
@nothings
(BLM) Sean Barrett
6 years
@GoodOldBacHo @jbensnyder @ne0liberal Because the idea is obviously impossible on its face. "Two years ago I was an academic researcher, but I was radicalized and am now a terrorist. How much has my face changed?"
4
2
134
@nothings
(BLM) Sean Barrett
5 years
Tweet media one
4
31
139
@nothings
(BLM) Sean Barrett
6 years
Tweet media one
7
37
135
@nothings
(BLM) Sean Barrett
5 years
@vectorpoem In addition to the failure in 'computing resources' and 'information infrastructure', consider the obvious failure in open source itself (from the Bloomberg 'arctic vault' article going around):
Tweet media one
4
32
135
@nothings
(BLM) Sean Barrett
5 years
TIL in Windows 7, if you type 'dir' in command shell in a directory with a file containing U+2013 EN DASH, when the command tries to output the filename it terminates, printing "The system cannot write to the specified device". I didn't test to see what range of Unicode fails.
4
18
134
@nothings
(BLM) Sean Barrett
3 years
metaverse proponents: "can you imagine if Ready Player One were real life?" the rest of us:
Tweet media one
5
20
130
@nothings
(BLM) Sean Barrett
7 years
Yep, the last person to touch the mini-games file in System Shock 1 was me (at least through the original version control system). It's also the only file I touched in SS 1, as I only did minigames for it. Buried lead: System Shock 1 source is on github.
Tweet media one
8
33
132
@nothings
(BLM) Sean Barrett
5 years
A full rebuild of a ten-million line program should take less than a second on a modern many-core x64 processor.
5
15
126
@nothings
(BLM) Sean Barrett
2 months
@melmassadian i do not think i am interpreting it wrong
1
0
127
@nothings
(BLM) Sean Barrett
6 months
Stop making "games" that entice "players" to put their creative energies into closed platforms that are not run in their best interest.
@LittleBigPlanet
Sackboy: A Big Adventure | LittleBigPlanet
6 months
An important message from us regarding the LittleBigPlanet servers and online features:
Tweet media one
2K
3K
22K
5
7
126
@nothings
(BLM) Sean Barrett
7 days
tl;dr: Google AI search summary gives random former employee's phone number as corporate HQ number.
@RogelioD
Rogelio Delgado ๐Ÿฉท ๐Ÿ’œ ๐Ÿ’™
7 days
Okay so this is wild. I just got a call and voicemail from an attorney who is calling to complain about content in a video game that โ€œhis son and his friends are playingโ€ (Conan Exiles) - Weird. 1/
44
461
4K
2
34
127
@nothings
(BLM) Sean Barrett
6 years
New library for C programmers (not interesting for C++ programmers): extending the "stretchy_buffer" stb_arr API metaphor to HASH TABLES. Based on idea by @pervognsen Preview release, has done lots of testing and tuning but may still have bugs!
1
26
122
@nothings
(BLM) Sean Barrett
4 years
Thinking again about this bit from the Mother Jones "I Called Everyone In Jeffrey Epstein's Little Black Book" article.
Tweet media one
2
45
121
@nothings
(BLM) Sean Barrett
2 months
@bnoob_ I think because the tone I took in my final reply (which wasn't the point of the tweet anyway, I just included it for fun) is a counter-productive tone to take as it is likely to annoy maintainers & make them choose not to do anything. Of course I knew that and did it anyway.
2
0
121
@nothings
(BLM) Sean Barrett
5 years
Me, reading the JSON specification, and finding out that what is AFAICT essentially the most-used text-based serialization format intended for generation BY SOFTWARE does not technically allow trailing commas in arrays and objects:
Tweet media one
15
8
120
@nothings
(BLM) Sean Barrett
3 years
TFW the compute shader that took 3-4ms/frame two days ago (w/video proof!) now takes 10-12 ms, & you haven't really changed anything, so you check out an old version and it's also 10-12 ms, and you reboot your computer, still 10-12 ms, and you haven't updated drivers or anything.
16
5
119
@nothings
(BLM) Sean Barrett
1 year
I remain miffed that I spent all the 90s typefing an int32 instead of assuming that int was 32-bits, because that was good practice, and then when we went 64-bits, we ended up with the convention that ints were staying 32 bits, largely because too much int-using code would break.
8
1
116
@nothings
(BLM) Sean Barrett
2 years
Protip: on Windows browsers, alt-drag link text to select without clicking link Protip: In text editors, press 'undo' then 'redo' to move cursor to location of last edit. Protip: make C function signatures w/o pointer: typedef int foo(int bar); void myfunc(foo *callback);
5
14
116
@nothings
(BLM) Sean Barrett
4 years
New library: stb_hexwave.h A new kind of audio synthesis. It's not subtractive, it's not additive, it's not FM synthesis. If I have to name it: line segment synthesis? Band-limited (anti-aliased) w/ BLEP & BLAMP. On my github as always. Audio demo:
4
13
116
@nothings
(BLM) Sean Barrett
7 years
AFAICT this is basically just "sandbox Facebook from everything else", so then the question becomes: when do we get the browser that just sandboxes everything from everything else?
@waxpancake
Andy Baio
7 years
This is genius: Leaving Facebook isn't an option for everyone, so Firefox's new Facebook Container Extension lets you continue using Facebook, but quarantines your identity into a container that third-party cookies and trackers can't touch.
127
5K
9K
14
28
114
@nothings
(BLM) Sean Barrett
3 years
Since 33 mutuals of mine follow Rich Geldreich, I should point out that as far as I can tell, he's just making stuff up about RAD and pretending it's magical insider knowledge, so I wouldn't trust his discussion of ANY company or its internals.
@cmuratori
Casey Muratori
3 years
Despite RAD having already explained to @richgel999 that they've never been bailed out, he continues to claim RAD was bailed out. What bailout? When did this happen? Who bailed them out? It's nonsense. It is extremely irresponsible to blatantly lie repeatedly to 12k+ followers.
Tweet media one
7
3
123
12
5
116
@nothings
(BLM) Sean Barrett
8 years
In games, we rarely get to clean up code bases as @Jonathan_Blow is doing with Braid, 95 to 69 KLoC so far (3 days).
8
40
111
@nothings
(BLM) Sean Barrett
4 years
Tweet media one
1
15
109