aboutsummaryrefslogtreecommitdiff
path: root/content/weblog/2020-03-07_rethinking-my-blog
diff options
context:
space:
mode:
Diffstat (limited to 'content/weblog/2020-03-07_rethinking-my-blog')
-rw-r--r--content/weblog/2020-03-07_rethinking-my-blog/index.md131
1 files changed, 131 insertions, 0 deletions
diff --git a/content/weblog/2020-03-07_rethinking-my-blog/index.md b/content/weblog/2020-03-07_rethinking-my-blog/index.md
new file mode 100644
index 0000000..61fc4ec
--- /dev/null
+++ b/content/weblog/2020-03-07_rethinking-my-blog/index.md
@@ -0,0 +1,131 @@
++++
+title = "Rethinking my weblog"
+date = 2020-03-07T02:44:00Z
++++
+
+It's been a while since I have posted anything on my weblog. I will be laying
+out some of the reasons for this, as well as what I've been meaning to do with
+my site and blog going forward.
+
+<!-- more -->
+
+## The problem
+
+There are several reasons why I have neglected my weblog for the last year or
+so. It certainly hasn't been because of lack of imagination or content, since I
+did have several different ideas I want to write about, and I still have
+several drafts I started and still haven't finished (most of which I probably
+won't finish). The biggest two reasons were that I became occupied with a lot
+of different things including university, work, personal projects, hobbies,
+procrastination, and well, life; and the second is honestly just laziness.
+
+Now if I am completely honest I have to say that laziness is actually the
+biggest factor of those two, especially considering that this laziness towards
+my blog has been aggravated by my growing dislike of web (and other software
+for that matter) in its current state. And that, ironically (or unironically)
+includes my own blog and site, which run on Django using a blog engine I
+personally developed.
+
+Which also leads me to another problem related to the neglect of my weblog: the
+neglect of my blog engine and Django app - w3blog. The causes and reasons for
+the neglect of this project of mine - which I haven't updated since January of
+last year (much like the blog itself) - are essentially the same.
+
+I am not going to go into details in this post as to how and/or why I came to
+dislike "modern" and "mainstream" software, but there are a couple details that
+are relevant to this post. The most important of these is that I changed my
+workflow quite drastically in the past couple of years, in a way that I believe
+has made me much more productive using a computer. The second relevant detail
+is bloat, and my dislike of it. What this basically means, is that I have come
+to dislike the state and the way my site and blog operate.
+
+The first annoying thing for me, is that I have to access the Django admin page
+to author/publish posts and articles, which is a kind of CMS for sites built
+using the Django framework which my blog engine uses. It's not a bad system per
+se, and it is actually what other people that are more used to a Windows or
+macOS-like workflow would call "user-friendly". However, I've gotten really
+used to vim, not only for programming, but also for everything else that
+involves typing text. I use vim for writing articles, for University reports,
+for composing emails, for editing config files; you get the idea. In general my
+workflow has become much more keyboard-oriented, and web interfaces are just
+not made to be operated with just a keyboard, which well, sucks for me.
+
+The second thing which might not be as important from a pragmatical point of
+view is bloat. By using Django for my site I am adding a lot of stuff that is
+simply useless for my use-case. Actually for most projects, most of the
+"features" of Django are just bloat, which is the case for most of these
+do-it-all frameworks. I don't mean to shit on Django, since I still find quite
+fun and interesting to use simply because it's so easy to build many kinds of
+sites with it. However, the fact is that it is bloated.
+
+So if for some reason you have read all of above, you now may be wondering.
+Then why did you do it that way? Well, the reason is simple, I had different
+preferences and opinions back when I started this weblog and its engine, and I
+didn't know better. Yes, I know about Flask, and I've used it for some
+projects, but back when I started my blog engine, Django was what I knew how to
+use best. I still would have ended up wanting to change the way my blog works,
+simply because the way I use computers has changed so much in the past two
+years.
+
+## The solution
+
+I've been meaning to change the way my weblog functions for a long time, more
+than a year actually. Over the course of this time I came up with different
+ideas to better adapt the publishing of articles and posts to my usual
+workflow.
+
+One of the first ideas I came up with was making some kind of app or module for
+Django that would allow me to access the Django admin's functions over some
+kind of TUI from my local machine without having to manually ssh each time I
+wanted to make changes. I ended up giving up on this idea since I realized it
+would just end up making everything more complicated, and I would spend a lot
+time writing something which might not even be that useful in the end. In the
+end I realized it would be better to completely change the back-end from the
+ground up, since there was another goal that I wanted to achieve which was to
+streamline, de-bloat and use a more minimal back-end.
+
+The project to reform my weblog went into a kind of hiatus for some time, but a
+couple of months ago I started to think about it once more. And so I started to
+think what the ideal blog engine/back-end for my 2020 self would be.
+
+The idea that I ended up coming with was some sort of back-end that would read
+markdown files - where each md file was a post or article, glue it to a
+template and serve it. This way, I thought, I could just have a git repository
+with all of my articles, and then I would merge and push to master each time
+that I wanted publish something new, and then maybe by using some kind of CI,
+the changes to master would be pulled automagically on the server.
+
+After some digging around on the worldwide web, I realized that the ideas that
+I had were (obviously) not new at all, and there already exists software that
+works in precisely this way. This kind of software are called static site
+generators (I'll call them SSG for short). The three SSG that I found and
+caught my attention were Jekyll, zola and Hugo.
+
+Jekyll is the veteran of the three, and it's even used by GitHub for GitHub
+Pages. One other thing that I liked about it, is that it uses jinja (or
+something similar) for templates. It seems pretty good to me, but it has a
+couple nuisances for me. First of which is the fact that it is written in Ruby,
+and I don't know anything about Ruby. So if I wanted to take a look into the
+code or tinker around with it I would be lost, or I would have to learn Ruby,
+which I have no intention of doing.
+
+Hugo seemed interesting to me because it's written in Go, which is better than
+Ruby, and which I would be much more willing to learn than Ruby if I had the
+need (might actually even do it out if interest). However, Jekyll and zola both
+uses a Jinja or Jinja-like template system, of which I am already familiar.
+Another thing is that Hugo seems (at least to me) more complicated to configure
+to your liking than Jekyll or zola.
+
+zola is the one that caught my attention the most. I liked how simple it is to
+set up, and the fact that it uses a Jinja-like template system; the fact it is
+written in Rust, a language that I've recently started learning and that I've
+come enjoy using. Another thing that liked about zola, especially compared to
+Jekyll is the way it builds URLs, i.e. it doesn't the outdated and useless
+.html extension in the end, resulting in cleaner URLs. Maybe there is a way to
+change this in Jekyll, but I didn't find any information on it.
+
+I haven't decided yet which back-end to use, I might even write my own should I
+decide that none of the above fulfill my needs. One thing is certain, I will
+completely revamp my blog and site. After I finish revamping it, I will try my
+best to write more constantly.
+