Back | Dark theme

Starting again

development updates

~4 mins read   2021-11-06

This project is alive once again. Last time I’ve poured energy into this, the site was still running on a self-managed nginx server at Vultr. Turns out I’m lazy and after a couple of months I gave up and deleted everything – one OpenBSD and two CentOS servers.

Don’t get me wrong: hosting your own shit is all fun and games, but – for me at least – it gets boring way too quickly. Oh well…

On finding a new landlord

Static websites are cool again, so there’s actually a couple of options to choose from: surge, vercel, render, github pages, aws s3, netlify, digital ocean and (the winner) cloudflare pages. You can most certainly find other options, but that’s how far I got on a 15 min search.

Most of them are problematic in some way:

Pug, SASS, Gulp and other front-end toys

I’m no expert on this field – you probably figured this out by seeing how simple this whole website is. I’ve never liked how bloated the front-end stack is and I plan to never ever work professionaly with this clusterfuck of frameworks and tooling. Despite my sincerely belief that the modern web is fucked beyond repair, it is fun to mess around and see how many different hammers I can use to hit the same nail.

Of course I could use plain HTML and CSS for the job, but why not complicate everything and introduce many different levels of abstractions on top of it? Again: I do not plan to make sites professionaly, so bodging and gluing stuff on top of other stuff is not only okay but fun in a perverse sense.

I’ve rewrote the CSS to SASS, the HTML to Pug and built a transpilation process on top of Jekyll using Gulp. There’s a lot of Liquid templating that could be removed using Pug’s features like include, extends and inline javascript – that will be done another day. For the time being, I’ll say this project is stable enough to be tagged 1.0.0.

Silly additions and the future

It took me more than 100 commits over a timespan of two weeks to get to this point. Besides the new tooling and fancy abstractions, I’ve also added some actually useful features here:

  1. Blog posts now have tags and an estimated read time;
  2. The dark theme is less broken;
  3. Syntax highlighting on code block is improved;
  4. The files section is now being generated at build time.

Look how colorful it is (click here to change the theme):

def longest_repetition(string)
  max = string
          .chars
          .chunk(&:itself)
          .map(&:last)
          .max_by(&:size)

  max ? [max[0], max.size] : ['', 0]
end

There’s much yet to be done and I’m sure that I’ll broke many things in the process. If everything went accordingly, much will flourish the next year. What will flourish is another story… but it will. Have faith in me.