@lyse That's crazy! If you don't mind me asking, what browser are you using when you see this?
@bender Glad to hear it, I've neglected a Safari test thus far.
Thank you both for checking.
A geek, coder, gamer, tinkerer, husband, father, server admin, web developer, and American cyborg, though not necessarily in that order.
@lyse That's crazy! If you don't mind me asking, what browser are you using when you see this?
@bender Glad to hear it, I've neglected a Safari test thus far.
Thank you both for checking.
@lyse For reasons I can't fully explain, we have a bunch of courses in the area, most in public parks (they integrate nicely since they can be built with the existing landscape, only adding some yellow baskets, concrete starting pads, and maybe signs).
In my experience, the main difference between a disc golfer and a frisbee thrower is that the disc golfer will often have a bag full of different shapes of discs (including drivers of varying ranges and/or putters). Even in my small bag, I've got some long range drivers (a Beast, a Cheetah, a Valkyrie, and a Wraith), my aforementioned MRV (Mid-Range Vector), an ultralight Aero (which feels similar to a "standard" frisbee), and 2 "rubber" putters (softer plastic, less "bouncy").
@bender Thanks, and you are correct: MRV stands for Mid-Range Vector (I think) as it is a stable mid-range driver (it says so on the disc): https://itsericwoodward.com/images/520b231931b8d8569d400e40e6fcc805b0bbee35e04b2ce5e35df0848852c807.jpg
@falsifian Congrats! That's no small feat.
@lyse Thanks (again) for the heads-up!. I'm not sure why you were seeing black text, but I just pushed a new version of the library (v0.10.1) with some updated colors in the demo's themes (which should hopefully address the contrast issues).
The dark mode was an aesthetic choice by a designer with a strong preference for dark mode (and who thought the maroon looked better as a background color), but in the interest of being supportive of my audience, I added a localstorage-backed memory to the theme toggle (so when you turn it to light mode, it should remember for future visits).
@lyse Thanks for the heads-up.
It lead me to publish an updated version of twtxt-lib (v0.10.0) which supports the v2 hashing algorithm: https://twtxt-lib.itsericwoodward.com/
@bender Thanks for that as well, I've removed the extraneous letter and it now (correctly) points to https://www.itsericwoodward.com (I am a developer of webs, so I tend to have many webs in development at any given moment).
@bender Thanks for the tip-off, fixed!
I hope to have some time this weekend to tease apart my current setup and build a couple of example sites with it (while also writing some docs along the way). But given the rate I've been going, it'll probably be another month. 😢
@bender Correctamundo! In this case, it's available for the browser as a single (optionally-minified) JavaScript file, or for Node via NPM (as JS) and JSR.io (as "native" TypeScript).
I had to do it that way because I wanted a library I could use in both an Express server (for TwtKpr and TwtStrm) and the browser (for my website and... TwtStrm).
Hopefully, I'll have more to share about those other projects soon...
@bender Wow, you're good.
It was an edit, within a minute or two of posting. I didn't think anyone would notice.
That's what I call on it. 😀
@lyse Yeah, those are my bad.
A couple of weeks ago, I added CORS support, which is the source of the OPTIONS call. What I didn't do was store the result so it stops trying to make further attempts. I'll get that in tomorrow.
As for the "If-Modified-Since" header, the server-based component of TwtStrm should be sending that (along with its user-agent tag and my user info). I wasn't sure if that could be sent with CORS requests, so I'll need to look into that a bit more.
Thanks, I appreciate the feedback!
It still needs some cleaning (and some slight UX improvements), but overall, I'm happy with it.
BTW - I promise, I intended it to be pronounced like "TweetStream" (or as written, "TwtStrm"), rather than "TweetStorm". Sorry again. 😊
@prologic That zs looks pretty cool! I love simple static site generators, and look forward to trying it on my next web site project. Kudos!
@lyse Thanks, I think I fixed it now. Sorry for the spam.
@bender Thanks for asking!
So, I've been working on 2 main twtxt-related projects.
The first is small Node / express application that serves up a twtxt file while allowing its owner to add twts to it (or edit it outright), and I've been testing it on my site since the night I made that post. It's still very much an MVP, and I've been intermittently adding features, improving security, and streamlining the code, with an eye to release it after I get an MVP done of project #2 (the reader).
But that's where I've been struggling. The idea seems simple enough - another Node / express app (this one with a Vite-powered front-end) that reads a public twtxt file, parses the "follow" list, grabs (and parses) those twtxt files, and then creates a river of twts out of the result. The pieces work fine in seclusion (and with dummy data), but I keep running into weird issues when reading real-live twtxt files, so some twts come through, while others get lost in the ether. I'll figure it out eventually, but for now, I've been spending far more time than I anticipated just trying to get it to work end-to-end.
On top of it, the 2 projects wound up turning into 4 (so far), as I've been spinning out little libraries to use across both apps (like https://jsr.io/@itsericwoodward/fluent-dom-esm, and a forthcoming twtxt helper library).
In the end, I'm hoping to have project 1 (the editor) into beta by the end of October, and project 2 (the reader) into beta sometime after that, but we'll see.
I hope this has satisfied your curiosity, but if you'd like to know more, please reach out!