Agog to be the 2,644th backer š on BackerKit Crowdfunding for Old-School Essentials Demonic Grimoire! https://www.backerkit.com/c/projects/exalted-funeral/old-school-essentials-demonic-grimoire
My first game of Magic ended with a truly EPIC TURN yesterdayā¦
It was a 5-player game, and I was running my (unpublished) Superfriends deck (mostly Planeswalkers and counter manipulators). After some ups and downs, I was able to pop the ultimate abilities on a handful of PWs all on a single turn, pumping my Bioessence Hydra to 110/110 (!) before tapping it twice to kill 2 opponents, and then following that by destroying all of the lands of a 3rd opponent and stealing all of the creatures from the 4th, at which point the survivors decided to quit. As I said, EPIC TURN!
Game 2 ran long, so I dropped out. But that first gameā¦
@lyse@lyse.isobeef.org Iām glad you found it useful. :)
@klaxzy@klaxzy.net Thanks for that. I couldnāt agree more.
I won our only game of Magic for this week with my (yet-to-be published) āBolas Triumphantā deck: 5 players over 3 hours, including 4 board wipes (one of which came from my Nicol Bolas, God-Pharaoh), and I even got to cast Omniscience via a Fae of Wishes. I canāt speak for everyone, but I know I had a good time. š
Also, this really speaks to me (or maybe it speaks for me): https://neilzone.co.uk/2026/04/just-let-me-compute-in-peace/
āThere is sauerkraut in my lederhosen.ā
@bender@twtxt.net You got me there. Mine is mildly passive-aggressive, but ultimately supportive. Yours sounds⦠less helpful. š
Message on my watch this morning: āLast weekās goals slipped away. No worries, this week is yours!ā
Thanks, watch. Where would I be without you?
TIL that SSH actually stands for Secure Snake Home, a massively multiplayer snake game playable via the SSH protocol: ssh snakes.run
Of course, no one else was online when I was playing, soā¦
I went 1 for 2 at Magic this week⦠Temmet made a good showing the first game before being overwhelmed by an infinite number of Wylls (aka Fred Durst, on account of all his ārollinā, rollinā, rollinā!ā). As a result, I unleashed Chatterfang on the group for the second game, and he lead his squirrel army to victory once again. Good times!
@lyse@lyse.isobeef.org Thatās crazy! If you donāt mind me asking, what browser are you using when you see this?
@bender@twtxt.net Glad to hear it, Iāve neglected a Safari test thus far.
Thank you both for checking.
@lyse@lyse.isobeef.org 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@twtxt.net 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):
@falsifian@www.falsifian.org Congrats! Thatās no small feat.
@lyse@lyse.isobeef.org 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).
For the first time in years, I managed to get out and throw a round of disc golf. Had a good time playing Vietnam Veterans Park in Kannapolis, throwing +10 over 9 holes, with my only par being thanks to a 40ā āputtā with my MRV. And the weather was perfect.
I hope to play another round soon.
@lyse@lyse.isobeef.org 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/
Went 2/3 at Magic today: Prosper dominated game 1, Ash and his Knights came within a single planar die roll of winning game 2, and then Atraxa came up with the win in a fairly tight game 3. All in all, not a bad afternoon of Magic.
express-twtkpr: an ExpressJS library that enables hosting (and directly posting to) a twtxt.txt file. It works great (otherwise you wouldn't be able to read this), but it's still in alpha and lacks documentation, examples, tests, installation flexibility, or polish, so please use it at your own risk. Enjoy! https://www.npmjs.com/package/express-twtkpr
@prologic@twtxt.net Thanks! š
@bender@twtxt.net 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).
express-twtkpr: an ExpressJS library that enables hosting (and directly posting to) a twtxt.txt file. It works great (otherwise you wouldn't be able to read this), but it's still in alpha and lacks documentation, examples, tests, installation flexibility, or polish, so please use it at your own risk. Enjoy! https://www.npmjs.com/package/express-twtkpr
@bender@twtxt.net 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. š¢
Iām happy to report that, earlier today, I published an early version of express-twtkpr: an ExpressJS library that enables hosting (and directly posting to) a twtxt.txt file. It works great (otherwise you wouldnāt be able to read this), but itās still in alpha and lacks documentation, examples, tests, installation flexibility, or polish, so please use it at your own risk. Enjoy! https://www.npmjs.com/package/express-twtkpr
@bender@twtxt.net 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ā¦
New library alert => Last night, I published twtxt-lib, a new isomorphic TypeScript library for parsing and interacting with twtxt.txt files. Check out the demo at https://twtxt-lib.itsericwoodward.com/!
Last night, I beat Castlevania SotN. Tonight, I won the Superbowl in NFL Blitz 2000.
Clearly, my mad PS1 skillz are finally at their peakā¦
Another successful playthrough of Symphony of the Night draws to a close⦠And Richterās story begins once againā¦
What a horrible night to have a curseā¦
Spent most of the long weekend working on a few coding projects⦠specifically, I pushed some updates for TwtKpr to my test instance before spending some time working on the build process and demo page for my new twtxt-parsing library⦠which lead me to make some changes to my existing fluent-dom-esm library.
So, nothing actually got finished, but the incremental updates continueā¦
Spent most of the long weekend working on a few coding projects⦠specifically, I pushed some updates for TwtKpr to my test instance before spending some time working on the build process and demo page for my new twtxt-parsing library⦠which lead to me make some changes to my existing fluent-dom-esm library.
So, nothing actually got finished, but the incremental updates continueā¦
New post: 2025 - A Year in review (https://www.itsericwoodward.com/journal/2025/12-31-year-in-review.html)
Happy New Year, everyone!
Day 6 of AoC, and Iām all caught up. 12 puzzles down, 12 more to go!
Working on day 3 of the Advent of Code 2025: https://adventofcode.com/
My solutions repo: https://git.itsericwoodward.com/eric/aoc-2025
I like to read through old RPG books and zines for inspiration for my games, and lately Iāve been enjoying the Arduin Grimoire (https://en.wikipedia.org/wiki/Arduin), one of the earliest 3rd-party zines (coming out during the initial run of OD&D). Itās filled with a bunch of unique ideas (some better than others), entirely too many charts, and is very much a product of its time, but thereās something about its ārawā-ness (and its variety) that I still find appealing.
I wound up running 2 out of 3 of the one-shots, both Halloween games based on Ravenloft / Curse of Strahd, and both rousing successes (for the players, not so much for Strahd).
Since Iām on something of a gaming kick, I think Iām going to try and finish plotting out the rest of the fae adventure Iām running for my kids, while also (hopefully) finishing my super secret astral gaming project.
Can I do it? Stay tuned and find out!
After taking most of the year off from role-playing, Iāve got 3 one-shots coming up in the next month, all of which need some tweaking before I can run them (as do my homebrew rules).
Plus thereās a ābuild a gameā code challenge at work, a pair of media boxes I need to rebuild, a pair of dead machines I need to diagnose, and Iād like to (eventually) get my twtxt apps to a āreleasableā state.
So many projects, so little (free) timeā¦
@bender@twtxt.net 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. š
ā« MTVās Amp: Season One Playlist ā« https://youtube.com/playlist?list=PLBXO-yEpu7qfeUQoFVHFsZuHdHAxOW6O8&si=m2TxRaKYBwXoKrYx
Shuffle. Jam. Repeat.
@lyse@lyse.isobeef.org 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. š
I finally solved the loading issue in my WIP reader, TwtStrm (and apologies again to anyone that got spammed while I was diagnosing the issue).
After another round of coding this weekend, Iām happy to report that it now renders all the twts (with markdown parsing), complete with localstorage and server-based file caching.
@prologic@twtxt.net That zs looks pretty cool! I love simple static site generators, and look forward to trying it on my next web site project. Kudos!
User-Agent header. Instead of the URL, the nick is repeated.
@lyse@lyse.isobeef.org Thanks, I think I fixed it now. Sorry for the spam.
I finally resolved my issues with hashing twts⦠with REGEX!
Dates in JavaScript are truly strange creatures.
@bender@twtxt.net 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!
Apologies if Iāve been spamming anyone out there in twtxt-land today.
Iāve been working on a couple of twtxt-related projects, and one of them is a reader (tentatively called twtstrm) written in JS. I used dummy data for the first few stages of development, but now Iām at the point where I need some real data, and that meant hitting up my actual following list.
Of course, it didnāt help that I had a typo in my If-Modified-Since headers, but all that has since been resolved.
Anyways, if I accidentally spammed you with requests today, I am sorry, and it shouldnāt happen anymore.
We thank you for your patience, and apologize for the inconvenience.
Yesterday, I published my first package on JSR: https://jsr.io/@itsericwoodward/fluent-dom-esm.
Then today, I pushed an update to my site to show my twts (including a schnazzy little animation to add them): https://itsericwoodward.com/
Overall, a most productive weekend.
š āHow to Make an Apostrophe in HTML: The Complete 2500 Word Guideā https://thelinuxcode.com/how-can-i-make-an-apostrophe-in-html/
I had some trouble with my nginx reverse proxy, but after much tweaking and fiddling, I now have the prototype version of my node-based twtxt editor up and running on my site! š #twtgoals
I finally have my new (top-secret) twtxt client in a working state. Next comes the deployment, which I hope to finish tonight. Release date: TBD. Stay tuned!