~cdv/chris.vittal.dev

7b3484386ed4c860582a35d81223a1eb2c85d9b5 — Chris Vittal 4 years ago 4b2e3b1
Finish first post

(for real, I swear)
4 files changed, 50 insertions(+), 43 deletions(-)

M content/posts/2019-10-27_hello-blog.md
M sass/style.scss
M templates/index.html
M templates/page.html
M content/posts/2019-10-27_hello-blog.md => content/posts/2019-10-27_hello-blog.md +32 -29
@@ 6,14 6,20 @@ This is my blog's first post. I'd like to describe a little of how this site is
set up and how I got everything online. Much of this is very standard, but as
they often say, "there are many sites, but this one is _mine_".

## Goals

I bought this domain to mostly have an address for my new email, but I've also
wanted to start writing about techical subjects I find interesting, the social
and political aspects of technology in modern society, and to learn more about
the pile of twigs that is the web. It's been a pretty alright experience so far.

## Hosting

My requirements for a host are simple.
My requirements for a host are simple:

1. I need to be able to understand and change it to suit me.
2. It needs to be transferable. That is, I have to be able to stand up the
   sites in minutes should I decide that my sites need to move.
3. I'm in control of the software I run.
1. It needs to be transferable. That is, I have to be able to stand up my sites
   in minutes should I decide that my sites need to move hosts.
1. I need to be able to understand and change the environment to suit me.

For now, my sites are hosted on one tiny DigitalOcean droplet. It's currently
the right line between cost and usability. I'm open to alternative


@@ 21,29 27,32 @@ infrastructure, but am unsure what the options are or where to start.

## Setting Up

### Domain Registration
### Domain Registration and DNS

As far as I know, there's not really much to say about this. I'm using Hover for
my domains right now, which is almost certainly more expensive than other
options. However, hey are currently the most important thing which is, _paid up
and working_.
options. However, my Hover domains are _paid up and working_, which is the most
important thing for them to be. I can save money when they get renewed.

I admit that I didn't remember the fact that google owns the registry for the
`.dev` TLD, and so if de-googling was a goal of this whole exercise{{fn(id=1)}},
it can't be now, *shrug*. I chose `vittal.dev` because I liked how it sounded,
and the only other domain I cared for, `vittal.net`, is my uncle's, and I'm not
going to try to steal his domain, that's rude.
`.dev` TLD, so if de-googling was a goal of this whole exercise{{fn(id=1)}}, it
can't be entirely, *shrug*. I chose `vittal.dev` because I liked how it sounded,
and the only other availible domain I cared for, `vittal.net`, is my uncle's,
and I'm not going to try to steal his domain, that's rude.

DigitalOceans DNS has been pretty painless so far. My changes take effect and
propagate out to the wider world. Still feels like magic to me.

### Host Configuration

