Hello World.

How does it all start?

I suppose the best “Hello World” post is one that explains some of the effort that went into making this static site and the rationale behind its existence.

Before I decided to build this I had several set criteria for creating a site:

  1. “Simplicity”
  2. Cheap or free to deploy
  3. Highly-customizable
  4. Lightweight (as in load times)

⛬

“Simplicity” - whatever that means 🤷

In my head, before putting this together, simplicity just meant “static”. Something that I wouldn’t have to rely on any dynamic web components in order to stand up and have available quickly. This isn’t because I don’t wish to have cool dynamic content, but rather because that sort of a setup usually either costs money or is more difficult to maintain over time. Which leads me to…

Cheap or free to deploy

I think one of the greatest barriers to entry for many who may want to create anything on the web is the idea that they’ll have to pay a lot for it. Self-hosting a website can potentially come with an additional cost. After spending a lot of time at my job using AWS, I knew that the hassle of maintaining the cost of an implementation like that is more than I want to deal with as an individual, let alone an enterprise with the finances for it. Sure, one can set up billing alerts, Cloudformation script for minimal infra, and make sure everything is static in an S3 bucket, but it still felt like more than I wanted to deal with for stress-free content delivery.

Even pre-templated websites that make the process of standing something up easier (like Wordpress the website, not the self-hostable solution) tend to lock their fancier features behind a paywall. It totally makes sense to me for somebody to go this route if they can’t be bothered, but I love being able to fine-tune things to my heart’s content (more about that below).

So the way I saw it at this point was I would either:

I chose not to host it locally for both not dealing with the hassle of additional security for my home network and because of the potential for unreliability, like a power outage here.

I spent some time thinking about blog-like websites that I am a fan of recently and one that came to mind was Hacktricks. When I stand on his page, I can see that the page is “Powered by Gitbook” and that led me down the Github Pages rabbit hole.

Github Pages is excellent for several reasons.

At the end of the day, if this turns out not to work well, the site is static and I can always move it somewhere else in the future if I want to spend more money or find a better server.

So, for now, on Github Pages we reside.

Highly-customizable

Frankly, I just wanted to learn some CSS and HTML so I went with an option that would allow me to literally create a custom site and theme completely from scratch.

I love the Obsidian Markdown editor and have been using it religiously for several years now. Since I’ve already developed a strong habit of writing all of my notes in markdown, I searched around for a way that I could have a static site using it as well. The biggest name in the game for this is clearly Hugo and I didn’t really even think twice about going for it once I watched a few tutorials on how convenient it makes page generation.

Thus, Hugo is my site “backend” and from the bare-bones theming support I have been teaching myself a lot about CSS, HTML, and re-usable web elements that are all over this site now.

I think it’s awesome that I can just say, create a class, style it and apply it to all of my documents like so:

.center-text {
text-align:center;
}

.center-text em {
color:rgb(247, 245, 146) !important;
}

/* bold when using center-text */
.center-text strong {
color:rgb(248, 192, 26) !important;
}

Slap it on any markdown with styling tags:

## Highly-customizable {.center-text}

And go from:

This

to…..

This

or

This?

Maybe this is comically obvious to people who do web design, but the fact that these elements are re-usable I think is fantastic and I’m actually pretty stoked to learn more tricks and perhaps share them here.

Lightweight (as in load times)

This one’s simple. Static sites are blazingly fast. They don’t have to talk to a backend. They don’t have to load up anything crazy or even have javascript if you don’t want them to. For this reason also Hugo made perfect sense to me.

⛬

To wrap, I also really just wanted to flex some creative energy in a nerdy way that would force me to learn some new things.

Like, just this week I learned how to make animations in Aseprite, which I’d been putting off for ages. And that’s allowed me to make cool things like:

this

This spinning ball

Here’s to more of this kind of thing