About this blog (Part 1)
This blog was built from the very begining as a side project for myself just to keep things that I want to share with the world but maybe I just didn't find a very efficient way of doing it
So I went ahead and I decided to adventure myself in the long adventure for a developer of choosing something that fit its actual needings, and let's be honest what could go wrong? (right?)
Here is a list of what were my requirements when I decided to create the blog:
- I was sure it will a very small blog with not too much bells and whistles, so it required to be lightweight.
- I needed to be very cheap to host (I had tried to use free hosts in the past, have very poor experiences with them).
- As for now I did not want any related with money, I just wanted to share my thoughts.
- Even if I do not need a catchy name I yet wanted something that was not just random numbers and words or maybe a very long name.
- I wanted to be offline editable, so I could travel and share thoughts without the needed of fancy hardware.
But once you start doing your research the muffled js sounds huge ammount of possiblities flood you, and if you knew frontend developers, backend ones and so, you will get quickly overwelmed by them. There is a not ever ending Fear of missing out (FOMO) regarding the equilibrium between which technologies to use and the needs for a developer to keep creating new things. I thing that partially blind us when trying to choose. And as expected you wil try to deviate from your real objective.
After several days of thinking and seeking possibilities (thanks Youtube), I tried to see and demo some alternatives: Strapi, Wordpress, Ghost, Grav. When spending time on them, I was amazed at first as they were very rich, and seemed to have thought very well how to help you to elaborate content in very seamless ways. But then I started to check how to configure them and I started to realize that maybe again I was (as every dev at some point) overengineering the problem. What separated my needs from these alternatives?: User management and extensions If you are a comercial CMS of course you are looking to attract customers to your bussiness model, and you will offer them as much flexibility as the think they will need. But at some point you will be in the tradeoff between simplicity and learning curve.
At the list of checks that I had made before the first point whas stumbling pretty hard. Points 3 and 5 then put me back on track again. I was looking to keep the site very simple. Then I went the totally opposite direction. I went ahead and try to build a custom solution for my own use. So I decided to give a try to building a website from scratch.
Then it came to realization that I am not a frontend engineer, and more a backend one, so presentation it is not on my priority list, eventually I saw myself trying to set up a backend on golang, but for the frontend of the site I was somewhat struggling. Then I just thought:
- Do I really need a backend for the blog?
- Do I really need a database for this?
- If I wanted to share my thoughts and maybe some specific pictures, how much space does that need?
Then a memory from the past just came to my mind. At my elementary school I did a course on internet stuff (here at South America by the 90's so try to imagine just modem internet 56k in some very specific places but that story is for another post). On that course we were teach about the basics of creating a website, I remember using old macromedia dreamweaver (6 version I think), and styling it with some stuff posted at DynamicDrive (yeah, very old stuff, and yet this site its alive) that was pretty interesting site back in the day, and it was pretty fast, it didn't require too much bandwith to load and it somewhat remembered me the kind of needs that I had.
The beauty of the simplicity (that every good backend developer appreciates) came to the light of my currently non-existent blog. I was chasing something like that. So I decided to apply "Keep it simple stupid (KISS)" strategy for this blog, and try to make a concious effort of what I should and should be not worrying about:
- If I want to share my thoughts. Appeareance is a nice-to-have but not a must.
- If I am the only one intended to write in this blog, I do not need anything besides writing
- Dynamic drive needed javascript because they want to help people build a website but what interactivity do I need in a blog, it is just for reading!
- A Minimum viable product (MVP) will only require me writing posts anything else could be solved later. I do not need forums, If someone reaches me through contact email/forum/github I could simply answer from that platform when I got the opportunity, I am not selling anything.
- Sites nowadays used a lot of cookies, popups, ads, mailing lists, and nosense that people really hates when trying to read (Check this website to understand what I mean). I do not want that on my site, even that remote possibility is against what I want.
- If I am going to be traveling I need my site to be as light as it could so It could load from everywhere and could be changed with not that much effort.
- What about security? That is also a rabbit hole, once you have a backend and an API you will have to be applying a lot of security practices to avoid losing access to your website, beign hacked, leave security holes (in things like comments to your posts).
What I was supposed to do then? That tradeoff made me suffer for a while. I did not remember that writing a blog was that nightmare. Then again a blast from the past came to my rescue. I had read a lot of blogs like the powershell one it is very light and it is not intrusive at all. I think they use a database but I came closer to my objective. Then the final flashback of realization came to my mind, Puppy Linux creator had a blog that I visited almost everyday (because sometimes I work in old computers because of my travels and having a portable linux is a good idea, check it if you are interested), that blog matched almost all my needs. So I decided to vist it again that day and check if he talked about how he built the blog. Then I came across shellCMS. And as most of the time in the software blog my problem was a thing that everyone already thought back then, and it was solved with software already.
Now I had a starting point. I could write my posts generate a static website, and if I really wanted it could use a css file to fit my needs better but I could start right away.
Tags: shellcms_bulma