and you're not
Category: Uncategorized
November 5, 2021 by Scott Hanson

I’ve never worked with Github Actions before, but when thinking about how to push an outline from Drummer to GitHub I thought I’d take a look.

Actions are in YAML files saved in a special directory .github/workflowsin your repository. They can run when something happens in the repository (like a push or a pull request) or can be triggered externally (with an API call). The action starts a virtual machine, runs commands, then shuts down.

Fetching an outline from Drummer and committing it to the repository was pretty easy…

name: fetch-opml
on: [workflow_dispatch]
jobs:
  fetch-opml:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - shell: bash
          run: |
            git config --global user.name "GitHub Action"
            git config --global user.email "papascott@gmail.com"
            curl http://drummer.scripting.com/ScottHansonDE/papascott-de.opml -o papascott-de.opml
            git add papascott-de.opml
            git commit -m "Fetched at `date`" --allow-empty
            git push origin main

NB: This post was written in Markdown, not Drummer, since I don’t know yet how to render code blocks from OPML. Still diggin’!

November 3, 2021 by Scott Hanson

Correction 13 November: you should not use this for real secrets, since the root outline is not really hidden or secure. But for global variables that you don’t mind having exposed it should be OK. Caveat emptor!

My video demo yesterday revealed the URL of my Netlify build hook for all to see. It’s now been changed, but I need not have revealed. Drummer has a root outline where global variables can be defined.

So in the root outIine I can create an env object, and define an entry for netlifyBuildHook for the URL. (You have to use proper JavaScript object syntax, with brackets, colons and quotes.)

The xhr.open line of my build script can then be xhr.open("POST", root.env.netlifyBuildHook, true); without revealing the actual URL.

November 2, 2021 by Scott Hanson

Dave Winer asked me to make a quick video of how it looks for a user to post to Gatsby from Drummer. I’m more than happy to oblige!

October 31, 2021 by Scott Hanson

It works! At least for me, with a lot of limitations. But this post (and the two previous posts) on my Gatsby-powered blog was written in Drummer. The Dummer posts are integrated with the previous posts that were written in Markdown. The code for my blog with the new OPML plugin is on GitHub.

As I mentioned, I started with demo code by Andrew Shell for Little Outliner outlines. That was written for Gatsby v2, I submitted a couple of fixes so it would work with Gatsby v3 and the recently released v4.

The demo code plugin creates Markdown ‘nodes’ for the outline entries. I added a couple of frontmatter entries to these nodes for ease of processing. I then adapted my gatsby-node.js to handle both Markdown files and the Markdown nodes from the OPML plugin.

There are still a lot of limitations. It ignores blog posts without titles (my wish, for now) and does not support most of the attributes used by the OldSchool CMS. But now it’s my template, my layout, and my code, and I can add those features later whenever I want! 😛

October 22, 2021 by Scott Hanson

That build hook URL for Netlify requires a POST request. But Drummer lets you run a script from the Iconbar. Here’s mine.

const xhr = new XMLHttpRequest()
// XXX is given to you by Netlify
const hookUrl = 'https://api.netlify.com/build_hooks/XXX'
xhr.open('POST', hookUrl, true)
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.send(JSON.stringify({}))
October 21, 2021 by Scott Hanson

I’ve been thinking about how to use Drummer outlines in a static site generator, like Gatsby or Eleventy. They generally generate content from markdown files, so it must be possible to either export OPML to markdown or for the site generator read content directly from OPML.

I found some demo code by Andrew Shell for a Gatsby plugin to generate content from a Little Outliner outline. On a whim I forked it to my own repository and plugged in the URL for a Drummer outline. And it worked! It rendered the basic text of the outline entries, and I was able to deploy the site to Netlify.

Going one step further, on Netlify I set up a build hook for the site, and in Drummer put a script on my Iconbar to send a POST request to the build hook URL. And voilà! I have a build button my for Gatsby test site. It is, of course, a lot slower than OldSchool. 😃

There is of course a lot of work left before this will be usable, but for a beginning I’m pretty happy with it. Thank you Andrew for posting your demo code!

September 12, 2021 by Scott Hanson

That German word is literally “experience of success”, but a better translation would be “feeling of achievement”. And I just had one!

For over 10 years the banking software (that we use for both home and business) on my Mac has used a card reader to authenticate. The reader is so old it has a serial cable with a USB adapter attached. Every time MacOS updates I’ve been afraid the device will no longer be recognized. More annoying, when we’re on the road it’s a bulky device to have to pack along, especially for only one purpose.

I should mention that Germany has its own protocol to communicate online with banks (FinTS, formerly known as HBCI). So I can only use German banking software, and my German might be pretty good, reading a 200 page handbook or protocol specification in my second language is a bit of a barrier.

This has bothered me for years, and in the meantime there other ways to authenticate (e.g. using a smartphone to read a generated TAN graphic, used by our bank) that don’t involve extra and outdated devices. In fact German law now requires banks to use Two-Factor Authentication (2FA, I guess the card reader still qualifies). But I was afraid of trying to change the authentication method, I was afraid of losing 13 years of banking data that I had on my local machine!

Yesterday I decided to test changing the authentication. I set up a new account with the “photoTAN” authentication, and to my surprise the banking software applied the authentication to my existing account and it just worked! It took just 5 minutes, and now I’m free from my card reader!

So I guess sometimes when you come to a fork in the road you just have to take it!

September 11, 2021 by Scott Hanson

I could say it feels like only yesterday, but no, that’s not true anymore. It now feels longer ago than that, and that’s good.

Thanks to blogging I can look up my notes from that day. “I just feel numb. I miss an eloquent President, who can express what I and the nation must feel, but cannot put into words.”

We do business in Hamburg-Harburg, just blocks from Marienstrasse 54, where the plot was hatched. It is still creepy to me that this began so (geographically) close to us.

Almost immediately there were many expressions of grief and support from both German officials and ordinary citizens. This led directly to the German military involvement in Afghanistan that started a few weeks later.

Candles placed at the US Consulate in Hamburg, September 2001

Commemorative plaques placed at the US Consulate, September 10, 2021

Peace!

Last update: 7/31/25; 2:34:38 PM.