I was hopeful that I would achieve some long outstanding goals this year, and so far I'm doing quite well.
I think I have a tendancy to downplay my achievements. I should probably try get over that a little bit - but at the same time I don't want to become full of myself. I figure talking about things on my own personal web page is OK. Kind of like a diary, I guess.
Anyway, a challenge I set myself a while ago was to write my own web server in C, and then use CGI to implement a blog CMS written in Haskell.
Well, it changed a bit since then. I decided against writing the web server (although maybe I'll do it another time) and instead I wrote a static site generator in Haskell. I converted my blog to use it just yesterday!
One reason for the change is that I'm not a massive fan of reinventing the wheel, even as a learning exercise. My initial idea was to write a super basic web server that would be well suited to beginners learning web development - but now PHP has a nice server built in. So then I looked in to static site generators. And I don't like any of them! They all seem way too complicated to set up for what they do. And that's where my project started. To generate my blog all I have to do is edit a text file and then type a command at the terminal. When I refine it more I might write a full blog post about it.
Goals can be such a hard thing. I have so many ideas, but my fear of not executing them perfectly often holds me back. However, once I start a project I usually am driven to complete it to a very high standard. So, rather than being afraid, I should just jump in.
I have a tendancy to underestimate myself, and that cripples me when it comes to projects. I need to learn to ignore that a bit more. Something that time has taught me, is that I am very capable.
I see a lot of people who know less about "things" than I do, smash out projects. So clearly getting things done, and knowing a lot are not as interdependant as I thought. And in the end, you probably learn more from actually getting something done than if you sit there and do nothing.
I think I have spent close to 4 years researching Haskell... And I only just now completed my first serious project. I have to admit that I feel like I deeply understand what it is that I made, but I also have to admit that I probably could have made the same thing without understanding as much. I'm not sure which is more desirable.
Anyway, this post is mainly an excuse for me to deploy an entry purely with my static site generator. I decided to call it xyz, and you can see it by clicking here. There's still lots to improve, and it's not really usable by anyone except me. But I'm happy I got this far.
2019 is going OK so far. I hope I keep up the momentum.