October 2020

Friday, October 30, 2020

How Frontier got started

Interesting timing. I’ve been talking to Dave lately about nodeEditor and how things worked in Frontier. Then I opened Instapaper today and was scanning through pages I had bookmarked to read later and came across a How Frontier got started which had an attached podcast that was super interesting. #

I knew a little bit of this, but I had no idea how deeply integrated everything is in Frontier. Very cool. #

It’s also interesting because when I bookmarked this I had no idea what this.how was and now I run my own version of it. #

Tuesday, October 27, 2020

Playing with Old School

I seem to be having issues with the site updating. I added a post this morning and I triggered a build but the site didn’t change. I can verify that the osgeekity.json file has changed. #

I tried deleting all the s3 bucket contents, I stopped oldschool and deleted the data folder. I restarted and triggered the build. The site was rebuilt, but without the latest post. #

It’s particularly odd because one of the changes I made was I added copyright to the opml header. I had figured out that was where [%copyright%] populated from. #

Now, I think I have an inkling of an idea of what’s happening. #

The post I wrote last night in the outline was published under an “October 26” heading but has the timestamp of “Tue, 27 Oct 2020 06:33:15 GMT” so it’s technically October 27. #

The post today is under the “October 27” heading with a timestamp of "Tue, 27 Oct 2020 13:28:25 GMT". #

My guess is that oldschool overwrote the real October 27 post with the October 26 post. #

The clue was that the website shows yesterdays post under “Tuesday, October 27, 2020” #

I’m going to try changing the created timestamp to the 26th and see if that fixes things. #

Yes! But I had to change the timestamp on the October 26 heading as well. #

Monday, October 26, 2020

The Path to Old School

Dave has sent me some pointers to look at his blogging platform Old School. I’m excited to try it out. #

I was able to get it working. I have it live at os.geekity.com #

Next step is to customize it more. I found the template files although I haven’t quite figured out why [%copyright%] isn’t resolving. It doesn’t appear to be something in the glossary which was my first guess. #

I’ll also need to track down where the countdown is coming from. #

Playing with Gatsby

I managed to create a Gatsby source plugin and generate a basic site from an OPML file. There are still a few things to do for it to be a complete demo. But I’m happy with how it works so far. #

OPML Notes Demo #

GitHub Repo #

OPML Source #

Sunday, October 25, 2020

Free standing rssCloud testing tool

I deployed the new rssCloud v2 to a temporary port and I’d like to have a way to poke at it and make sure it’s doing what it should be doing. Today I plan on building a simple tool that will allow me to zip through the various combinations of pleaseNotify and ping and check that it works correctly. This is also important to make sure logging is still working correctly. #

One of my next projects after v2 is live is to revamp the view log page. Although the way it is currently is better than nothing, it isn’t the best interface for debugging aggregators and publishing tools. #

Saturday, October 24, 2020

Writing in an outliner

This has been interesting. I’m used to just writing in markdown files, but I’m finding having the nested lines useful. I guess this is why it’s called an "Idea Processor". It can however make the text harder to read. For instance my last note about “Custom templates in pagePark” just looks like an impenetrable wall of text. I’m not sure what the solution would be though. #

Custom templates in pagePark

My next experiment is creating a custom template on pagePark for OPML files. I’ll have to see to what extent I can make this work. #

Things I’d like to change from the default template: #

  1. If I use “New note” functionality in Little Outliner (like this note), I’d like the Month & Day to be h2 & h3 headers and I’d like the titles of the items to be h4. #
  2. I’d like to have markdown support so whether it’s read in an outline or as a webpage it looks good. Right now in the outline, it looks messy especially when I’m using blockquotes. (see October 21). In markdown, I could just prefix the line with "> " #

I can see in the pagePark code that getOpmlTemplate first checks for config.opmlTemplatePath but that isn’t actually something I can define in config.json #

In order for this to work I’d need to: #

  1. Add opmlTemplatePath to pageparkPrefs #
  2. Comment out where it gets wiped out in gatherAttributes #
    • gatherAttributes seems to be something that parses variables with a hashmark in the path #
    • Not sure why that would be a location to overwrite the template since opmlTemplatePath is a local path #

I also tried putting urlDefaultOpmlTemplate in config.json since it’s already in pageparkPrefs but the code references pageparkPrefs.urlDefaultOpmlTemplate and not config.urlDefaultOpmlTemplate so it doesn’t work. #

Changing pageparkPrefs to config in getOpmlTemplate would probably be the least impactful change. It’s not a problem to reference the template by URL since it’s already in the domain bucket that’s being served. #

I should look into Persistent Apps because that would provide the most flexibility with what I’m trying to do. #

Friday, October 23, 2020

My own nodeStorage server

If things worked correctly. This should be saved on my personal nodeStorage server. #

It did! You can visit http://my.shll.me/andrewshell/notes.opml #

I took the logic from filter.js and rewrote it based on what I learned about how filter.js really works now. Since I’m running nodeStorage on the same server as pagePark I can do the same thing Dave is doing with my.this.how #

I quickly found the switchServer(theServer) method in Little Outliner. This allows me to direct LO2 at my own nodeStorage server. #