This will probably always be a spare time project, so I wanted to keep system
administration to what I know. My daily driver is Arch Linux{{fn(id=2)}} so I got
my droplet up and running, then promptly nuked it with
[this](https://github.com/gh2o/digitalocean-debian-to-arch) handy script from
gh2o. It worked like a charm and I had my system up and running.  After that,
there was a little playing around with nginx configuration, setting up certbot
for TLS{{fn(id=3)}} and we were online. Only took a few hours since I hadn't
done that before.
administration to what I know. My daily driver is Arch Linux{{fn(id=2)}} so
I got my droplet up and running, then promptly paved it with
[this](https://github.com/gh2o/digitalocean-debian-to-arch) handy script. It
worked like a charm and I had my system up and running in a few minutes.  After
that, there was a little playing around with nginx configuration, setting up
certbot and certbot's nginx plugin for TLS{{fn(id=3)}} and we were online. Only
took a few hours since I hadn't done that before.

## The Site



@@ 60,23 69,17 @@ language, and supporting its ecosystem means a lot to me.

Before I sign off on this post, I'd like to thank a few people. First and
foremost, my family, for always fostering curiosity. I would have never put this
all together without them. It's also the 50<sup>th</sup> anniversary of the
ARPANET, the predecessor to the internet this site is on today. There's also
a personal connection there. My father is John Vittal{{fn(id=4)}}. He
coauthored [RFC733](https://www.rfc-editor.org/rfc/rfc733.html){{fn(id=5)}}.
There's a whole post on my feelings about this, and this isn't it.
all together without them. Thank you for always being there and encouraging me.

I'd also like to thank [Drew DeVault](https://drewdevault.com), who is the
person most directly responsible for my writing this blog, and not just because
of [#makeablog](https://drewdevault.com/make-a-blog), but because I believe in
my understanding of what he's building. There's yet another post on my feelings
and perspectives on sourcehut and why it's important and why you should pay for
it if you're a hacker.
what he's building. However, this isn't the post on my feelings and perspectives
on sourcehut and why it's important and why you should pay for it if you're
a hacker.

{{renderfootnotes(items=[
  "It was.",
  "_btw, i use arch._",
  "`.dev` domains are part of the [HTTP Strict Transport Security (HSTS)](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) preload list. Compliant user agents will only connect via TLS, so having a correct TLS setup is required for this site to be online.",
  "Hi dad.",
  "Standard for the format of ARPA network text messages (AKA email).",
])}}

M sass/style.scss => sass/style.scss +13 -5
@@ 27,8 27,10 @@ footer#copyright {
}

footer#article-footer {
  margin: 4rem 0;
  margin: 4rem auto;
  color: #555;
  font-size: 0.95rem;
  max-width: 800px;

  a {
    color: inherit;


@@ 68,7 70,7 @@ ul.post-list {
  font-size: 0.75rem;

  p {
    font-size: 1rem;
    font-size: 0.95rem;
  }
}



@@ 95,13 97,20 @@ code {
      grid-column: 1 / -1;
    }

    nav {
    nav#external-links {
      grid-column: 2;
      grid-row: 2;
      justify-content: flex-end;
    }
  }
}

@media only screen and (max-width: 519px) {
  header.top-level nav#external-links {
    justify-content: flex-start;
  }
}

header.top-level {
  h1 {
    margin-bottom: 0px;


@@ 110,10 119,9 @@ header.top-level {
    }
  }

  nav {
  nav#external-links {
    font-size: 90%;
    display: flex;
    justify-content: flex-end;

    span.sep {
      padding: 0 0.5em;

M templates/index.html => templates/index.html +1 -5
@@ 14,16 14,12 @@
        <li>
          <h3>
            <time datetime="{{post.date}}">{{post.date}}</time>
            <a href="{{post.permalink | safe}}">{{post.title}}</a>
            <a href="{{post.permalink}}">{{post.title}}</a>
          </h3>
        </li>
        {% endfor -%}
      </ul>
    </main>
    {% include "footer.html" -%}

    <pre>
      {{__tera_context}}
    </pre>
  </body>
</html>

M templates/page.html => templates/page.html +4 -4
@@ 17,11 17,11 @@
    </main>
    <footer id=article-footer>
      <hr>
      Thanks for reading! Should you have questions or comments, please leave them in
      <a href="https://lists.sr.ht/~cdv/public-inbox">my public inbox</a> by sending a
      Thanks for reading! Have questions or comments? Please leave them in
      <a target="_blank" href="https://lists.sr.ht/~cdv/public-inbox">my public inbox</a> by sending a
      plain text email to
        <a href="mailto:~cdv/public-inbox@lists.sr.ht?subject={{page.title | urlencode}}">
          ~cdv/public-inbox@lists.sr.ht</a>.
      <a target="_blank" href="mailto:~cdv/public-inbox@lists.sr.ht?subject={{page.title | urlencode}}">
        ~cdv/public-inbox@lists.sr.ht</a>.
    </footer>
    {% include "footer.html" -%}
  </body>