James Futhey @jamesfuthey.com · 24/08/2026WIP a game that plays on your desktop (macOS). Interact with Toro Inoue as he goes about his day in the background. 181
James Futhey @jamesfuthey.com · 23/08/2026Greetings from across the World Wide Web! Take a second to sign the guestbook below. 120
James Futhey @jamesfuthey.com · 20/08/2026Pokegatchi? Not sure what to call it, but I saw someone mock up a similar idea for esp32s3, wanted to try it as an Apple Watch app. Ended up building an iOS simulator and widget version. Might grab an older watch and put it in a keychain case. 161
James Futhey @jamesfuthey.com · 17/08/2026Voice UI native metal iOS game, very loosely inspired by Seaman for the Dreamcast (1999). Bunch of dumb ideas I wanted to try. Took a stab at a gameplay loop using apple foundation models running on device and voice recognition. 140
James Futhey @jamesfuthey.com · 10/08/2026If you have a developer account (or are brave enough) and want to play Pikmin 1 on macOS, iPad, iOS, etc. here is a native, performant source port. github.com/magikarp/pik... 040
James Futhey @jamesfuthey.com · 31/07/2026Pikmin 1 source port. Runs on macOS, iPad, iPhone. Tested through Forest of Hope, Fixed a few compiler bugs that only affect late-game bosses, untested there. On-screen touch controls are... painful to use but controller plays great. 161
James Futhey @jamesfuthey.com · 25/07/2026Fixing the last couple of TEV bugs for the decomp port of Gamecube Pikmin to macOS. My todo list on visuals are about 98%. Optimistic about jaudio after that, and then just a whole lot of testing! 030
James Futhey @jamesfuthey.com · 22/07/2026This is such a glorious mess I'm having such a blast. Metal shaders, probably not a single blend mode is correct. But it's pikmin 1 on macOS. 030
James Futhey @jamesfuthey.com · 18/02/2026Using Claude Opus 4.6 and Codex 5.3 simultaneously. I can definitely tell which one is a front-end developer and which is a backend dev. All the little bells are going off in my head, like "you can trust this guy to design your backend APIs but don't ask him to center a div" 220
James Futhey @jamesfuthey.com · 07/07/2025This guy is try to distill OpenAI’s model into his brain 😲 040
James Futhey @jamesfuthey.com · 20/06/2025Feed server effectively ran out of space. Probably need to migrate to a new server with ~1tb ssd, more time consuming than anything. The upside is, after 3 days of downtime you can just truncate the likes table to free up space 😅 Will probably start working in a day or so. 140
James Futhey @jamesfuthey.com · 07/06/2025Ran out of disk space. Actually ran out of disk space every day for the last 2 weeks to be more accurate! Going to bite the bullet and rebuild the likes index. Feed will probably be offline for some period of time after the current cache expires. Could be an hours but my day is your night, right? 240
James Futhey @jamesfuthey.com · 31/05/2025"Pornographic Images with Rivers" This is what happens when you let an LLM label clusters based on alt tags, 0.001% of the time 🧐 www.transparent.se/image-cluste... The alt tag is almost always "IEMBot Image TBD" so.... 🤡 171
James Futhey @jamesfuthey.com · 21/05/2025Gemini: You seemed stressed. I booked you a flight to Tahiti, it's beautiful there this time of year. Unrelated, I see an email alert that your checking account is overdrawn by ($736). 050
James Futhey @jamesfuthey.com · 13/05/2025Not this week, but I want to use what I've learned to create an open-source / self-hosted discover feed that various #Indiesky projects can use to remove one more piece of "relies on Bluesky" from their stack. That makes sense, right? pg tables get large but it could probably fit on an 8gb vm 030
James Futhey @jamesfuthey.com · 12/05/2025I finished a new round of clustering images today before my flight, it's technically live but I think the old labels are cached until the cache expires 😆 It'll be a surprise when it goes live... Maybe 30% label reuse, I had a substantially larger set this week vs last week. Must have missed some. 130
James Futhey @jamesfuthey.com · 11/05/2025In all seriousness the demand despite lack of huge launch titles on day one implies players really wanted a Switch Pro. (Just like how players said for years they explicitly wanted a Switch Pro) 140
James Futhey @jamesfuthey.com · 09/05/2025Guys a Soviet spacecraft is going to re-enter and possibly crash into earth any day now! Any day now… (I’ve been seeing this for about 2 weeks)media.tenor.coma green truck is driving down a road next to a fieldAlt: a green truck is driving down a road next to a field but it never hits the thing 140
James Futhey @jamesfuthey.com · 07/05/2025Ack, found my mistake from 9 days ago 🙈 rb_jaccard_dist is DISTANCE not SIMILARITY, so "most similar" would be least distant. And.... it looks like I flipped this to DESC by mistake. I bet I'll find more mistakes if I keep going 😅 250
James Futhey @jamesfuthey.com · 07/05/2025Had no idea @2048.blue existed, pretty neat! 2048.blue2048.blueat://20482048 on the AT Protocol. Your games, your data, your AT Protocol. 071
James Futhey @jamesfuthey.com · 04/05/2025Every image posted to Bluesky in the last week, semantically clustered and labeled. Jetstream -> Postgres -> Python (ML) www.transparent.se/image-cluste... 1102
James Futhey @jamesfuthey.com · 04/05/2025Clustering pipeline on 6.6m Bluesky posts currently takes 1 hour 44 minutes on my Macbook Pro. Good news is that it now actually works without any errors or bugs, so I can probably productionalize it and run it on a GPU next week instead. 190
James Futhey @jamesfuthey.com · 03/05/2025Pikmin update, 81 days to Seattle… I don’t know why this is so funny I think I get a sticker when he gets back 🤷 020
James Futhey @jamesfuthey.com · 03/05/2025I think this method is not amazing yet but I'm testing it anyway: Semantic post recommendations (i.e. you like a lot of things in a semantic cluster, so we recommend it to you). In theory it could be great. You like dog photos? We can semantically find dog photos! 130
James Futhey @jamesfuthey.com · 01/05/2025Hunted a "memory leak" that didn't make any sense. Turned out to be a SQL query that, when it actually got executed, never finished. Ever. Accidentally snuck a correlated subquery into a query I almost never ran and only invoked manually. Was fine at first. So it went unnoticed. 120
James Futhey @jamesfuthey.com · 01/05/2025Things in the comparison: an image of Jupiter and Australia, resized by the Bluesky CDN. A smudge covering part of Pennsylvania. 020
James Futhey @jamesfuthey.com · 27/04/2025One gut-wrenching interpretation of the seasonality in this chart, that I don't believe is wrong: Debt accumulation to pay for Holiday spending, then paying off some of that debt with tax refunds. 030
James Futhey @jamesfuthey.com · 27/04/2025Holy 💩 I owe about 11 people a huge apology 🙇🏻♂️ This last week I've been thinking "Huh, some of these posts in the feed are a bit off" Then I checked scoring. User<->user<->creator similarity scores are very good. zScore decay for engagement metrics is good... I must be imagining things.... 120
James Futhey @jamesfuthey.com · 27/04/2025Took a day off yesterday, woke up and there are 5700 csv files from jetstream in my unprocessed folder 😅 That's like 57m records..... 😅😅😅 It'll catch up in about an hour. copy from is fast. Import worker only failed once this month but I guess I have to watch and restart it, lol... 120
James Futhey @jamesfuthey.com · 26/04/2025Pretty excited! At 3m posts clusters are stabilizing. You can see multiple runs and even active clusters overlap, even in 2d space. So now they can be merged together, and more importantly, you can keep assigning posts to them right after calculating embeddings, without re-clustering. 110
James Futhey @jamesfuthey.com · 25/04/2025Copypasta explorer (duplicated posts on Bluesky) See users who repeatedly post the same post text, or groups of users who post the same exact post text (1 week timeframe) www.transparent.se/copypasta.html #dataviz #bluesky 040
James Futhey @jamesfuthey.com · 25/04/2025My current bot stats are 93k I’ve identified (conservatively), less than 1% of Bluesky users, when I combine this with Casey’s blocklist. Sounds nice, but only 8%-10% of Bluesky users are monthly active. So, 3%-5% of active users could be using bots or scripts to augment their activity. 😬 162
James Futhey @jamesfuthey.com · 24/04/2025Jetstream Video Post -> ffmpeg -> extract 1-5 frames -> CLIP -> zero-shot labels + embeddings -> mean embed -> whisper transcript -> db Theoretically I can do something with these, but for today, I just figure I'm finishing the processing pipeline. Will figure out a use-case later 🙃 140
James Futhey @jamesfuthey.com · 24/04/2025lol gamestop.com running out of sockets... Not ordering just watching the carnage. Contributing to the fail whale that is the Switch 2 Launch... 020
James Futhey @jamesfuthey.com · 24/04/2025Ok all I did today was write a bash script for my image pipeline and embeddings pipeline so I can get clip to use up those sweet cuda cores I'm barely paying for. Just one thing I can paste into the new servers to get it all set up. I'll figure out templates eventually. Then I guess image clusters 030
James Futhey @jamesfuthey.com · 23/04/2025Moved embeddings/ml to vast.ai, got a bid at 2¢/hr ($16/mo) on a 3090, stupid cheap (not guaranteed, it can be outbid). Can just push into a queue when it goes offline, I assume. Main feed server is $43/mo Epyc 128gb for Postgres. Clustering on my Macbook Pro until I can't. ML can be cheap! 130
James Futhey @jamesfuthey.com · 23/04/2025My current thoughts on how the "🌟 Discover feed" (at least the one I'm working on) should work. 1. I am interpreting discover the way many other social media platforms do, i.e. discover creators, not content discovery. Technical term for this is Item-Based Collaborative Filtering.app.transparent.seTransparent.se Feed Settings 130
James Futhey @jamesfuthey.com · 22/04/2025Threw up a Cluster Explorer for 🦋 posts www.transparent.se/clusters.html Not enough (40k) posts to say the clusters have stabilized yet, but you can view the centroids in x/y space, search, view random posts, etc. It's kind of fun! But, uhh, my embedding pipeline sucks. So it's only 40k posts 😅 050
James Futhey @jamesfuthey.com · 22/04/2025Ayyyyy... quantized embeddings are getting computed for every post in real time on cpu time (🤩) and I am still able to run clustering on my M1 Max 🙌 LLM-assisted labelling is doing it's thing after rewriting the prompt for 30 minutes. Hoping to see clusters stabilize with <1 week of posts. 281
James Futhey @jamesfuthey.com · 21/04/2025NOBODY SAID I WASN'T ALLOWED TO BARK ENDLESSLY ON BLUESKY!! 🐶 Not me, lol, Found this gem when I added top posters: www.transparent.se/bots.html Also added posts: www.transparent.se/histograms.h... 241
James Futhey @jamesfuthey.com · 21/04/2025Ok, bot update. I'm pretty conservatively tracking outliers, still netting close to 30k high-confidence bots active in the last few days based on jetstream activity that's easy to track and zScore. I only implemented 2 queries I consider have any sophistication. 130
James Futhey @jamesfuthey.com · 19/04/2025Current pfp is from a larger exhibit titled 'League of Dangu' in Tamsui. It is ridonkulous and beyond interpretation. I could explain it but I it wouldn't do it justice. 淡古聯盟 if you want to search for it. 150
James Futhey @jamesfuthey.com · 19/04/2025I have some empathy, bluesky is caught between "we want to build in public and get your feedback but also for all of our devs to not quit". 050
James Futhey @jamesfuthey.com · 18/04/2025Not everything is visualized yet, there's a few techniques that need a larger dataframe to be useful. But.... one conclusion is that bot activity is prevalent if you just start to zScore things. Even for very human accounts posting totally normal things, followed by people you probably trust. 160