threadviewer.com bug fix. We now freeze threads after 12 hours. So you have to finish your writing before then. #
Finally MSNBC is coming clean on the fact that the Repubs and Fox News et al work for Putin. Let's keep that in mind when we think about insurrectionists invading our Capitol. And btw the guilty parties so far aren't doing any jail time. Not much of a deterrent. #
I hate doing business with robots over the telephone. Can't you just fucking send a fucking email UPS.#
Speaking of which the other day the phone rings, I pick up, it's a robot from the gas company, something is very wrong, I need to call this number, which she recites, and goes on, never repeating the number. At the end they threaten that they're going to cut off my supply (which I know legally is hard to do, and btw I'm current with my bill). So I call. I get put on hold. We appreciate your pateince, another robot says. Your call is important. I'm sure. When an actual human comes on the line I am accused of being rude for telling her what her stinking company just did in the middle of my freaking work day. They want to know where the check is. I don't know. My credit is good. Maybe the check got delayed. I hear there are problems with the post office. God bless the robots. And by the way, email is much more efficient! Please.#
If you're new to LO2, the glossary is a pretty unique feature that goes back to Clay Basket in 1995, and was documented as part of Frontier's website framework. It's a permanent fixture, very useful, and easy once you know what it does and how it works. #
The glossary is a substitution table. When a term appears in text being rendered, the term is replaced with its value. So you could define an entry called "my blog" (the quotes are part of the definition) and its value would be a link to your blog. At some time in the future if your blog moves, just change the value of "my blog" and links to the blog will change too, when the text is rendered. #
Here's the glossary I use in all my pages. It's a public outline. It has to be public for it to work, so you shouldn't put private information into the glossary. #
In LO2 a glossary is a two-level outline. At the top level are a set of terms the renderer will look for, and its subordinate text is what it will be replaced with. #
Here's a screen shot of part of my glossary, being edited in my outliner.#
In an outline where you want to use the glossary, choose Edit OPML Head from the file menu, and add an attribute to the table. Its name is urlGlossary, and the value is the URL you have on the clipboard. #
Now you should be able to use the glossary in your outline. #
Yesterday I wrote twobits about using GitHub as a storage system for a community of apps. #
The idea matches the as-yet unachieved ideal of using the web as an operating system, that for me goes back to 1994. It's the potential I saw when I first understood how HTTP works. Now in 2021, the one thing the web OS doesn't have is reliable storage for users that multiple apps can access to edit and render on the user's behalf. The same way you might have a text file on your desktop, that you write in a word processor (of your choosing, this is important) and send it over email, put it in a tweet, or a Facebook post, or print it. Or any of a million other uses. The key thing is the text file is yours. Not just for Mac or Windows, for everyone, anywhere. It's the wedge we need to be able to build a new world that's been technically possible for a couple of decades now. :-)#
It's important that we're using GIT which is an open and often-cloned data structure. You could move your data to another GIT provider if GitHub proved too expensive, or their service was failing, or really any reason at all. #
Dropbox was getting close to this idea, but they pulled back. That's why I did Fargo, which used Dropbox for storage. But no other app could access Fargo's outline files. They couldn't even access public files, that's the feature they withdrew. They had reasons to change course, not faulting the company. #
The main reason I picked up using GitHub as storage, again (I had experimented in 2017 with a GitHub-backed text editor) is that another app developer, LogSeq is going down this path: using GitHub as a place for users to store their data. Even better LogSeq is an outliner! And even better, they're supporting OPML. So now it gets interesting. I can imagine a user opening an outline in Drummer because it has a feature they need, and then opening the same file in LogSeq because it has features that Drummer doesn't. This is the nirvana we've been waiting so long for. And we're close to having it. #
GitHub is tempting, but there appear to be problems when accessed through their API, as I am doing. For example, if I saved a file to a user's repo, it might take 20 minutes before the changed version showed up to other apps. There must be a cache somewhere in there. I don't have a clear statement of how GitHub works here, maybe it's out there, but I wanted to do a reality check. #
LogSeq says they use a Node package called Isomorphic-Git. It has been reliable. But there are other problems. #
I've started a thread on this. Maybe we can figure this out. Or maybe it's something we come back to periodically until it works. We'd love to hook up with people at GitHub, after we've explored all other options. #
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! :-)