Writes the codes. Recovering OS Engineer (BeOS, HiptopOS, Android, LK, Fuchsia). Embedded systems hacker. Hobbyist Digital Designer. Player of video games. Etc.
Public Key
npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Profile Code
nprofile1qqs2nkghtgpxcl6g3n84sycphzfjfrzkkdcxw6phx5kah0tuah96r2spz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qvhjpjr
Show more details
Published at
2026-07-27T06:25:11Z Event JSON
{
"id": "d7458e18a1ef58e79201d64a354acabb5c9133f728b45911cad9531386701224" ,
"pubkey": "a9d9175a026c7f488ccf581301b893248c56b370676837352ddbbd7cedcba1aa" ,
"created_at": 1785133511 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://chaos.social/users/swetland",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Brian Swetland\",\"about\":\"Writes the codes. Recovering OS Engineer (BeOS, HiptopOS, Android, LK, Fuchsia). Embedded systems hacker. Hobbyist Digital Designer. Player of video games. Etc.\",\"picture\":\"https://assets.chaos.social/accounts/avatars/108/195/841/919/578/029/original/b9457c2da03bee91.jpg\",\"banner\":\"https://assets.chaos.social/accounts/headers/108/195/841/919/578/029/original/022b13a4493b86af.jpeg\",\"nip05\":\"[email protected] \",\"fields\":[[\"github\",\"https://github.com/swetland/\"],[\"frotz.net\",\"http://frotz.net/\"],[\"bsky / @swetland.frotz.net\",\"https://bsky.app/profile/swetland.frotz.net\"],[\"location\",\"Palo Alto, CA\"]]}" ,
"sig": "e9442b88fe4a19c300151488cec0788b24156bc4bf7eb296616aac90f04c70fecf73dd078c48aedb52bea84beed6089eac0934e55a48d7a3113d4eff6db26119"
}
Last Notes npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland The "everyone's using AI so it's impossible to not use AI" argument feels a lot like "everyone's shoving screwdrivers up their nose now so I've gotta shove a screwdriver up my nose too!" Yeah it sucks that many things are now compromised, but is complete surrender really the smart move here? There are still alternatives, older versions, etc, and even if, worst case, you've gotta rely on something that's somewhat tainted, that feels like a poor reason to embrace slop in your own projects. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland If you believe that "ai" makes you 10x (or 50x!) more productive, what this tells me is that you are utterly useless and I'd be better served hiring or working with just about anyone else (though ideally someone with critical thinking skills and an interest in actually learning things). npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…j9f5 They make me even more angry than usual that my time is being wasted by shitty advertising, if that counts... npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Glanced at LinkedIn tonight (always a mistake) and saw a post from some asshole I've never heard of quoting some other asshole I've never heard of (and citing him as some industry luminary) saying that the only way to maximize productivity in the new "AI" coding world is *never* reading the code. It is kind of mind-blowing to watch the bulk of the software industry just 100% commit to destroying their ability to write and maintain software. These people are fucking insane. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Anyone have favorite resources for modern vanilla (no piles of libraries, middleware, etc) Javascript / HTML / CSS techniques? Nice solid overviews, references, or cookbooks a plus. CSS, in particular, I've never fully wrapped my head around all the flexbox, grid, etc layout stuff. I'm, against my better judgement, doing a bit of web app development, and actually having fun, but Search is Crap nowadays and pointers to modern resources would be handy. Thanks! npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…j9f5 The source being enormous is kind of obnoxious, but a lot of these RTOSes pull in the entire vendor "bsp" library for every MCU they support and those are all pretty enormous. I dunno what the baseline zephyr build looks like, but lk (a friend's little embedded OS I've used a bunch) is usually 10-20K for threads, mutexes, events, timers, basic debug printf, etc, so 22K + 4K runtime (presumably global state and at least one thread stack) doesn't sound outrageous to me. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland I'm starting to think ergo (server) + halloy (desktop) / goguma (mobile) makes a credible alternative to discord for small community textual chat, based on some recent experiences. At least this combo of IRCv3 servers and clients has a pretty high level of "just works" (not needing a bouncer, handles multiple simultaneous connections from different clients, history/state survives disconnects, basic image attachments / url unfurls / reactions, etc). #IRCv3 #Halloy #Goguma npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Is the state of Mastodon (and most of the fediverse?) such that user/message signing keys are still all RSA? I've seen there's been some discussion of Ed25519 support, but it seems like not much progress? #ActivityPub #Mastodon #Questions npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…j9f5 Yes, after a few attempts. I figured it might be nice to just instantly fail attempts using password auth, since anyone trying to login with password only is by definition a bad actor. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Is there an easy way to setup fail2ban to instaban any ssh connection attempts not using a public key? #fail2ban #questions #linux npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…7yuj The appliance-ization of computing really depresses and infuriates me. Growing up with early personal computers in the 80s, the magic and the promise was you could use these machines to do *anything*, including things nobody else thought or cared to do! A big part of what I fought to build in Android was a mobile platform that'd also deliver on the "you can run anything you want" promise of the machines I grew up with... sadly over the past decade that has been seriously eroded. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland The recent bugs-in-coreutils-in-rust kerfuffle has me thinking again about Future Shell Tools. Ideally it would involve support for structured data. Probably json since it's so ubiquitous, but importantly negotiable to allow for other formats, including interop with classic plain-text tooling. Also such structured data should include passing of file descriptors for more flexibility and avoidance of textual path reparsing footguns. This is more interesting to me than rewriting "mv" and "cp". npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Is there a site somewhere tracking software that's remaining "AI"-free? Be it the original projects sticking to human authorship or forks made to preserve/maintain non-crapified versions? I should have bookmarked those vim preservation forks I saw recently. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Okay, building with WANT_WIN_CURSES=1 and throwing some assorted OPTIONS in one's .nethackrc makes things a lot nicer on larger-than-80x25 terminals. #Gaming #NetHack https://assets.chaos.social/media_attachments/files/116/507/891/850/826/967/original/ff7f26482ce5cd25.png npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Just built and installed NetHack 5.0.0 and holy cats, there's a tutorial now! https://nethack.org/v500/release.html (Fired it up in an ~80x25 xterm for that classic hack feel, though my default xterm font is a bit too modern) #Gaming #NetHack https://assets.chaos.social/media_attachments/files/116/506/747/110/470/530/original/b2bbda0ec15c9d45.png https://assets.chaos.social/media_attachments/files/116/506/747/447/317/657/original/49438f621618b276.png https://assets.chaos.social/media_attachments/files/116/506/747/823/881/710/original/7de2906edf00746b.png https://assets.chaos.social/media_attachments/files/116/506/748/154/521/734/original/70296626d0355455.png npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…7yuj I also continue to be fascinated by the people convinced that "prompt engineering" or other "ai" usage is a viable career path when the whole agenda of proponents of this nonsense is to eliminate all expensive/bothersome/unsightly human involvement entirely. The people who don't want to pay anyone to create books/pictures/movies/code/etc are not interested in paying anyone to tell the computer to do the things those people did either. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Dear "slop code is fine but 'ai' art and writing is terrible" people, with all sincerity, go fuck yourselves. Slop is slop and it is indefensible garbage no matter what it's used for. "Slop is fine so long as it's not the slop for the thing *I* care about" is some impressive bullshit. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…3q9y I have never thought about this, but perhaps I should have. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland I'm realizing just how alike many of the "AI coding" enthusiasts or evangelists are to the people who think "AI art", being able to push a button and receive soulless regurgitated slop (be it writing, imagery, animation, software, whatever) is the future. That "art", "skill", "creativity", any investment of time, learning, practice, etc is some kind of gatekeeping conspiracy. Believing "having the idea" is the hard part and effort and artistry, craft, or quality has no value. So fucking sad. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland A recent trend in bloggery, etc, is criticisms of "ai" techniques by people who, it turns out, are themselves True Believers in "ai", just arguing about the "how". This piece critical of "vibe coding" starts off with some obvious criticisms of what I consider to be one of the dumbest developments in software engineering in recent memory... only to move on to "well, you see, they were just using the ai wrong"... https://bramcohen.com/p/the-cult-of-vibe-coding-is-insane #DeathOfSoftwareDevelopment https://assets.chaos.social/media_attachments/files/116/359/746/536/115/357/original/fb8c0bf2febb3585.png npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Fascinating. Someone re-invented visualizing diffs *between versions* of code under review. Which is one of the major reasons I love Gerrit's review flow. https://lubeno.dev/blog/reinventing-the-pull-request npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…3q9y My favorite is making things I've never made before and learning new stuff along the way. Outsourcing that to the slop machine sort of misses the entire point of the exercise. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…3q9y A coworker of mine who worked on VM stuff had "Virtual Machinist" as the title on his business cards back in the day, which I always thought was brilliant. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland The codegen is really hideous right now. This is intentional. The stage1 codegen goal is simplicity of implementation and correctness of output. No optimization. Stage 1 will let the compiler compile a fancier version of itself than the stage 0 transpiler can. Progress! It still kind of hurts to look at. For your amusement and/or horror, test/1015-loop.spl, out/test1/1015-loop.ast, out/test1/1015-loop.hex, and out/test1/1015-loop.log #Projects #Compiler https://assets.chaos.social/media_attachments/files/116/045/559/719/242/101/original/8e000ce0fb787428.png https://assets.chaos.social/media_attachments/files/116/045/560/193/418/174/original/ac4f0d2cdfbfac3c.png https://assets.chaos.social/media_attachments/files/116/045/560/602/364/236/original/c98f7400bb59ab47.png https://assets.chaos.social/media_attachments/files/116/045/560/948/104/789/original/b027b5da2782eb93.png npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Watanabe wants popcorn. #Anime #YouAndIArePolarOpposites #SeihantaiNaKimiToBoku https://assets.chaos.social/media_attachments/files/115/884/425/855/616/671/original/5ab782e19dcccbc3.mp4 npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…sxu8 For me the case and keyboard were the big selling points of this one. MiSTer FPGA does very nice C64 emu, but doesn't capture the physical feel of the original critter. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland The C64 Ultimate is a delightful recreation of the computer I grew up with. https://www.commodore.net/product-page/commodore-64-ultimate-basic-beige-batch1 #Commodore64 #Nostalgia https://assets.chaos.social/media_attachments/files/115/743/128/481/676/995/original/231ee28d257c9211.jpg https://assets.chaos.social/media_attachments/files/115/743/128/879/829/677/original/875230395cbc4e43.jpg https://assets.chaos.social/media_attachments/files/115/743/129/227/211/295/original/ddf340e2b5ef1b7a.jpg https://assets.chaos.social/media_attachments/files/115/743/129/651/055/556/original/1f91d65c56685de1.jpg npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland I am probably old fashioned, but running into an open source commandline tool written in C that "requires" meson and ninja to build, in order to accomplish the equivalent of... $ gcc -o tool main.c -lone -ltwo ...seems like maybe just a bit of overkill to me. #OldManYellingAtCloud npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland I am tempted to change credit card companies because it seems that every time Chase thinks my browser has changed, they SMS me a 2FA code, and then they force me to call them and provide CC#/SSA/name/address/etc to get *another* code, and then they actually let me login. This happens roughly every 2nd or 3rd month when I go to look at my statement on their website before paying bills. It is absolutely infuriating. Am I the only one they inflict this utterly absurd process on? </rant> npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Became aware of this really slick 70ns 5v 256K DIP ROM emulator today, thanks to a friend who's using it for a hardware project. https://github.com/wickerwaka/PicoROM #Tools #Projects #ROM https://assets.chaos.social/media_attachments/files/115/374/538/236/418/027/original/2ca56a748ca2d36e.jpg npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…py7t @nprofile…r2sm @nprofile…pqtk @nprofile…fda4 Very cool. I'm definitely more interested in non-security-related applications and very enthused about fully open-source gateware for PCIe. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland One of the key things I fought for on Android was that AOSP (the open source release) could be built for and installed on the flagship Android devices. (Nexus, Pixel, etc). Sounds like that's no longer the case as of Android 16. Very sad. https://mastodon.social/@nixCraft/114669765268140206 npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland So roughly once a week nowadays, Firefox on Ubuntu 24.04.2 LTS just stops responding to all keyboard input. I haven't found anything I can do at this point besides killing it and restarting it. I haven't observed any obvious commonality to the failures. Any suggestions on how to fix (or just debug) this? Would jumping through the hoops to migrate from snap to the deb packages that Mozilla releases possibly fix this or make it easier to debug? #Firefox #Ubuntu #Help npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Ruffle remains the most compelling argument for Rust and WASM as technologies. Anything that allows one to once again experience sbemails in their original vector-art glory is clearly a net positive for society. https://homestarrunner.com/sbemails/58-dragon #Rust #WASM #sbemail #Trogdor #StrongBad npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…zsaa Germany does appear to, though, so that fails to explain my Audi A3's situation. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland It is one of two days in the year where I'm forced to ponder why my 2010 vehicle which has built-in GPS, etc, is incapable of dealing with daylight savings, so I have to manually adjust it, like my alarm clock from 1993 and my (thankfully not "smart") stove. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland So, the waveform having finally collapsed on a Kickstarter I backed last year (poor impulse control?), I now am in possession of a Carvera Air desktop CNC machine. I don't suppose anyone already has a reasonable workflow for using designs from FreeCAD on this critter? (Linux-only strongly preferred). #FreeCAD #CarveraAir npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Am I imagining things or didn't there used to be a way to attach spoiler-protected images to posts without putting the entire post behind a CW? #Mastodon #Questions npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland A discussion about modem sounds over on bsky reminded me that people seem to always reference diagrams or recordings of 33.6K or 56Kbps modems. I never had such a luxuriously fast modem. 1200bps and later 9600bps were the speeds of my dialup/BBS days. Luckily there's a nice youtube video collecting a variety of connection speed handshakes for the better indulgence of one's nostlagia: https://www.youtube.com/watch?v=xalTFH5ht-k #Modem #Dialup #Nostalgia npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…xm42 @nprofile…uc38 The first thought to cross my mind here was "how were the ants convinced to move the object?" which the paper answered thusly: "We incubated the loads in cat food overnight and rubbed canned tuna on them, which made them seem like attractive food items to the ants." npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Skeleton Crew continues to be a bunch of fun and continues to show, like Andor, that the best additions to Star Wars is stuff that explores new stuff rather than just repackaging existing characters and scenes over and over. #SkeletonCrew #StarWars #TV npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Just rewatched Lower Decks season one, episode one. It does feel a little try-hard in the humor, and Mariner is more out of control than T'Lyn even, but it just makes me smile to see the introduction to these delightful nerds again, even in their earliest forms. Going to enjoy rewatching the series. #LowerDecks #StarTrek #TV https://assets.chaos.social/media_attachments/files/113/709/142/840/811/355/original/8d28c8dcbe402525.jpg npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland I hate a lot of things about "AI", but one of the most infuriating things to me is people responding to questions (in chat systems, social media, forums, etc) by cutting and pasting ChatGPT or whathaveyou. Please, if you don't know and can't be bothered to actually find out, just don't reply at all. Thanks! I mean, seriously, if I wanted the shitty "AI" answer I could have just asked one of any number of shitty "AI" agents out there. You are not helping here. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Happy Caves of Qud 1.0 Launch Day: https://store.steampowered.com/app/333640/Caves_of_Qud/ Enjoy a modern roguelike in the style of the classic tiled, turn based games, with nicer UI/UX, in a far-future science-fantasy setting more in the spirit of Dune or Book of the New Sun than the typical D&D fare. #Gaming #CavesOfQud npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland 七面鳥の日おめでとう! Happy Turkey Day, folks. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @nprofile…hujc I eventually gave up on deleting tweets as automated tools stopped working after a few thousand. Renamed my account, created a new placeholder account under the original name, then deleted the original account to finally nuke everything. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Is it just because I'm weird (or old?) that I find callbacks much easier to understand and reason about than all the async/await/Promise stuff? (looking at some modern-ish javascript example code) The stuff that supposedly "simplifies" things just seems to make control flow much less obvious to me. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Dear #ubuntu Every time you nag me about Ubuntu Pro during a software update and offer me the option of upgrading to it or "Remind Me Later", I get one step closer to changing distributions to something less obnoxious. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @npub10fm…x0qg I still pretty reflexively save often in many apps. Depending how stable the app is. But I can't think of the last time I lost work because the whole computer crashed, not just the app I was using. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland A thought: Which is the last generation that remembers (using) computers that just hard crashed all the time? Who learned to Save Often and Make Backups because even if the App worked great, the whole machine might just blow up at any moment. I feel like, for me, this pretty much stopped being a thing by the early 2000s. But I also started using Linux as a primary OS in the mid-90s, so mostly saw Win95/ME/etc from afar. I do remember when X11 would sometimes just explode, killing all my apps. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Heya @npub1s2r…7gng what's the best point of contact for archive.org feature requests? In particular, I was wondering if it'd be possible to support, in addition to the "fullscreen" button for emulators, etc, a "theater" button that'd resize things to the width of your browser window. On my 30" monitor, I often would like content to be larger, going all the way fullscreen is overkill, but remaining at the default size limits things to a tiny rectangle in the middle of the browser window. npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland @npub1can…0fm9 @npub16r6…p52f All the design files are here: https://github.com/swetland/appleii-gamepad npub148v3wkszd3l53rx0tqfsrwynyjx9dvmsva5rwdfdmw7hemwt5x4qldlzlw Brian Swetland Buttons! #projects #appleiie #gamepad https://assets.chaos.social/media_attachments/files/110/777/116/975/240/402/original/938dc40f119a68ab.jpeg