images!!!

on monday, i finally got the first image to post on xcvr and show up without any manual hacking!

i think for all of tuesday more or less they were broken once again, but my progress had lifted my spirits, and i finally got a fairly large, much needed refactor of the networking code for my frontend. there haven't really been many big architectural changes to my hyper-real-time text experiments and websites since i've started working on them in february, but i've more or less coded the same basic systems in a few languages, web frameworks, and, since tty!xcvr, a terminal framework too, so i've got a fairly good sense of it by now. also from time to time i've been thinking about a mobile app, as well

but anyway, on wednesday i got everything truly working once again, with no more major bugs remaining. looking at my user repo, i have now sent 45 test images. one thing that you might not be aware of is that atproto uses a content addressing system for blobs, which is nice for when you haven't yet set up a system to automatically delete files from the server if nobody has accessed them lately; there are only 2 images in the server's uploads folder, the two different images i tested with :)

the technical limitation at the moment is that you can't see the images in the history; until yesterday evening i didn't know enough sql to be able to interleave the messages and medias, even though they use the shared signet lexicon for ordering (i believe it will be UNION ALL and then sorting on the signet lrcID), and then today i kept getting sidetracked :) apparently i've been accidentally duplicating every single signet due to poorly copying and pasting the at-uri scheme months ago haha, that was a very strange thing to catch

this week i had fun playing around with typescript for the first time. i don't really use much ai anymore, i've never used it for actual coding, like letting the machine autocomplete or even copy pasting code, but in the past i used it more for like asking conceptual questions, and i guess i still use it to sanity check a little, but besides feeling that it doesn't really make me much faster in the short term (& it certainly makes me slower in the long term) it just makes the whole ordeal so transactional. i probably should spend some time setting up filters or whatever to prevent it from showing up in google search, alongside all the low quality sources. i think i'm probably going to start reading through the postgres documentation because i feel like that's the place that i have the least interest in, so i'm the least confident which paradoxically makes me rush the most because i just want to get it over with. luckily i haven't deleted the database yet, but it's just a matter of time

anyway, i just say all of this because so far i've enjoyed mucking around a bit with typescript and that it really makes me annoyed by the lack of union types in go, especially since they're a part of lexicon, which i've spent a bit more time thinking about, especially because media records will heavily feature unions

anyway i'm gonna continue cleaning up website a bit next week, probably make the image autodeleter, and then start thinking about the next lexicon org.xcvr.feed.sub, which is mostly gonna be around subscribing to notifications. really, once i have a good notification system, the main feature set for xcvr will basically be done! of course that doesn't mean i'll fully move on from the project, but i think that then more time will be spent trying to integrate it with the rest of the atmosphere (and the rest of the atmosphere with it!) instead of adding even more lexicons like feed generators, and

well, we're getting a bit ahead of ourselves :) images are the main new thing & that's enough for now. keep in mind though that you must be logged in with oauth in order to post images (or create your own client to post a media record, one of the other housekeeping things i did today to stave off the scary sql query was to ingest media records from jetstream)

take care!

-rachel