Something to Believe In

Something to Believe In

For a long time, I've wanted to create my own website. However if you haven't noticed already, this website was not created by me. There are many reasons why I did not create my own site from scratch. This first blog post will go over the background of why I wanted my own site, specifically the events that transpired that led me to use Ghost.

The Beginning

Let's start by quickly explaining what Ghost is. Ghost is an open source software blogging platform that helps individual bloggers such as myself create such content. However it's not aimed just at individual bloggers. The platform has grown and has attracted even professional journalists. About three weeks ago, I came across a former coworker's personal website. It was designed with inspiration from the documentation page of a JavaScript framework called Backbone.Conduit. I liked how this person's website was simple yet organized mainly in it's structure. For example, there was no crazy CSS, or much HTML, it was mainly JavaScript. And to add, it also serves as a blog. Right away I noticed how the source code of the project was available on their GitHub page. They were even nice enough to include a full writeup on their very own site about how it was designed. Would you look at that! That is one way of coming up with something to blog about. I do have experience with HTML and CSS, but very little of JavaScript. I did create a website before for a family member from watching YouTube videos, but I had a guide by watching the video in it's entirety. Upon starting this project however I ran into issues.

Troubleshooting

I was not able to get the site up and running. I added my own code and even decided to keep the original author's code and was still unable to get the site up and running. So I decided to get help from YouTube again. As mentioned, I had watched numerous YouTube videos back when I was trying to create a website for a family member. I decided to look at the channel of the YouTuber who I had watched. I looked through their uploads and saw a video titled Gatsby - Strapi Portfolio Project by Coding Addict. The reason this video caught my attention was because it not only was from the YouTube channel that helped me create my first website, but it included the starter files or in this case the full source code to follow along in the video. To add to this, the site had blog functionality and served also as a portfolio. This was something extra but something I was happy to include, a portfolio blog hybrid as my personal website.

Upon starting to watch the video, I set up my dev environment mainly getting Visual Studio Code, Python, Node, Npm, Gatsby, and lastly Strapi. I don't do much programming but this is something I am for sure going to get in the habit of doing more often! I was working with new tools, mainly Gatsby and Strapi which I never touched before. I used Gatsby for my front end development, and Strapi for my backend development. I was able to follow along in the video but stumbled upon an issue while trying to query my collection types that were created in the backend in Strapi. I was two hours into the video and found some discussions in the comments of the video about people having similar issues. However none of the solutions worked for me. I even googled my scenario and still did not find any solutions. I remember in the beginning of the video, the instructor/uploader recommended everyone to use their Strapi api config. I decided not to after seeing some comments of people complaining something along the lines of the api having bugs or causing issues. I was fully aware of what I was going to face if I decided to develop my own Strapi api config using the latest version of strapi. This is a common problem in development where using different versions of software can cause issues with dependencies, but it was something I had no problem with troubleshooting. Unfortunately all the troubleshooting was exhausted and I was left to scrap this approach and try something else.


Patience in the Midst of Frustration

Frustrated and unable to make any progress, I decided to look into how the blogs of other prominent cybersecurity bloggers were designed. I looked at several blogs and ended up deciding to use the design on Troy Hunt's page. The reason I made this decision was because I read a blog on his site pertaining to why they ended up using Ghost. It was very well detailed and even listed a breakdown of the benefits of using Ghost. Without thinking anymore, I made the switch.

Before making the switch however, I needed to make the decision on whether I wanted to self host Ghost or let Ghost themselves host the platform. I decided to take the former approach. I ended up following Ghost's guide here as well as this guide here. Both guides were detailed, and in the end I managed to successfully self host Ghost on my Ubuntu Server instance in AWS using a combination of EC2 and Route 53. Some benefits for me are that I have something to play around with and gain more experience in. I haven't done much Linux systems administration in my career, so why not get some experience? And of course something that I can manage myself. And to further add, I used the same Ubuntu Server instance that hosts my UniFi Cloud Controller. So in the end, I only needed to purchase the domain of my site. I did however end up upgrading my instance from a t2.micro to t2.small. I noticed my server consuming a little over half of the memory which only had 1GB at the time before installing Ghost. Now the server has 2GB. Since the server now hosts two applications, I wanted to ensure I not only accommodated resources, but also plan ahead if I end up deciding to host some other application that will take up even more resources.

The Path Ahead

With my site now up and running, it's time to start something new in my life. The title of this blog post is called "Something to Believe In". What exactly does this title mean? What is that something I chose to believe in? For many people, believing is part of their existence. It's who they are. I chose to believe that becoming more involved in discussion about something I am not only passionate about but curious about is a benefit for not just for me but society in general. This site will not be just a blog, it will also be a home for me, you, and everyone else. A community where we can all grow regardless whether you have any interest in InfoSec or not. My site will hold these words strongly that it's important how we keep each other informed to stay secure in this ever lasting threat landscape.