2022-11-24 19:43:35 +01:00
|
|
|
---
|
|
|
|
title: "Hello Hugo"
|
2023-04-09 13:33:10 +02:00
|
|
|
date: 2023-04-09T17:24:54+01:00
|
2022-11-24 19:43:35 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
I have migrated my homepage over to [the static site generator
|
|
|
|
Hugo](https://gohugo.io). Its bastically what I had built before with some
|
|
|
|
_pandoc_ and _Python_ magic, but... well... a lot better. And this basically
|
2022-12-05 22:59:23 +01:00
|
|
|
represents something I have learned over the last few years. Before this change
|
|
|
|
everything was some cobbled together DIY stuff. I worked quite well, but everything
|
|
|
|
small represented a huge task. For example, adding an RSS feed to my old blog
|
|
|
|
required reading the RSS spec and generated an appropriate XML in Python.
|
|
|
|
This might have been a learning experience, sure. But it was still something that
|
|
|
|
needed maintaining and understanding. And in the end it was just sunk time you know?
|
|
|
|
|
|
|
|
By now I know that I'm able to implement the most simple portions of most specs. And
|
|
|
|
generating some XML in Python isn't exactly breaking new ground. Thus, when assessing
|
|
|
|
the situation critically, the whole ordeal was hardly a learning experience and much more
|
|
|
|
just a chore. And its the same with oh so many other things as well. There is a thin line
|
|
|
|
between doing something for the first time to learn from it and just doing a shoddy job
|
|
|
|
at something you were already capable of doing.
|
|
|
|
|
|
|
|
I guess most people have a similar learning curve. When getting into programming
|
|
|
|
every bit of help is used. Projects consist of a bunch of sample code and external
|
|
|
|
libraries you don't really understand yet. I lived through this phase with very early
|
|
|
|
Visual C# and Unity projects. After a while you become much more confident at writing
|
|
|
|
stuff yourself. And then it just clicks, you pass the threshold where you are basically
|
|
|
|
able to do everything. Sure it may need some additional reading to understand concepts, but the
|
|
|
|
programming portion of every problem becomes almost obvious. Surely from now on you
|
|
|
|
no longer need to rely on any external code and can just do everything from the ground up?
|
|
|
|
From _first principles_?
|
|
|
|
|
|
|
|
And so you do. And honestly, you should. Just to see that nothing really is magic.
|
|
|
|
Most people who have programmed portions of the software that drives your daily workflow
|
|
|
|
aren't magical geniuses, but rather people who've worked on building a thing. And hopefully
|
2023-04-09 13:33:10 +02:00
|
|
|
they were payed well for building their thing. I remember the first time I build a 2D game from
|
2022-12-05 22:59:23 +01:00
|
|
|
the ground up in C. Built the rendering, audio and game logic all
|
|
|
|
[using only SDL](https://www.libsdl.org/) to do the grunt work for different platforms. And you
|
|
|
|
know what I did with that newfound knowledge? Build it again and again. To get it "just right".
|
|
|
|
Turns out I knew enough to make a game engine, but that took a little too much time away from
|
|
|
|
working on the "game" part.
|
|
|
|
|
|
|
|
So we're back at the main problem. Doing everything from _first principles_ puts you in
|
|
|
|
the position that you have to work a little too much on those _first principles_ instead of
|
|
|
|
the main idea you have. And they've been done. Countless times before. And possibly much
|
|
|
|
better than the way you have built them. So instead of spending too much time reinventing
|
|
|
|
the wheel, I am now much more self-critical in thinking about WHAT my novel idea actually
|
|
|
|
is. And then I make sure to put as little stepping stones in the way towards that
|
|
|
|
idea as possible.
|
|
|
|
|
|
|
|
Just a quick side note: Maybe of course the novel idea is a much better way of building
|
|
|
|
something that already exists. In this case the previous point is moot.
|
|
|
|
|
|
|
|
But yeah. That's why switching to Hugo represents a new learning for me. Sure I _could_
|
|
|
|
also build a custom static site generator just for my website. But either it becomes
|
|
|
|
a mess of random scripts or I spend more time working on that, than on my site. And then
|
|
|
|
I'd just end up with a terrible looking site that I'd spent waaay to long working on.
|
|
|
|
|
2023-03-12 14:50:02 +01:00
|
|
|
Thanks for coming to my TED talk.
|