Gatsby is an open source static site generator. It's also a company. Based in Berkeley, has raised $46.8 million.#
Looking for an easy tutorial. I have literally never used it, so i would like to at least be able to talk about it, explain what it is and what this connection means. #
Glad to have it! Our goal is to connect everything with everything. Outlines in the middle. We rock! 😀#
In the confusion of last week's fixes for date stuff, a new rule was introduced that has caused some concern in the blogs and in the support forum. The rule comes in two forms:#
Every post must have a type attribute that's either outline, link or tweet. There may be others as we go. #
I am sorry for the breakage this has caused. I am a strong advocate of the No Breakage School of software development. But this is early days for Drummer, and not making this a rule from the outset was a mistake I didn't want to live with going forward. The CMS must have a way of telling that something is a post, and only going by the calendar structure isn't something I want to depend on.#
If this is a big problem, we can address it with a script that goes through your outline and finds all subs of days that don;'t have type attributes and put them there. It would not be a hard script to write, and I would be happy to do it, if it's needed. #
I've started a thread on the support forum for this topic, also for any problems resulting from the big shakeup of this week. #
This doesn't concern Drummer users directly, but I thought it deserved a change note.#
I installed the new version of Old School on the server that builds Scripting News. This predates Drummer by 4.5 years, so it works somewhat differently. It seems to work, I did a bunch of writing and rebuilding this morning. I made a couple of changes in cosmetic areas. The result is something that looks exactly like it should as far as I can tell. #
In a change note on the 28th, I talked about how you can delete days off the end of your outline, how this is a necessary feature for Scripting News, where I have been writing in the same OPML file for 4.5 years. It would have become unwieldy long before. #
Here's my suggestion for Drummer users considering using this feature, and I think eventually most of you will want to use it. #
Wait until November 1 or 2, after I give the all-clear, when we see if it works on Scripting News, and after I've had a chance to fix any resulting problems. #
I'd rather be the test case on this myself before trying to figure out why something went wrong on one of your systems. #
This is new code, and it's better to assume it has problems than just assuming it works as documented. Remember Murphy's Law and It's even worse than it appears. #
In all my years making software and working with users, I've never worked with so great a group of people. Amazing. I know I've said it before but I continue to be impressed! :-)#
I said in a comment today -- developers need support too. #
Three things changed re blogs in today's Old School changes.#
When rendering a blog, an outline must have one of three types. outline, tweet, link. We may add other types, but headlines must have a type attribute with one of these values to be a blog post. #
Every headline should have a created attribute. That value and the value of the timeZoneOffset head-level attribute are what we key on to know which day "bucket" a post belongs in.#
You can delete days of posts at the end of your outline without them disappearing from your blog. This is an essential feature for a blog like Scripting News, that has been in the same OPML file for 4.5 years. I have to be able to remove stuff. I actually completely clear my outline at the beginning of every month after archiving it in the Scripting-News repo.#
Use the big plus icon to create new posts and everything will work well. You can add the the attributes by hand, and I can't imagine why you'd want to do that. Of course you can add and change atts with scripts. 😄#
So if you rebuild your blog using the Build My Blog command in the Tools menu, it should work as if it were being built in Experiment 3, except it will be at the real address of your blog. #
Hopefully it will operate smoothly. Fingers crossed. Hoping for the best, expecting the worst. #
It would be helpful if everyone who sees this, whether or not you're in a Far East timezone, tries to build with the new CMS, just to test it out, so you have used it before it becomes the only option.#
The previous version is in pretty bad shape, I really want to get the new version installed and get beyond the date problems. #
When you test it out on your blog, just change "cluelessnewbie" to your username.#
The first time it builds your blog it might take a few seconds.#
When it's ready it will respond with a link to the test version of your blog. The real version, the one your readers see, is not changed by this experiment. This is all happening in a temporary space. Just for this test. No actual blogs were harmed.#
The thing to do then is to look it over and see if it got the timezone stuff right. And then look for any other errors. There has been a lot of rock and roll in Old School behind the scenes, but from your point of view it should be the same Old School you love (I hope) but without the timezone foolishness.#
Then, try adding a post, and do it again. Did it work?#
Then, assuming you live east of New York -- India, Malaysia, China, Australia, New Zealand and the like, wait until it's the 29th where you are and it's still the 28th here. Of if you're in Europe and you act pretty fast, you can post something just after midnight or so, and it'll be a good test because then it will still be the 27th here.#
What you should see is what you would expect based on where you are.#
Please keep us apprised of what's happening by posting a comment here.#
Anton found a data-losing bug yesterday. Unfortunately I'm head-down right now on getting international blogs working properly, it's a big job that must be done, or else I would join Anton in figuring out what went wrong in this case. #
Meanwhile there is still a data-losing problem that was uncovered by Scott Hanson ten days ago, similarly I have not been able to focus on that. But these are big issues. #
Also yesterday, a report from gwthompson that the Delete file command deleted a file when he pressed Cancel. I could not reproduce, and after a time, it stopped misbehaving on his machine. If you can confirm, that would be helpful. As always, steps to reproduce are essential. I might just rewrite the confirmation code, it could use it. Caveat: Only test with files you can afford to lose! 😄#
Software maintenance is a lot like working on a car, or a human body. Sometimes parts wear out after years of use. You then have to roll up your sleeves and figure out what happened, and fix it. In software, unlike cars and humans, you always can fix it, but sometimes it's easier than others. A teaser, I came across some features in Old School that people have been asking for that I forgot were there. I will save those to write up for when I'm done with this project.#
One more thing, I saw on a Drummer blog (I don't recall which one) someone said that adding links to outline text is very hard and that Markdown is easier. I wonder if people don't know how easy it is in Drummer. Here's how you do it...#
To add a link select the word or phrase you want to link from, click the link icon in the left edge (it's the second one), paste the URL into the dialog and click OK. That's it. #
Alex Johnstone, trailblazing Drummer blogger, asks what's the best way to include bits of code in a Drummer post. The answer is to add an flCodeSubs attribute on the parent of the code block, with a value of true. This should be in the blogging howto, but as yet is not. #
Thanks for the help in the Second blog timeZone experiment, which showed that we do indeed have an algorithm that works that figures out what goes on the home page of a non-US blog using the blog's local time, at any time in the day or night. #
I am now rewriting a fairly large part of Old School around this algorithm. It's the equivalent of open heart surgery. But not as dangerous. #
Once the work is done, maybe in a day or two, then we will do the Third blog timeZone experiment, on a test server, running far away from the deployed version, so we risk nothing, and once that is verified, we can proceed as if this never happened! ❤️#
First thanks for all the participation in the first timeZone experiment. I am now confident we have an algorithm that gets the numeric values for month, day and year, in the blog's local time zone for each post, and now believe we can accurately sort them out into baskets, by day. #
This will make it possible to restructure the code that builds the home page and the daily and monthly archive pages, so that they work across all time zones. #
The next test is to try sorting actual blog.opml files. #
For example, I have temporarily changed the timeZoneOffset attribute for cluelessnewbie to 12, which means it's now already the 26th according to my blog. And sure enough the top two posts that I just created appear in the sorting in the 26th. #
You can run the test against your blog by changing the name parameter on the URL to the name you use for your Drummer account, and see if the algorithm correctly sorts your posts into days. #
We can fill in all the details as far as Drummer is concerned, so don't worry about that. The important contribution here is that Frank is digging in to the WordPress API, one that I have looked at and not grokked. So just focus on getting that part right, and I'm happy to add new verbs to the language to support this connection. #
I can imagine a class of verbs for WordPress, it's that important a product for Drummer to connect to. #
Update at 6PM Eastern -- more work needed tomorrow, we have the problem solved for India, but still more to do for New Zealand. Amit has been a huge help.#
Amit Gawande has been trying to figure out the workflow for images from his desktop, to the web and back into web Drummer. #
Electric Drummer already has this facility built into it, but Amit can't use E/D for his application, since he has to be able to edit his blog from multiple locations. #
I suggested he try my Public Folder app. I was hoping he would use it because then I would have someone who could test its use with Drummer in a real world setting, and work with me to create a smooth workflow for people working from the web Drummer. It really helps to have another human being with the perspective of a user as something is developing. And I wanted to solve the problem not just for E/D for for web Drummer too.#
So, I had an idea how this might work, but unfortunately it wasn't possible to connect from the web browser to a local web server, which is actually what the Public Folder app is. We had a lot of fun with fractional horsepower http servers in Frontier in the 90s, but the powers that be thought this was a security problem (it likely is) so that avenue is no longer open. Tis a shame. We were so much more innocent then! 💥#
Then I had the idea that since Public Folder is able to write files to S3, and Drummer scripts can read those files, that might work. And -- tadahh -- it did work, resulting in version 0.4.8 of Public Folder, which is now available for download. The instructions on how to set up are also on that page. #
I was sure at some time Public Folder would come in handy for others. I already depend on it myself for all my this.how style outlines, including the docs for Drummer, which are all uploaded publicly via Public Folder.#
The idea of Public Folder, btw, was to replace the public folder Dropbox used to have which it phased out. It was an important thing.#
I think eventually all my apps will fit into The World of Drummer in some way. It's like the Marvel Universe or a big family reunion. ❤️#
I try to spend some time each day looking at fixing bugs, but I have to move forward on other fronts too, and I only spend about 4-5 hours working on this stuff every day. Any more than that is a waste of time, I lose productivity, burn myself out, am unhappy and eventually it makes me sick. Not that you wanted to know all that. ;-)#
Sometimes I can't dig in because I don't understand what happened, because (honestly) the reports are not well specificed, or well written. People can help out by trying to get reproducible steps, that makes it a quicker job for me, more likely to result in a fix, rather than wasted time. #
Sometimes I can't dig in because I just can't get there. Esp problems in Concord, the core outliner. It is open source, so other people can work on that. #
PS: One of the things on my todo list is to update the Concord repo with my latest fixes.#
Read the readme with some care before posting an RFC. #
It's not for support and bug reports, that's what the support site is for.#
It's also not a community site, not a place to promote yourself, or your projects. It's a place to try out ideas, get feedback or buy-in, to initiate collaboration. #
You're still on your own for community, this is not something I want to be involved in at this time. But I do want to share ideas. In fact I have an RFC I plan to write myself, for a feature that I'm not ready yet to release because I want to hear what people think first. #
But please before you post anything there, read the readme. It's important. #
When I read some reports, I want to ask "What did you mean by that?"#
Because it isn't at all apparent to me what you did, or what you expected to happen.#
Sometimes people use a word that means something updated, when you meant it didn't appear at all. These distinctions matter a lot -- when trying to figure out what went wrong, if the software did something incorrect, if the user did, or if there was a misunderstanding about what the software was supposed to do.#
So here's a request of the people who write great bug reports -- when you see something that's fuzzy or unclear, please pitch in and help out, and ask the other person to clarify what they mean. #
In general I think people who write great bug reports know that they do. One way to tell is if I was able to quickly fix a problem you reported without asking any questions. Those are the best. We all win. You get software that does what you want, and I get to fix a problem in the software, that's not going to go away until it is dealt with. #
Jack reported a problem with urlBlogWebsite, that the change wouldn't be reflected in the rendered blog. #
On investigating I found DrummerCms was only passing the value through when the user's config record was being created, which is the first time they built their blog after DrummerCms rebooted. That's why rebooting cleared the problem, temporarily. I fixed it, and also fixed the same problem with the timeZoneOffset value. #
This is a result of a frantic pace of feature-adding and bug fixing. Normally I'm more careful. Sorry for the problem, and Jack thanks for the very good report. It pointed me right to the problem.#
I'm looking for docs I posted here that have not made it into the official docs, and I'm finding quite a lot. I expected to. I had this on my todo list for a long time. #
I recommend it, esp if you came in after the test period. You'll probably find some unexplored corners of the product. #
Here's the initial post I mentioned in the podcast. #
Just before Drummer shipped I sent an email to Manton Reece, the developer and runner of micro.blog, asking if he was interested in being the first blogging system to hook up with Drummer via the OPML bridge. The same interface we use in Drummer to connect to Old School. #
I'm going to spend the rest of the day planning another pass over the docs.#
I want to make it easier for me to move stuff from the Change Notes outline to the docs.#
Right now imho it's too hard to find things. I want to improve that too. #
I watched Anton try to help someone find the docs for the header image att. That should be both memorable and quick, and it's neither of those things at this point.#
I very much consider docs an integral part of this product, not an afterthought. We're going to make the docs better and better, just as we do with the software. #
There was a discussion about workflow for images in web Drummer yesterday, and it got me thinking of how it should work, and I think I figured it out, at least for people who have Amazon accounts and know how to set up an S3 location. It's a good skill to have, and I wish Amazon made it easier, it shouldn't be anywhere near as hard as it is, esp if all you want to do is store small images there. But as they say it is what it is.#
There are other answers possible, but mine is to use the PublicFolder app. I checked and it has a HTTP server built in, and therefore a simple interface can be created through a Drummer script, to get the last image you published and put it on the bar cursor headline as an image attribute. #
This is how I do it on Electric Drummer except the PublicFolder functionality is baked in. There is a note in the blogging how to about how to set it up. It's only complicated because Amazon makes it so. Sorry. #
Anyway, the bridge between PublicFolder and Drummer is not built yet. I have a bit of work to do to get PF current with the latest Electron stuff. But it's definitely on my todo list. #
There was a problem in how the default template worked for people who were using HTTPS for their blog. It's a long story, but it meant that they couldn't use the About panel, and I want you all to use them, so when I read your blog I have an idea who's speaking. ;-)#
I fixed the problem by making Old School read the outline pointed to by urlAboutOpml. #
And the outline is baked into the home page of the site, via a macro called undefined.#
If you've created a custom version of the template, you'll need to add a bit of code to it. #
More details in this comment on the thread for HTTPS support.#
On Scripting News I always put the singular items ahead of the titled items. #
It's hard on the readers if you don't do it this way, because the singular items that follow a titled item appear to be part of the titled item. The delineation isn't easy to spot. It's possible that there's a visual way to keep them sorted out, but I don't know what it is. So I put all the singular items first. #
Scott Hanson reports on a problem that was reported last night by Alex Johnstone. #
And a similar issue reported this morning by @ambiprospect. (No name on his profile page.)#
The must be a reason these are all showing up now, but I can't think of why. Maybe when we figure out what it is, it'll be apparent. But there have been zero changes in anything core in Drummer in the last week. I consider the software stable, so I don't want to screw around with that, esp when the rollout is going so well. #
Reproducible steps are going to be the key to solving this. I will be taking a look at the source code based on the reports and seeing if that helps to understand where there might be a problem. #
We've had problems like this with Drummer in development.#
When we catch a problem in the software, before we can fix it we need to be able to reproduce it. #
We're looking at what might be a serious problem in the tabs in Drummer, I'll have more on it shortly, but in this case as in all serious testing work, the reproducible steps are the only way you can get a problem fixed with any certainty. #
The other said I'm deleting requests for help that don't have any information other than something they did didn't work the way they thought it should. No one has the time to coax the relevant info out of the person. If you want help, you have a basic responsibility to respect the person you're asking for help from. #
Also noted that a lot of times the problem is web caching. Learn how to get your browser to do a hard reload. Always try that first. Once you have that mastered, it's amazing how much time you'll save. #
Postscript. I didn't lose them. I put them in the wrong outline. Operator malfunction.#
A long-time bug -- if a file title has a single-quote character, the display of the tab title will be screwed up. I've seen this before and tried to fix it unsuccessfully in August. I took another stab at it today, and it appears to be fixed on my machine.#
There's a thread on this -- if you've seen the problem and it's now either fixed or not, please report. Thanks. #
Let me know if it worked. I'm going to keep thinking it might be a problem, esp for others, until I hear back from you that it cured your problem. I'm not just helping you to help you, it's to help others too. #
Pay it back. If I helped you solve the problem, then when someone else pops up with the same problem, help them. It's how we build a community here. Otherwise it just burns itself out. #
I've got a routine. Right now all my time is being spent helping people with urgent matters, but the thing is, most of them are not actually urgent.#
This week is unusual. Next week I'd like to spend most of my working time fixing problems and moving forward with the software. #
What can't change is the amount of time I work each day. I used to be willing to push it way too far, and that got me sick. I just can't do that anymore.#
So try to be aware of that, right now I am the support for this product. No one else can do it. People are trying to pitch in and that's much appreciated.#
It's got to settle down, a bunch. If you feel exhausted and upset, then slow down, take a breath, we tend to get very urgent as we do our web thing. That's not a way to relate in a community like this. Go for a walk or a whatever you to do to relax, then take another look at the problem. It often happens that by the time you get back you've figured out what the problem is. If not, then carefully write up what you did, what you expected to happen, etc. #
In the section of the Blogging howto where we discuss how to use PagePark to create a custom URL for your Drummer blog, I changed the recommendation for how to do it. The new way does not require a complex setup of Amazon credentials. #
Jack Baty has posted a Radio3 bookmarklet written by John Johnston that supposedly works. Somewhere along the line, the one on the Radio3 site broke? As Jack says it's been hard for me to respond to all the fires that have been burning, but I'm really glad these guys did. #
Here's the link. If the consensus is that it works, I'll update the Radio3 site. #
The focus has been on Drummer as a blogging tool, and I couldn't be happier with the response. I think we have gotten the initial glitches taken care of, and now I can step back and take a deep breath and start to think about what's next.#
In the meantime, if you're a script person, and I think a bunch of you are, have a look at the scripting howto. #
I have an interesting new script I want to share with you, in the morning.#
In the meantime as a former Californian and a baseball fan since childhood, I have a game to watch tonight. And of course I'm rooting for the Giants. #
When you launch E/D for the first time, you are told the author of the program can't be verified and the Mac will refuse to launch it. Hope is not lost!#
People have noted that the mod date is in 2020, that's because that's the mod date of the Electron package. I can probably fix that, and will attempt to do so. #
People have noted that the app is big. Yes it is. That's because there's a full browser and Node stack in the package. Drummer itself is quite small. This is the way it works in 2021. You have to bring the browser and operating system with you on trips to the Mac. #
I've reviewed the code in drummerCms, and I'm 99 percent sure we'll be able to set it up so you can run your own CMS and put the pages in your own S3 bucket. I think that'll probably be ready tomorrow, knock wood, praise murphy.#
You will have to run a server to get that feature though. But there will be no programming involved. #
Some Drummer users are trying to get drummerCms to work on their servers, so they can publish to a custom domain. To do so you have to set up your system so that Node apps can read and write to S3 via Amazon's API. #
I've been telling people to follow Amazons directions. I just reviewed them and they seem pretty straightforward. But they could be a tiny bit easier, so I wrote these instructions. #
Want to be sure you all know about the Drummer blog. #
It has an RSS feed, of course, and you can subscribe to it in your favorite reader. #
The thing I want to point out is that the blog and the Change Notes outline are the same thing. The text you're reading also appears on the blog. It's kind of a unified field theory of writing for the web. It's all outlines, from top to bottom. And imho that's as it should be. 😀#
I think there are very strong advantages to subscribing to the outline in an outliner, that we're just beginning to explore this communication medium. We used it in the early 2000s at UserLand, with the right team, it really works. #
If you want to get an idea of what I/O is about, I recommend this 2009 piece by Hutch Carpenter. #
Unqualified, absolutely great response. Everyone seems to love Drummer. #
Here's the number, there have been 950 page loads of drummer.scripting.com on Monday.#
That's like saying your app was launched 950 times. That's fantastic. I would be happy if that's as large as the user base ever got. Because we can go somewhere with these users. And that's what I wanted. #
A detail that slipped through the cracks, the Twitter and Facebook metadata in the Drummer home page still were about Little Outliner. So I took a new screen shot, and fixed up the links and description. And went ahead and linked to Drummer on both Twitter and Facebook. It had already been discussed on Twitter, but not linked to. #
I was working with a user last night who wanted to use PagePark to provide his own domain name for his Drummer blog. This is very much a supported and recommended thing to do. #
However, when he installed and ran PagePark it failed. On further investigation it broke due to the dateformat change I documented on Scripting News, that same one that took down the oldSchoolBlog package. #
I did a quick survey of all my code, I use dateformat everywhere. This is a first class mess. #
What's even more interesting is that he had the problem on Glitch, where I don't believe they give you the option of what version of Node to install. If that's true then dateformat broke Glitch too. #
In any case -- for today -- I just updated the two bits of code that PagePark uses that broke, they are daverss and githubpub. I fixed them, published the new versions to NPM, updated my local test PagePark install and it boots up. Problem solved. So now we can proceed with the coolness of getting a $5 a month server to front for this user's Drummer blog.#
For all the newbies, welcome to the Change Notes outline for Drummer.#
This is where I (Dave) report on new features and fixes in Drummer and related projects.#
Today, I want to invite new Drummer users to say hi, and let us know what you think, and ask whatever questions you may have. Not promising we'll have answers for all of them, but we'll try. #
I write docs in the change notes (see below), figuring at some point I'll go through the outline and pick out things that are not in the published docs.#
I know it's confusing that when you open a second instance of Drummer (web) it redirects the previous instance, in the background, to scripting.com. At the time, I didn't have any other obvious choice of where to redirect to, and the browser won't let me close the tab (that would be the obvious choice). #
After Anton's report, I gave it some thought and decided a better place to redirect to is the new About page. I thought about creating a special page just for this purpose but couldn't figure out how to explain it to someone who will probably have no clue they did what they did. It does this to protect you from having two versions of outlines conflicting with each other. #
There are other ways to deal with it, I've since learned, but at this stage can't do anything more complicated that what I've done here. #
It's a quiet period as I get ready to flip the switch from private to public. Taking notes on changes, but not publishing them now, rather I'll post them all here at once when it's time to open up.#
I talk about some of those changes in the podcast. #
Since Sunday is the 27th anniversary of blogging at scripting.com (or anywhere, for that matter), let's make that the day that the doors officially open for Drummer. There will still be things to do at that point, and that's ok. As they say software is a process. #
I uploaded the Markdown versions of August and September to the Drummer testing repo. I find it's valuable to read them in this format too, I remember ideas I noted but haven't acted on yet. If you want to continue to help testing, you might get ideas of things to look at by reading through these files. #
I added include nodes for: February, March, April, May, June, July (all of July, not just the 31st) #
Also added the OPML source files to the GitHub repo, as part of the record. #
Please keep using Drummer and reporting problems. #
Report things that fail. I'm not concerned so much about esthetic glitches or long-term problems we can work around, rather things that used to work that don't work now. This is called "regression testing." Did something we do cause the product to regress?#
You won't see many coding updates here until we go public with Drummer. #
I am working, steadily and methodically (I hope) but not taking chances on breaking things. #
I want a product that's at least as stable as LO2, which has proven to be very stable. #
The time to flip the switch is soon. Please find the problems now if you can, they may be harder to deal with later. #
With Scott Hanson. I just posted a summary of how Drummer configures the keyboard internally. It probably would be pretty straightforward to give this ability to Drummer users, esp since Drummer has a scripting capability and you can have code run at startup.#
Anton reported a problem with the Links page on his Drummer blog, and on the Links page on Scripting News.#
I believe I have fixed the problem in both places, by making a change in Radio3. Rather than having the blogs do the rendering of the HTML for the linkblog, I have Radio3 do it. It's a better distribution of labor, and it was easier to work in Radio3 than in the blog rendering code.#
Here's how to update your linkblog so the new code will find the rendered HTML.#
Either post a link to your linkblog, or edit a link and repost it. The link doesn't have to change, it just needs to force a rebuild of all the Radio3 files which will now include the HTML rendering. If it works, say on Anton's blog, this link will work. At that point, when you reload Anton's blog, its links page will no longer be blank (as it was after I made this change).#
Let's keep a lookout on the Links page to make sure it keeps working. This is very old and strange code written mostly in 2014, when I didn't understand JS as well as I do today, so it can be a bit flaky as we just found out.#
Anton reports a problem with the linkblog page on Drummer blogs, and observes that the same problem is appearing on the Scripting News home page.#
I verified that there is a problem there. And I got to work on moving the code that Radio3 uses to render the blog, into Scripting News, and now it works there too. I'm going to let it burn in for a bit to be sure it's working there, before porting the change into Drummer. #
Gatsby is an open source static site generator. It's also a company. Based in Berkeley, has raised $46.8 million.#
Looking for an easy tutorial. I have literally never used it, so i would like to at least be able to talk about it, explain what it is and what this connection means. #
Glad to have it! Our goal is to connect everything with everything. Outlines in the middle. We rock! 😀#
In the confusion of last week's fixes for date stuff, a new rule was introduced that has caused some concern in the blogs and in the support forum. The rule comes in two forms:#
Every post must have a type attribute that's either outline, link or tweet. There may be others as we go. #
I am sorry for the breakage this has caused. I am a strong advocate of the No Breakage School of software development. But this is early days for Drummer, and not making this a rule from the outset was a mistake I didn't want to live with going forward. The CMS must have a way of telling that something is a post, and only going by the calendar structure isn't something I want to depend on.#
If this is a big problem, we can address it with a script that goes through your outline and finds all subs of days that don;'t have type attributes and put them there. It would not be a hard script to write, and I would be happy to do it, if it's needed. #
I've started a thread on the support forum for this topic, also for any problems resulting from the big shakeup of this week. #
This doesn't concern Drummer users directly, but I thought it deserved a change note.#
I installed the new version of Old School on the server that builds Scripting News. This predates Drummer by 4.5 years, so it works somewhat differently. It seems to work, I did a bunch of writing and rebuilding this morning. I made a couple of changes in cosmetic areas. The result is something that looks exactly like it should as far as I can tell. #
In a change note on the 28th, I talked about how you can delete days off the end of your outline, how this is a necessary feature for Scripting News, where I have been writing in the same OPML file for 4.5 years. It would have become unwieldy long before. #
Here's my suggestion for Drummer users considering using this feature, and I think eventually most of you will want to use it. #
Wait until November 1 or 2, after I give the all-clear, when we see if it works on Scripting News, and after I've had a chance to fix any resulting problems. #
I'd rather be the test case on this myself before trying to figure out why something went wrong on one of your systems. #
This is new code, and it's better to assume it has problems than just assuming it works as documented. Remember Murphy's Law and It's even worse than it appears. #
In all my years making software and working with users, I've never worked with so great a group of people. Amazing. I know I've said it before but I continue to be impressed! :-)#
I said in a comment today -- developers need support too. #
Three things changed re blogs in today's Old School changes.#
When rendering a blog, an outline must have one of three types. outline, tweet, link. We may add other types, but headlines must have a type attribute with one of these values to be a blog post. #
Every headline should have a created attribute. That value and the value of the timeZoneOffset head-level attribute are what we key on to know which day "bucket" a post belongs in.#
You can delete days of posts at the end of your outline without them disappearing from your blog. This is an essential feature for a blog like Scripting News, that has been in the same OPML file for 4.5 years. I have to be able to remove stuff. I actually completely clear my outline at the beginning of every month after archiving it in the Scripting-News repo.#
Use the big plus icon to create new posts and everything will work well. You can add the the attributes by hand, and I can't imagine why you'd want to do that. Of course you can add and change atts with scripts. 😄#
So if you rebuild your blog using the Build My Blog command in the Tools menu, it should work as if it were being built in Experiment 3, except it will be at the real address of your blog. #
Hopefully it will operate smoothly. Fingers crossed. Hoping for the best, expecting the worst. #
It would be helpful if everyone who sees this, whether or not you're in a Far East timezone, tries to build with the new CMS, just to test it out, so you have used it before it becomes the only option.#
The previous version is in pretty bad shape, I really want to get the new version installed and get beyond the date problems. #
When you test it out on your blog, just change "cluelessnewbie" to your username.#
The first time it builds your blog it might take a few seconds.#
When it's ready it will respond with a link to the test version of your blog. The real version, the one your readers see, is not changed by this experiment. This is all happening in a temporary space. Just for this test. No actual blogs were harmed.#
The thing to do then is to look it over and see if it got the timezone stuff right. And then look for any other errors. There has been a lot of rock and roll in Old School behind the scenes, but from your point of view it should be the same Old School you love (I hope) but without the timezone foolishness.#
Then, try adding a post, and do it again. Did it work?#
Then, assuming you live east of New York -- India, Malaysia, China, Australia, New Zealand and the like, wait until it's the 29th where you are and it's still the 28th here. Of if you're in Europe and you act pretty fast, you can post something just after midnight or so, and it'll be a good test because then it will still be the 27th here.#
What you should see is what you would expect based on where you are.#
Please keep us apprised of what's happening by posting a comment here.#
Anton found a data-losing bug yesterday. Unfortunately I'm head-down right now on getting international blogs working properly, it's a big job that must be done, or else I would join Anton in figuring out what went wrong in this case. #
Meanwhile there is still a data-losing problem that was uncovered by Scott Hanson ten days ago, similarly I have not been able to focus on that. But these are big issues. #
Also yesterday, a report from gwthompson that the Delete file command deleted a file when he pressed Cancel. I could not reproduce, and after a time, it stopped misbehaving on his machine. If you can confirm, that would be helpful. As always, steps to reproduce are essential. I might just rewrite the confirmation code, it could use it. Caveat: Only test with files you can afford to lose! 😄#
Software maintenance is a lot like working on a car, or a human body. Sometimes parts wear out after years of use. You then have to roll up your sleeves and figure out what happened, and fix it. In software, unlike cars and humans, you always can fix it, but sometimes it's easier than others. A teaser, I came across some features in Old School that people have been asking for that I forgot were there. I will save those to write up for when I'm done with this project.#
One more thing, I saw on a Drummer blog (I don't recall which one) someone said that adding links to outline text is very hard and that Markdown is easier. I wonder if people don't know how easy it is in Drummer. Here's how you do it...#
To add a link select the word or phrase you want to link from, click the link icon in the left edge (it's the second one), paste the URL into the dialog and click OK. That's it. #
Alex Johnstone, trailblazing Drummer blogger, asks what's the best way to include bits of code in a Drummer post. The answer is to add an flCodeSubs attribute on the parent of the code block, with a value of true. This should be in the blogging howto, but as yet is not. #
Thanks for the help in the Second blog timeZone experiment, which showed that we do indeed have an algorithm that works that figures out what goes on the home page of a non-US blog using the blog's local time, at any time in the day or night. #
I am now rewriting a fairly large part of Old School around this algorithm. It's the equivalent of open heart surgery. But not as dangerous. #
Once the work is done, maybe in a day or two, then we will do the Third blog timeZone experiment, on a test server, running far away from the deployed version, so we risk nothing, and once that is verified, we can proceed as if this never happened! ❤️#
First thanks for all the participation in the first timeZone experiment. I am now confident we have an algorithm that gets the numeric values for month, day and year, in the blog's local time zone for each post, and now believe we can accurately sort them out into baskets, by day. #
This will make it possible to restructure the code that builds the home page and the daily and monthly archive pages, so that they work across all time zones. #
The next test is to try sorting actual blog.opml files. #
For example, I have temporarily changed the timeZoneOffset attribute for cluelessnewbie to 12, which means it's now already the 26th according to my blog. And sure enough the top two posts that I just created appear in the sorting in the 26th. #
You can run the test against your blog by changing the name parameter on the URL to the name you use for your Drummer account, and see if the algorithm correctly sorts your posts into days. #
We can fill in all the details as far as Drummer is concerned, so don't worry about that. The important contribution here is that Frank is digging in to the WordPress API, one that I have looked at and not grokked. So just focus on getting that part right, and I'm happy to add new verbs to the language to support this connection. #
I can imagine a class of verbs for WordPress, it's that important a product for Drummer to connect to. #
Update at 6PM Eastern -- more work needed tomorrow, we have the problem solved for India, but still more to do for New Zealand. Amit has been a huge help.#
Amit Gawande has been trying to figure out the workflow for images from his desktop, to the web and back into web Drummer. #
Electric Drummer already has this facility built into it, but Amit can't use E/D for his application, since he has to be able to edit his blog from multiple locations. #
I suggested he try my Public Folder app. I was hoping he would use it because then I would have someone who could test its use with Drummer in a real world setting, and work with me to create a smooth workflow for people working from the web Drummer. It really helps to have another human being with the perspective of a user as something is developing. And I wanted to solve the problem not just for E/D for for web Drummer too.#
So, I had an idea how this might work, but unfortunately it wasn't possible to connect from the web browser to a local web server, which is actually what the Public Folder app is. We had a lot of fun with fractional horsepower http servers in Frontier in the 90s, but the powers that be thought this was a security problem (it likely is) so that avenue is no longer open. Tis a shame. We were so much more innocent then! 💥#
Then I had the idea that since Public Folder is able to write files to S3, and Drummer scripts can read those files, that might work. And -- tadahh -- it did work, resulting in version 0.4.8 of Public Folder, which is now available for download. The instructions on how to set up are also on that page. #
I was sure at some time Public Folder would come in handy for others. I already depend on it myself for all my this.how style outlines, including the docs for Drummer, which are all uploaded publicly via Public Folder.#
The idea of Public Folder, btw, was to replace the public folder Dropbox used to have which it phased out. It was an important thing.#
I think eventually all my apps will fit into The World of Drummer in some way. It's like the Marvel Universe or a big family reunion. ❤️#
I try to spend some time each day looking at fixing bugs, but I have to move forward on other fronts too, and I only spend about 4-5 hours working on this stuff every day. Any more than that is a waste of time, I lose productivity, burn myself out, am unhappy and eventually it makes me sick. Not that you wanted to know all that. ;-)#
Sometimes I can't dig in because I don't understand what happened, because (honestly) the reports are not well specificed, or well written. People can help out by trying to get reproducible steps, that makes it a quicker job for me, more likely to result in a fix, rather than wasted time. #
Sometimes I can't dig in because I just can't get there. Esp problems in Concord, the core outliner. It is open source, so other people can work on that. #
PS: One of the things on my todo list is to update the Concord repo with my latest fixes.#
Read the readme with some care before posting an RFC. #
It's not for support and bug reports, that's what the support site is for.#
It's also not a community site, not a place to promote yourself, or your projects. It's a place to try out ideas, get feedback or buy-in, to initiate collaboration. #
You're still on your own for community, this is not something I want to be involved in at this time. But I do want to share ideas. In fact I have an RFC I plan to write myself, for a feature that I'm not ready yet to release because I want to hear what people think first. #
But please before you post anything there, read the readme. It's important. #
When I read some reports, I want to ask "What did you mean by that?"#
Because it isn't at all apparent to me what you did, or what you expected to happen.#
Sometimes people use a word that means something updated, when you meant it didn't appear at all. These distinctions matter a lot -- when trying to figure out what went wrong, if the software did something incorrect, if the user did, or if there was a misunderstanding about what the software was supposed to do.#
So here's a request of the people who write great bug reports -- when you see something that's fuzzy or unclear, please pitch in and help out, and ask the other person to clarify what they mean. #
In general I think people who write great bug reports know that they do. One way to tell is if I was able to quickly fix a problem you reported without asking any questions. Those are the best. We all win. You get software that does what you want, and I get to fix a problem in the software, that's not going to go away until it is dealt with. #
Jack reported a problem with urlBlogWebsite, that the change wouldn't be reflected in the rendered blog. #
On investigating I found DrummerCms was only passing the value through when the user's config record was being created, which is the first time they built their blog after DrummerCms rebooted. That's why rebooting cleared the problem, temporarily. I fixed it, and also fixed the same problem with the timeZoneOffset value. #
This is a result of a frantic pace of feature-adding and bug fixing. Normally I'm more careful. Sorry for the problem, and Jack thanks for the very good report. It pointed me right to the problem.#
I'm looking for docs I posted here that have not made it into the official docs, and I'm finding quite a lot. I expected to. I had this on my todo list for a long time. #
I recommend it, esp if you came in after the test period. You'll probably find some unexplored corners of the product. #
Here's the initial post I mentioned in the podcast. #
Just before Drummer shipped I sent an email to Manton Reece, the developer and runner of micro.blog, asking if he was interested in being the first blogging system to hook up with Drummer via the OPML bridge. The same interface we use in Drummer to connect to Old School. #
I'm going to spend the rest of the day planning another pass over the docs.#
I want to make it easier for me to move stuff from the Change Notes outline to the docs.#
Right now imho it's too hard to find things. I want to improve that too. #
I watched Anton try to help someone find the docs for the header image att. That should be both memorable and quick, and it's neither of those things at this point.#
I very much consider docs an integral part of this product, not an afterthought. We're going to make the docs better and better, just as we do with the software. #
There was a discussion about workflow for images in web Drummer yesterday, and it got me thinking of how it should work, and I think I figured it out, at least for people who have Amazon accounts and know how to set up an S3 location. It's a good skill to have, and I wish Amazon made it easier, it shouldn't be anywhere near as hard as it is, esp if all you want to do is store small images there. But as they say it is what it is.#
There are other answers possible, but mine is to use the PublicFolder app. I checked and it has a HTTP server built in, and therefore a simple interface can be created through a Drummer script, to get the last image you published and put it on the bar cursor headline as an image attribute. #
This is how I do it on Electric Drummer except the PublicFolder functionality is baked in. There is a note in the blogging how to about how to set it up. It's only complicated because Amazon makes it so. Sorry. #
Anyway, the bridge between PublicFolder and Drummer is not built yet. I have a bit of work to do to get PF current with the latest Electron stuff. But it's definitely on my todo list. #
There was a problem in how the default template worked for people who were using HTTPS for their blog. It's a long story, but it meant that they couldn't use the About panel, and I want you all to use them, so when I read your blog I have an idea who's speaking. ;-)#
I fixed the problem by making Old School read the outline pointed to by urlAboutOpml. #
And the outline is baked into the home page of the site, via a macro called undefined.#
If you've created a custom version of the template, you'll need to add a bit of code to it. #
More details in this comment on the thread for HTTPS support.#
On Scripting News I always put the singular items ahead of the titled items. #
It's hard on the readers if you don't do it this way, because the singular items that follow a titled item appear to be part of the titled item. The delineation isn't easy to spot. It's possible that there's a visual way to keep them sorted out, but I don't know what it is. So I put all the singular items first. #
Scott Hanson reports on a problem that was reported last night by Alex Johnstone. #
And a similar issue reported this morning by @ambiprospect. (No name on his profile page.)#
The must be a reason these are all showing up now, but I can't think of why. Maybe when we figure out what it is, it'll be apparent. But there have been zero changes in anything core in Drummer in the last week. I consider the software stable, so I don't want to screw around with that, esp when the rollout is going so well. #
Reproducible steps are going to be the key to solving this. I will be taking a look at the source code based on the reports and seeing if that helps to understand where there might be a problem. #
We've had problems like this with Drummer in development.#
When we catch a problem in the software, before we can fix it we need to be able to reproduce it. #
We're looking at what might be a serious problem in the tabs in Drummer, I'll have more on it shortly, but in this case as in all serious testing work, the reproducible steps are the only way you can get a problem fixed with any certainty. #
The other said I'm deleting requests for help that don't have any information other than something they did didn't work the way they thought it should. No one has the time to coax the relevant info out of the person. If you want help, you have a basic responsibility to respect the person you're asking for help from. #
Also noted that a lot of times the problem is web caching. Learn how to get your browser to do a hard reload. Always try that first. Once you have that mastered, it's amazing how much time you'll save. #
Postscript. I didn't lose them. I put them in the wrong outline. Operator malfunction.#
A long-time bug -- if a file title has a single-quote character, the display of the tab title will be screwed up. I've seen this before and tried to fix it unsuccessfully in August. I took another stab at it today, and it appears to be fixed on my machine.#
There's a thread on this -- if you've seen the problem and it's now either fixed or not, please report. Thanks. #
Let me know if it worked. I'm going to keep thinking it might be a problem, esp for others, until I hear back from you that it cured your problem. I'm not just helping you to help you, it's to help others too. #
Pay it back. If I helped you solve the problem, then when someone else pops up with the same problem, help them. It's how we build a community here. Otherwise it just burns itself out. #
I've got a routine. Right now all my time is being spent helping people with urgent matters, but the thing is, most of them are not actually urgent.#
This week is unusual. Next week I'd like to spend most of my working time fixing problems and moving forward with the software. #
What can't change is the amount of time I work each day. I used to be willing to push it way too far, and that got me sick. I just can't do that anymore.#
So try to be aware of that, right now I am the support for this product. No one else can do it. People are trying to pitch in and that's much appreciated.#
It's got to settle down, a bunch. If you feel exhausted and upset, then slow down, take a breath, we tend to get very urgent as we do our web thing. That's not a way to relate in a community like this. Go for a walk or a whatever you to do to relax, then take another look at the problem. It often happens that by the time you get back you've figured out what the problem is. If not, then carefully write up what you did, what you expected to happen, etc. #
In the section of the Blogging howto where we discuss how to use PagePark to create a custom URL for your Drummer blog, I changed the recommendation for how to do it. The new way does not require a complex setup of Amazon credentials. #
Jack Baty has posted a Radio3 bookmarklet written by John Johnston that supposedly works. Somewhere along the line, the one on the Radio3 site broke? As Jack says it's been hard for me to respond to all the fires that have been burning, but I'm really glad these guys did. #
Here's the link. If the consensus is that it works, I'll update the Radio3 site. #
The focus has been on Drummer as a blogging tool, and I couldn't be happier with the response. I think we have gotten the initial glitches taken care of, and now I can step back and take a deep breath and start to think about what's next.#
In the meantime, if you're a script person, and I think a bunch of you are, have a look at the scripting howto. #
I have an interesting new script I want to share with you, in the morning.#
In the meantime as a former Californian and a baseball fan since childhood, I have a game to watch tonight. And of course I'm rooting for the Giants. #
When you launch E/D for the first time, you are told the author of the program can't be verified and the Mac will refuse to launch it. Hope is not lost!#
People have noted that the mod date is in 2020, that's because that's the mod date of the Electron package. I can probably fix that, and will attempt to do so. #
People have noted that the app is big. Yes it is. That's because there's a full browser and Node stack in the package. Drummer itself is quite small. This is the way it works in 2021. You have to bring the browser and operating system with you on trips to the Mac. #
I've reviewed the code in drummerCms, and I'm 99 percent sure we'll be able to set it up so you can run your own CMS and put the pages in your own S3 bucket. I think that'll probably be ready tomorrow, knock wood, praise murphy.#
You will have to run a server to get that feature though. But there will be no programming involved. #
Some Drummer users are trying to get drummerCms to work on their servers, so they can publish to a custom domain. To do so you have to set up your system so that Node apps can read and write to S3 via Amazon's API. #
I've been telling people to follow Amazons directions. I just reviewed them and they seem pretty straightforward. But they could be a tiny bit easier, so I wrote these instructions. #
Want to be sure you all know about the Drummer blog. #
It has an RSS feed, of course, and you can subscribe to it in your favorite reader. #
The thing I want to point out is that the blog and the Change Notes outline are the same thing. The text you're reading also appears on the blog. It's kind of a unified field theory of writing for the web. It's all outlines, from top to bottom. And imho that's as it should be. 😀#
I think there are very strong advantages to subscribing to the outline in an outliner, that we're just beginning to explore this communication medium. We used it in the early 2000s at UserLand, with the right team, it really works. #
If you want to get an idea of what I/O is about, I recommend this 2009 piece by Hutch Carpenter. #
Unqualified, absolutely great response. Everyone seems to love Drummer. #
Here's the number, there have been 950 page loads of drummer.scripting.com on Monday.#
That's like saying your app was launched 950 times. That's fantastic. I would be happy if that's as large as the user base ever got. Because we can go somewhere with these users. And that's what I wanted. #
A detail that slipped through the cracks, the Twitter and Facebook metadata in the Drummer home page still were about Little Outliner. So I took a new screen shot, and fixed up the links and description. And went ahead and linked to Drummer on both Twitter and Facebook. It had already been discussed on Twitter, but not linked to. #
I was working with a user last night who wanted to use PagePark to provide his own domain name for his Drummer blog. This is very much a supported and recommended thing to do. #
However, when he installed and ran PagePark it failed. On further investigation it broke due to the dateformat change I documented on Scripting News, that same one that took down the oldSchoolBlog package. #
I did a quick survey of all my code, I use dateformat everywhere. This is a first class mess. #
What's even more interesting is that he had the problem on Glitch, where I don't believe they give you the option of what version of Node to install. If that's true then dateformat broke Glitch too. #
In any case -- for today -- I just updated the two bits of code that PagePark uses that broke, they are daverss and githubpub. I fixed them, published the new versions to NPM, updated my local test PagePark install and it boots up. Problem solved. So now we can proceed with the coolness of getting a $5 a month server to front for this user's Drummer blog.#
For all the newbies, welcome to the Change Notes outline for Drummer.#
This is where I (Dave) report on new features and fixes in Drummer and related projects.#
Today, I want to invite new Drummer users to say hi, and let us know what you think, and ask whatever questions you may have. Not promising we'll have answers for all of them, but we'll try. #
I write docs in the change notes (see below), figuring at some point I'll go through the outline and pick out things that are not in the published docs.#
I know it's confusing that when you open a second instance of Drummer (web) it redirects the previous instance, in the background, to scripting.com. At the time, I didn't have any other obvious choice of where to redirect to, and the browser won't let me close the tab (that would be the obvious choice). #
After Anton's report, I gave it some thought and decided a better place to redirect to is the new About page. I thought about creating a special page just for this purpose but couldn't figure out how to explain it to someone who will probably have no clue they did what they did. It does this to protect you from having two versions of outlines conflicting with each other. #
There are other ways to deal with it, I've since learned, but at this stage can't do anything more complicated that what I've done here. #
It's a quiet period as I get ready to flip the switch from private to public. Taking notes on changes, but not publishing them now, rather I'll post them all here at once when it's time to open up.#
I talk about some of those changes in the podcast. #
Since Sunday is the 27th anniversary of blogging at scripting.com (or anywhere, for that matter), let's make that the day that the doors officially open for Drummer. There will still be things to do at that point, and that's ok. As they say software is a process. #
I uploaded the Markdown versions of August and September to the Drummer testing repo. I find it's valuable to read them in this format too, I remember ideas I noted but haven't acted on yet. If you want to continue to help testing, you might get ideas of things to look at by reading through these files. #
I added include nodes for: February, March, April, May, June, July (all of July, not just the 31st) #
Also added the OPML source files to the GitHub repo, as part of the record. #
Please keep using Drummer and reporting problems. #
Report things that fail. I'm not concerned so much about esthetic glitches or long-term problems we can work around, rather things that used to work that don't work now. This is called "regression testing." Did something we do cause the product to regress?#
You won't see many coding updates here until we go public with Drummer. #
I am working, steadily and methodically (I hope) but not taking chances on breaking things. #
I want a product that's at least as stable as LO2, which has proven to be very stable. #
The time to flip the switch is soon. Please find the problems now if you can, they may be harder to deal with later. #
With Scott Hanson. I just posted a summary of how Drummer configures the keyboard internally. It probably would be pretty straightforward to give this ability to Drummer users, esp since Drummer has a scripting capability and you can have code run at startup.#
Anton reported a problem with the Links page on his Drummer blog, and on the Links page on Scripting News.#
I believe I have fixed the problem in both places, by making a change in Radio3. Rather than having the blogs do the rendering of the HTML for the linkblog, I have Radio3 do it. It's a better distribution of labor, and it was easier to work in Radio3 than in the blog rendering code.#
Here's how to update your linkblog so the new code will find the rendered HTML.#
Either post a link to your linkblog, or edit a link and repost it. The link doesn't have to change, it just needs to force a rebuild of all the Radio3 files which will now include the HTML rendering. If it works, say on Anton's blog, this link will work. At that point, when you reload Anton's blog, its links page will no longer be blank (as it was after I made this change).#
Let's keep a lookout on the Links page to make sure it keeps working. This is very old and strange code written mostly in 2014, when I didn't understand JS as well as I do today, so it can be a bit flaky as we just found out.#
Anton reports a problem with the linkblog page on Drummer blogs, and observes that the same problem is appearing on the Scripting News home page.#
I verified that there is a problem there. And I got to work on moving the code that Radio3 uses to render the blog, into Scripting News, and now it works there too. I'm going to let it burn in for a bit to be sure it's working there, before porting the change into Drummer. #
Copyright 2021, Dave Winer.
Last update: Sunday October 31, 2021; 11:18 AM EDT.