Hello Readers!
This is my first ever post and I just wanted to share the start of my blogging journey by providing the steps I took to set this page up and also to explain my motivation on why I wanted to start this. I guess let’s dive right in!
Motivation
I had two big reason’s why I wanted to create a personal/blogging website… those reasons being:
- I was tired of creating something from scratch
- I wanted to participate in Public Learning
For the first point, I thought that to become a better software engineer… you should always be “creating” even if it’s something simple as building a personal portfolio from scratch. However, recently I came across an article on what makes an engineer a 10x engineer and what was interesting is that it wasn’t the implementation that makes you better, it’s being able to find and utilize the right tools that will get the job done.
“If I had 8 hours to chop a tree, I’d spend 6 hours sharpening my axe.” - Abraham Lincoln
Initially, when I thought of the idea of making a blogging website, there were a few things I was considering
- Using React to build my static website
- Build or utilize some sort of markdown parser
- Connecting it to some NoSQL database to save articles to
- Come up with some authentication service to log in and make a post
Anyways, this list basically became longer and longer the more I thought about it and because of how intimidating it was I just never got around to it. However, I knew that there were many tools out there that can help bootstrap your personal/blogging website. Well heck, I’m a Ruby on Rails developer so there were things like Sinatra which I was also considering since it was lightweight but that would just lead to the same problem I was just mentioning. Luckily I found the gem Jekyll which as mentioned in the headline “Transforms your plain text into static websites and blogs”. In addition to that; many developers support, maintain, and contribute to this project. It was fairly easy to set up and to get me going on starting this blogging adventure. There definitely are some tradeoffs though but there’s no perfect solution.. just tradeoffs.
The second reason is because I want to become a better learner. Okay? but what does building a blogging website have to do with learning? There was this concept that I learned by listening to a podcast show, The Bike Shed, which talks exactly about this topic in one of the episodes. How do we learn and understand better? They concluded that teaching is one of many ways for an individual to learn better. If you really want to be able to understand something, you got to be able to explain it. This is something I noticed as well when programming with my colleagues. Whenever I’m confident about something… I can easily explain what needs to be done with their implementation and which direction to take.. meaning I truly understand what I am talking about. But, when it is outside of my domain/knowledge, I am always stuttering… double checking Google if what I’m saying is correct or not. My former manager use to write a bunch of confluence documents just to make sure he understands what he is learning. So… blogging my solutions, and things I want to learn gives me that space of teaching to an audience. Thus, public learning. There are some drawbacks to this though such as criticism but I think that’s okay since as a developer you have to face criticism and be able to handle it whether it’s pushing back on it or embracing it to advance in this career.
In addition to that, you can always come back to some sort of source when you want to reference something you have learned previously.
Setup
Currently, I’m using WSL2 Ubuntu server (I hate doing development stuff on Windows)
- Download Ruby
- I’m using something called asdf to manage my Ruby versions.
- Create a new repo using this template.
- This template is the current one I am using for this website.
- There are many more here if you are interested in looking
- Run the following commands in your terminal to have it running on your localhost.
1 2 3 4
gem install bundler jekyll git clone git@github.com:<your-github-username>/<your-created-repo>.git bundle install bundle exec jekyll serve
- Read through some of the documentation for your template on how to have some stuff setup
- Host your static website!