I only recently1 found out about TiddlyWiki, and immediately became enamored with it. After a couple months of playing with individual files, today I made a breakthrough today in hosting TiddlyWiki on my site.

I tried a few ways to initialize with cPanel on my current host, without any luck (I may return to this next, now that I’ve seen it in action. It turned out to be much easier to spin up a DigitalOcean droplet with Node, and follow the instructions in this guide from Josh Sullivan. The only modification I made was to use pm2 instead of forever (as DigitalOcean already had it configured). I found another article on initializing pm2 with Tiddlywiki, and I used the following command in place of forever:

pm2 start --name wikiprocessname /lib/node_modules/tiddlywiki/tiddlywiki.js -- nameofwikifolder --listen author=name username=name password=yourpassword "readers=(anon)"

Now, my experimentation with TiddlyWiki involved saving single html files and playing with each individually. I ended up with a few single-topic wikis – one for archiving my old notebooks, one for my video game collection, etc. I may combine at some point, but I thought it would be better for now to host individually. All that needed to happen, at least with the DigitalOcean reverse proxy setup, was to initialize nginx correctly.


sudo nano /etc/nginx/sites-available/DOMAIN2.COM
sudo nano /etc/nginx/sites-available/DOMAIN3.COM

Then in each file, make sure the port is unique and the URL matches. Symbol links for each:


sudo ln -s /etc/nginx/sites-available/DOMAIN2.COM /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/DOMAIN3.COM /etc/nginx/sites-enabled/

Rerun certbot if needed for these URLs, then intialize each in pm2:

pm2 start --name wikiprocessname /lib/node_modules/tiddlywiki/tiddlywiki.js -- nameofwikifolder --listen port=#### author=name username=name password=yourpassword "readers=(anon)"

You can play with the various arguments for the TiddlyWiki webserver outlined here. I made a couple available to only myself for now by removing “readers=(anon)”. Don’t forget to run pm2 save so your server stays up.

Going to keep playing, but right now my commonplace book is live with barely anything in it. Hope this helps someone get theirs off the ground as well.


  1. Pretty sure I picked up the idea from Chris Aldrich, who wrote his own guide for hosting the single file version of TiddlyWiki.

In late December 2009 I was playing Elder Scrolls: Oblivion in my college apartment, and got into a spat with my girlfriend, who was disappointed that I was spending money on games and not thinking about the future. That capped off the previous decade.

From there, I got a ring proposed in March, graduated college the next December, got a job and got married in 2011, got Charlie in 2012, bought a house in 2013, had a kid in 2015, moved and helped Jessie start law school also in 2015. Most of the rest can be pieced together from previous years-in-review. Basically, we have all come a long way, and it has been a great decade.

Continue reading

(and 2017 as well)

What a year(s) it has been. Even if I had written a year in review post for 2017, 2018 still felt like it was five and a half years. But, like 2017, I do not feel like writing one of these posts this year. Maybe it is because it is not as fun as it used to be. Maybe it is because all the things I would put here are already posted, categorized neatly without the need for an EOY summary.

The major theme for me of the past 1-2 years is that I feel like I could not keep up. Everything moved fast, and seemed to constantly accelerate. Professional responsibilities changed, which was exciting and harrowing. Our toddler is a big kid, to the point where he wants to do everything but can’t just yet. The world at large seems to hurdle between inspiration and death spiral, practically minute to minute.

So I’m going to use some of the scrum training we got this year for a full-blown retrospective.1

Continue reading

Over the years I’ve become wary about new services and silos. But I’ve made an exception for Letterboxd, a social network for sharing your taste in movies. I joined a few months ago, and I am really enjoying the singular focus on a medium that everyone participating really likes.

From a social media standpoint, it seems like a good idea to focus the interactions through a specific lens, to start from a common ground1. I am also a sucker for cataloging things and life-logging. You can follow and heckle my taste here.


  1. There are always exceptions.

Satisfying an itch I’ve had for a while, I am working on migrating the back end of pilch.me from Known back to WordPress. I love Known, but this has been a long time coming. It’s probably my own fault for migrating 6 weeks before becoming a new dad (and taking on more at work), but I thought I would have more time to familiarize myself with the inner workings of the platform, to tinker and break things and fix them. I decidedly did not, so I’m heading back to the familiarity of WordPress.

When I initially migrated, Known had a lot of the Indieweb elements baked in (webmention, early micropub, post formats, etc), and the WP plugins lagged a bit behind. Now they are caught up, while Known development has slowed significantly. I feel a bit like part of the problem, since I’m not sticking with it. But I also do not currently have the time nor patience to figure out how to modify mySQL elements, or maintain URL rewrite rules and .htaccess files. I need to step back into a platform where I don’t have to worry about nuts and bolts, and customizing basic/intermediate elements is taken care of in a GUI.

I’m doing the migration manually, post by post. Known exported as RSS, and I was able to import that to start (WP’s built-in RSS importer threw errors, so I had to use this). This method created a lot of formatting issues with line feeds, lists, etc., which is why I am doing each post individually. This gives me a chance to review some old posts I forgot about, and also the ability to idly update posts during down time at work (the network there is extremely locked down, and would not allow external SSH/FTP connections).

The current WP install is at blog.pilch.me. I’ll probably keep the Known install, and figure out a subdomain for that when I am ready to switch the two.

In the meantime, back to your regularly scheduled children’s television and Deadpool action figure content.