📕 Finished The Haunting of Hill House.

First half was gripping and excellent, second half kind of lost me. Overall very good though! It made me appreciate that literature ages very well, and that scary stories will always be scary.

Next pet-project to tackle: Minimal-friction searchable archive of webpages I visit.

1. Try to use Obsidian for everything.
2. Get overwhelmed.
3. Find a dedicated app to solve my need.
4. Start customizing things but can’t do everything.
5. Realize Obsidian can do exactly what I want.
6. Repeat.

📝 The word “shampoo” is derived from the Hindi word cā̃pō (चाँपो, pronounced [tʃãːpoː]), itself derived from the Sanskrit root chapati (चपति), which means 'to press, knead, or soothe'.

https://en.m.wikipedia.org/wiki/Shampoo

Pika Pulse is such a good idea! And applying each post’s custom theme (I’m assuming) is a really great look too. Makes me wish I had an account there too!

https://pika.page/pulse

Rebranding the site: Invisible Parade

I first started this personal website just about 20 years ago. It began as a couple of html pages, and spent time as a Wordpress blog, a Tumblr page, and is now a static blog generated by Jekyll. Through that time, it had always just had my name, alexonsager.com. This year, I’m rebranding it to Invisible Parade.

Being online then

When I started this site I had just entered university, got my first MacBook, and was excited to become a full-fledged citizen of the internet. At the time, I thought it was cool to publish as much of yourself as possible. Tag yourself and your friends in the photos you take, scrobble the music you listen to, check in to the places you go, tweet your thoughts. Since I was broadcasting myself to the world, it made sense to put my name on my website. That’s how people would know me.

At the same time though, Daring Fireball was a cool site with the coolest name. Daring Fireball man, how do you top that?

Envious, I found a site that generates random adjective + noun combinations and hoped for inspiration. The second or third result I got was “invisible parade,” and I immediately loved the oxymoron. The whole point of a parade is to be seen by all of the people. What then, is the point of an invisible parade?

The name stuck in my head, and I think at one point I may have bought the .net. But I didn’t have anything to do with it, and eventually let it expire.

Being online now

It feels less in fashion to use your full name as a brand now. There is the risk of bad attention following you around, but also it’s just more useful to have a persona. There are literally a gazillion people online, so “hey I have a website” is not enough to make you interesting. You have to let people know people what you’re about, show some personality.

My real-name domain feels like showing up to a costume party with a name tag that just says “Hi, my name is Alex”. It doesn’t feel fun anymore!

The rebranding

On a whim I looked up the invisibleparade domain, and it was available. It felt right, so I nabbed it, and here we are. And it is kind of a perfect name for the site.

I’m creating this parade of posts, if you will, and I’m putting in a real effort to make it interesting and nice to look at. But who’s even looking at it? What is the point of an invisible parade, or an invisible blog?

Well, it’s fun! I like putting it together. And if anybody happens to stumble across it, I’ll be happy to show it off. So here’s to another 20 years of parading.

Happy new year! This is going to be a good one.

Every once in a while I fall into the delusion that I am a somewhat interesting person, and spin up a new social networking account.

Having a kid with asthma makes you appreciate just a little bit why Eddie Kaspbrak’s mother was so overbearing.

Installing GoToSocial on Coolify

Following up to my earlier post about the fediverse, I discovered GoToSocial. Compared to Mastodon which required a fair amount of server overhead (more than I could justify for just playing around online), GoToSocial is very lightweight: 1 CPU, 1GB memory, and 15GB-20GB of storage space for the first year or so. Sold!

This would let me set up my own single-user server, which solves all of my misgivings about Mastodon.

Disclaimer:
I am a total novice at all things server-related! I am probably at least a little bit wrong about some of the things I write here. Please take my experience with a grain of salt, and correct me if you can.

I have a VPS with Coolify to manage the multiple apps I have running, and all things considered it makes things very easy.
I used a docker-compose file to deploy GoToSocial, and their example file was almost perfect as-is.

Port settings

Coolify acts as a reverse proxy, so I used that part of the configuration:

services:
  gotosocial:
  ...
    ports:
      # - "443:8080"
      ## For letsencrypt:
      #- "80:80"
      ## For reverse proxy setups:
      - "127.0.0.1:8002:8080"

8002 was just an open port that I chose, and Coolify is smart enough to use that port to route traffic from my GoToSocial domain.

File permissions

Robb Knight’s blog post showed me how to fix the sqlite database being unable to load because of a permissions issue. I had a similar issue with the Wazero compilation cache directory not being created, but I ended up just commenting that line out because it works without.

Shooting myself in the foot

I knew I had to mount a volume to make the database persist across redeploys and not be wiped fresh every time. Coolify’s documentation made it very clear,

The base directory inside the container is /app. So if you need to store your files under storage directory, you need to define /app/storage as the destination path.

So, I changed the settings to make sure that things were stored under /app

services:
  gotosocial:
    ...
    environment:
      ...
      GTS_DB_ADDRESS: /app/storage/sqlite.db
    volumes:
      - ~/gotosocial/data:/app/storage

Which worked, except!
I hadn’t realized that media storage also defaulted to the same (first) /gotosocial/storage directory. Since this directory was no longer being bound, it was wiped clean after every redeploy. Remote media was fine because it could be fetched again, but images I uploaded were lost.

I poked around in the terminal and saw that both /app/storage and /gotosocial/storage were being created and used with no issues, so I just switched the database address back to the default /gotosocial/storage… and everything worked as expected.

So, I don’t quite understand what the Coolify docs were trying to tell me.

End

Things seem to be working fine now, and I’m using mostly Semaphore to interact with the instance.
You can follow me here!