It looks like switchServer doesn’t change the urlChatLogSocket variable so as of right now instant outliner doesn’t work. That’s fine though, I think there are multiple systems in play and it’s not important to me right now. #

Thursday, October 22, 2020

My thoughts about rssCloud

One of the reasons I continue to work on the rssCloud server is that I see it has untapped potential. #

One thing that is frequently used to “Sell” the rssCloud competitor PubSubHubbub (or PuSH or WebSub) is that it provides "Fat Pings". The content in the feed that has changed actually gets sent to the subscribers. With rssCloud, we provide “Thin Pings” aka just the URL of the feed that changed. The argument is that when the feed gets updated and the ping goes out, why have everyone come to fetch the entire feed again? Couldn’t we save bandwidth and server load by not re-fetching the feed? #

This is exactly the reason why I think rssCloud is better. PuSH only works with feeds, rssCloud works with any URL. You could in theory subscribe to anything of any format changing. #

Wednesday, October 21, 2020

Little Outliner and rssCloud?

Idea: Could we include a cloud tag in an OPML headline and have Little Outliner ping an rssCloud server with the public OPML url when it’s updated? That way if we wanted to use an OPML file as a data source (blogging for instance) the consumers could subscribe to the file. #

It’s a good idea, but… (sorry) – OPML already has a realtime notification service, it came after rssCloud and is based on web sockets. #

Dave Winer #

I’m going to think about this more and look under the hood with the web socket implementation. My gut tells me this isn’t the solution I’m looking for. Here’s my use case: #

  • I want to blog using little outliner as a CMS. #
  • I want the website to be a Gatsby site. (Gatsby is an advanced static site generator.) #
  • Gatsby can consume data from many places through the use of a source plugin. #
  • I’d create a source plugin that pulls from an OPML file hosted by little outliner. #
  • I deploy and host my site using Netlify and it has APIs that can be used to trigger a site rebuild. #
  • I would have some mechanism so if an outline had not changed over the last 5 minutes or so, it would trigger a rebuild. #
  • I don’t want to have a server continuously connected to little outliner via web socket. #

Dave did mention to not jump to automating everything. To start out doing things manually. There is nothing preventing me from building a site with Gatsby pulling from an OPML file and deployed with Netlify. When I’m done writing something new and I want it deployed I can log into Netlify and manually trigger a rebuild. #

Sunday, October 18, 2020

Re-Thinking Blogs

My site has been a blog since at least 2006. It literally uses the blog subdomain. I don’t know how much I like that anymore. #

End of last year, I changed the homepage from a list of posts to a more curated experience inspired by Derek Sivers, including a Now page. #

Joel Hooks describes his website as a Digital Garden: #

Seriously, who cares when anything on my site got posted. For the vast majority of things I’m writing it makes absolutely no difference what-so-ever. #

Using this newest-first approach makes the site impenetrable and less useful for me and especially for anybody that might be visiting to learn or research. #

Joel Hooks #

In 2008, I moved out to San Mateo, CA, to work for PBWiki (now PBWorks). Wiki’s are a popular example of a non-blog website. There are a lot of interesting things about wikis. One, they are freeform. You can structure the content how you see fit. There are dates involved, and you can use feeds to follow changes to the site. #

The big difference I see is when you publish a blog post, the idea is it’s now published and final. When you update it, it’s common to mark it up in a way where you call out what has changed. For instance, if someone was misquoted. #

This stems from a problem Dave Winer talked about earlier this year in I’m re-thinking RSS now: #

Blogging and journalism both thrived in RSS. But at a price. #

The price was forcing blogs into the same format that news orgs used. #

Dave Winer #

What if personal websites were more like wikis than news sites? #

I know that one of the fundamental ideas of a wiki is that it’s edited collaboratively. In this context, my website would not be. #

A news site needs to be transparent in what they are reporting. You don’t want to publish one thing, have many people link to it, and then change what you said. That would seem unethical and misleading. #

However, what about my website? There are specific posts on my site that are news articles. A good example is First PHP Meetup, where I announced the first meeting of the group I started that still exists today as Full-Stack Madison. #

However, the vast majority of posts on my site are evergreen. Or at least until the technology I discuss becomes obsolete. These would benefit from being more like wiki pages. #

For instance, Dave links to my page Updating rssCloud Server which currently is a post. The information on this page is out of date because I mention as of February 2020: #

I’m hoping to have 2.0 released in the next couple of weeks. #

Andrew Shell #

Well, I’m still working on it. I had some setbacks in my personal life that delayed the project. I’d like to update the page, so it’s always up to date with the latest information. It might be nice to have a revision history available like on a wiki so someone could see how the page has evolved, but that’s not something supported in my blogging software. #

I need to brainstorm what I’m going to do. Replacing my blog with something like a wiki could be an ideal situation, but that’s a big project. #

Ultimately it will need to be some sort of a hybrid. I want to keep my RSS feed, and I don’t want it to turn into a feed of diffs. #

I’d be interested to hear what Dave has to say on the subject. #

Published by Andrew Shell on and last updated .