Hello, Blog Readers
I have been meaning to publish a blog for a looong time: I still have some drafts from ~2016 on my computers.
The best way to keep up with new blog posts is by subscribing to the RSS feed.
Read on for a few ramblings on why, how, and what I am posting.
Purposes (Manifesto)
Here is my intent for the contents of this blog:
- Technical content: on anything, from gardening to compilers and microelectronics. Can contain some other fun stuff I do.
- Knowledge base: use as a reference for myself and others. Hopefully, so that I stop forgetting where I put my notes.
- Share my writeups: when I talk about a project, I can just share a link if people are interested to know more.
- Keep my technically-inclined friends up-to-date on my projects (admittedly, with a bit of latency).
- Showcase: list various projects, show that I can do multiple things. Can be used as a reference when I offer my help on something.
I am still hesitating whether to update old posts (knowledge base / wiki style) or to publish updates in a separate blog post. Both approaches could also be merged, with some wiki-like pages, and shorter update posts.
Thoughts on Language
I have been leaning more and more towards writing everything in English for the benefit of my non-French-speaking friends. Especially for a technical blog, I think it is a good idea to make the content relevant for as many people as possible.
Personal Information – on a Blog?
I feel like this is a bad idea for a publicly-accessible blog, though it is tempting to share more pictures with my friends. Perhaps I will add an authentication mechanism and more pictures on another server at some point? I will do my best to scrub everything of metadata and personally-identifying information (though I obviously remain identifiable).
Blog Architecture
This may be the reason why you are reading this post?
Prerequisites
I didn’t want to keep pushing back the release of this blog, so I chose to go with an architecture I was very familiar with:
- Static content: very simple to change hosts, and find some no-cost hosts. I don’t really need a complex comment system, login, or online editor for now.
- Use a subdomain: This way I could make other blogs, and host this blog on a different machine.
- For now, use GitLab pages as a host:
- It is free
- It protects me from DDOS
- If I disappear for any reason, my pages should stay online for a while.*
- GitHub pages now requires the repository to be public before enabling pages. I don’t have a subscription (student pack) anymore.
- Static page generator instead of handwritten HTML: more flexible, portable, and future-proof.
- Use Markdown as a source: supported by plenty of static website generators.
Hosting on GitLab pages also has some downsides:
- I am relying on a third party, for-profit entity (I could move to codeberg pages)
- I don’t have access to server logs
- I can’t really prevent crawling (if I really wanted to).
Generator
I chose to use Hugo for now. Having used it in the past; it is reasonably fast, has a lot of features, and is battle-tested. I also feel like I would have an easier time writing patches in Go than Haskell (Hackyll) 😁 – or even Node.js.
Alternatives (Briefly) Considered
These sound tempting, but would have limited the reach of my articles, perhaps even preventing my friends from reading them, defeating the purpose.
Non-HTTP:
- Gemini: spiritual successor of Gopher. It would be fun to publish this blog there as well. I might do it later.
- IPFS: leveraging IPFS for its decentralized, torrent-like architecture sounds nice, but in practice, I would have to make use of a pinning service, or have it running on my computer. It is also annoying to have to reannounce the IPNS every few hours, instead of publishing it once on the DHT like other records. Using dnslink and a gateway like Cloudflare’s is something I may reconsider later.
- Secure Scuttlebutt: I really like this one. Secure Scuttlebutt is encrypted, and sneakernet-compatible. Perhaps I will leverage it for more private content, though I will probably have a hard time convincing friends and family.
HTTP:
- Activitypub platforms: WriteFreely and others. I may look into integrating it via a separate server.
- Hosted blogging platforms: medium, WordPress.com (I tried, in a previous life). These platforms need to make money, which opens a whole can of worms: ads, tracking, etc, which I would rather not submit my visitors to.
- Some wiki-like approach: I really like Dokuwiki for instance, but it requires PHP, and isn’t really designed for blogging: no RSS feed generation by default, for instance.
Future Improvements
- Comment section: There are many ways to do this, and I would like to experiment with an email-based comment system (which I may have to write). In the meantime, contact me if you want to post a comment, and I will add it manually. Alternatively, some ActivityPub-based system could work.
- Webmentions integration