It's even worse than it appears..
A friend is someone who laughs at your jokes. 😜#
Today I'm testing a new Node.js app that watches a set of feeds (RSS, Atom, RDF) and posts new items to a Mastodon account. This one works with any Mastodon server. Requires some technical competence, but not much. The idea is to get the example code out there, for reading feeds easily and posting to Mastodon, again easily. I want feeds to melt into the fediverse, forming sort of a feediverse, which is maybe just a little bit bigger. I am so on board with decentralizing everything we do. My pitch for user-run servers goes back to the beginning of the web. Now having knocked down one of the biggest silos, all of a sudden lots of blue sky! Let's not give up our freedom this time. Anyway watch for a release later today or tomorrow. #
As you may recall, I had the lens in my right eye replaced on Monday. Simple outpatient deal. The result is amazing. Everything is so sharp and clear, colors so vivid. I had been living in a visually foggy and blasé world, now it’s the other extreme, a total acid trip.#
Over the years I've bought some great screens. An OLED screen in the living room. A retina screen on my desktop Mac. Until today I'd never been able to see enough detail to appreciate how nice they are. #
You know how they used to say if you're not the customer, you're the product. Well today it's if you're not the Nazi you're the Good German or worse. #
  • I hear every day that people don't like that FeedLand uses Twitter for identity. Some comments.#
    • Using Twitter for identity, at this time, gives Twitter nothing other than the fact that you logged into my app, data which is already publicly accessible. In return they give me a unique name for you, so your data on my server doesn't overwrite someone else's data. #
    • Changing the identity system would take a lot of time, time that isn't going into adding features, interop and fixing bugs. #
    • I've had lots of experience being misdirected by the wants of non-users. If only I'd do this then I'd reap the benefit of their usage. But usually that doesn't materialize. Making new features for people who love my product, and leading other developers, is a much better use of my time. #
    • At some point I hope to offer choice, for reasons that clearly help the product. #
  • It happened for newly logged-in users at startup, as FeedLand loads for the first time.#
  • The first thing the app does is load the user's appPrefs.json file -- it fails, of course -- it hasn't been created yet. It's not an error, although in the JavaScript console it looks like one. #
  • The code as originally written allows for this, but I added something on Nov 8, as part of the Your Feed feature, code that copies something from the place that doesn't exist yet to a place that does, without checking. Boom. #
  • This meant that the rest of the startup code didn't run. The app is sitting there waiting for the first-time user to do something. Everything is blank, none of the commands work, and yet two of them persevered, and reported the problem. That in itself is kind of a miracle. #
  • The second report provided a screen shot of the JavaScript console, which pointed me to the problem, almost by accident -- he didn't realize that was the problem, because there were two errors reported before it (as noted above those aren't real errors). If the screen shot had been slightly shorter, I would've been pulling my hair out looking for a needle in the haystack. Instead it pointed exactly to the problem, the code had a comment providing the date it was introduced (Nov 8), and sure enough the first report came after that change. We had tested this functionality at least a dozen times before Nov 8 without problems, so the first time I wrote it off as cosmic rays. Not a good call Dave, in retrospect. A very bad call actually.#
  • Anyway, since the problem cures itself as soon as they get a good logon, it simply wasn't repeatable. But this time, having a theory about where the error was, and I had a virgin Twitter account ready for the test, one that had never been used with FeedLand -- I logged in and it was fixed, which I could see as I stepped through the code in the debugger. #
  • But -- I should have tried to repeat it after the first report. But I guess I didn't want to believe the problem was as bad as it was, and I didn't feel like searching for the needle. However if I had done it, presumably I would have looked in the JavaScript console and seen what the problem was and a few hundred more people would have had a good initial experience with FeedLand, instead of the really awful one they actually had. #
  • Many apologies to the people who endured this, it is so freaking embarrassing. I am sorry this happened. #
  • Oy. I have to do better. #

Last update: Wednesday November 30, 2022; 8:35 PM EST.

You know those obnoxious sites that pop up dialogs when they think you're about to leave, asking you to subscribe to their email newsletter? Well that won't do for Scripting News readers who are a discerning lot, very loyal, but that wouldn't last long if I did rude stuff like that. So here I am at the bottom of the page quietly encouraging you to sign up for the nightly email. It's got everything from the previous day on Scripting, plus the contents of the linkblog and who knows what else we'll get in there. People really love it. I wish I had done it sooner. And every email has an unsub link so if you want to get out, you can, easily -- no questions asked, and no follow-ups. Go ahead and do it, you won't be sorry! :-)