About Myself

  • My name is Agustin Ferrario, but you can call me py_crash on the Digital World.
  • I come from Argentina, but at the end of October I moved to Germany.
  • I have a degree is in Chemical Engineer, and I’ve been using Linux 10 years now, since Ubuntu 10.10 Maverick Meerkat. In Mark Shuttleworth’s words: light, fast and social. 1

Blogging to my self: My motivation

It was probably the conjunction of a couple of things:

  • We have all been there: we’ve solved a problem after a lot of searching in the interwebs, read a lot of blog posts, forums, bug reports, whatever, and we are really happy about it. Three months later, we come to the same problem, but we forgot how to solve it, and the searching starts again…

    To solve this we need to start documenting.

  • I wanted to share how to solve these problems. FOSS is something that we build together, and for solving problems I search and read works of other people, so it wasn’t a bad idea.

  • I wanted to showcase my knowledge of Linux, and, in the future, IoT since:

    1. I’m searching for a Job
    2. I have a lot of informal knowledge that I’ve learned by myself.

Static Site Generator

In the beginning, there was HTML, and that was it…

Then came WordPress, and it was brutal. Almost everyone, even the chemical engineering guy could create a site using WordPress. In 2020, around 35% of the internet is powered by it 2. There is, however, a catch. It needs a web server running php, and a database, etc.

You could just write the HMTL, but it’s not really fun. Here is where the Static Sites generators come in place. They generate a static site from a bunch of files.

One of the great things of this sites is that, since they don’t require much server power, they are simpler to host. There are a couple of options, where you can do it for free, but the most well known are Github Pages, Gitlab Pages and Netlify. The one I’m using is GitLab since it’s almost completely Open Source.

The first well known Static Website Generator and probably one of the most popular today is Jekyll, but I found it difficult to use, or at least to get started.

That’s when I found Hugo.

Hugo

Hugo has some cool features:

  • It’s written in go.
  • It’s completely Open Source (Apache v2).
  • It’s configured using JSON, TOML or YAML.
  • You can write content using plain HTML, markdown, reStructuredText and others 2.
  • There are more than 300 themes: blogging, resume, project documentation 3.

Installing it

There is a snap:

$ snap install hugo

There are packages for a lot of distributions: Gentoo, Ubuntu/Debian, Arch Linux, Fedora, Solus and the *BSDs 4. Ever a tarball for those on the stone age.

And of course there are official linux containers 5.

Creating content

Creating content is really easy. Just run a command:

$ hugo new notes/LUPLUP-Blogging-to-yourself.md

Edit the file, and see the results:

$ hugo serve -D

My work flow

You can just push the created HTML generated by Hugo.

I use the GitLab CI, so I clone the repo into my computer and create the content that I want. When I’m happy with it, I just push the changes and GitLab CI uses a container that generates your site. There is a sort of funny story with that. 6

Analytics

I wanted to know if people are actually visiting my site. So I needed some type of analytics. Now, because my privacy is important to me, your privacy is also important to me. That’s why I used all the important privacy settings on Hugo 7. No discus, no google analytics. No embeded social media.

I am using Goat Counter. It’s open source and can be self hosted. It’s also GDPR complaint without using a cookie banner. I hate those. The hosted version is free for personal use.

My goat counter My goat counter

Questions

Any questions: send me an email: contact at (this domain)


  1. Mark Shuttleworth: Shooting for the Perfect 10.10 with Maverick Meerkat https://www.markshuttleworth.com/archives/336 ↩︎

  2. Content Formats | Hugo https://gohugo.io/content-management/formats/ ↩︎

  3. Hugo Themes https://themes.gohugo.io/ ↩︎

  4. Installing Hugo https://gohugo.io/getting-started/installing/#linux ↩︎

  5. Hugo Docker https://hub.docker.com/r/klakegg/hugo/ ↩︎

  6. But It Works on My Computer https://ferrario.me/but-it-works-on-my-computer/ ↩︎

  7. Privacy Setting of my site https://gitlab.com/py_crash/my-website/-/blob/master/config.yaml#L145 ↩︎