Hello, World!


Like a programming tutorial, I’m starting off my personal blog with a “Hello, World!” post. This is my first foray into building a website, not to mention blogging in general. For my inaugural post, I’m going to go over my motivations for this website, how it’s built, and my goals for this site.

Why should I build a website?

Most of my experience in the software industry has been in the backend or on the infrastructure side. It’s a side of software development you don’t typically learn about in school and from what my old coworkers have told me, just happen to fall into. When I first started working in software, I had no idea about the operational side of running a web application or platform. I’m now approaching 3 years of experience in my career and while I have experience keeping a website running or debugging one, I haven’t actually built one myself. I figured I should probably make myself a little more well rounded than just being a DevOps engineer. But where to start?

There are plenty of resources online about how to start a website. While I could have used any one of them, I wanted to learn from a person, someone I knew. I happened to see a post on Facebook by one of my front-end engineer co-workers about how he created his own website. I looked at his site and was curious about how he pulled it all together. I messaged him and we discussed the how and why of his own website. My site here largely uses the same stack he used to create his site.

However, it wasn’t until when the Coronavirus pandemic hit the United States hard that I would actually start building my site. I suddenly found myself laid off with extra time on my hands. This site would not only serve as a way for me to learn about building a website, but also as an extended resume.

Pulling it all together

As you may have noticed on the bottom of this page, this site was created using a Static Site Generator called Hugo and the Coder theme. In a way, I’m cheating slightly here because I didn’t have to write any of the HTML, CSS, or JavaScript that actually make up this page. The only piece of the site I’m concerned with here is the Markdown text for the main body of this article. Using Hugo greatly simplifies building a website as I only really need to worry about picking a theme, doing some minor customizations, and then typing away in Markdown. I settled on the Coder theme because it provided a nice, clean, format for building an extended resume and personal blog. I did need to learn about how to actually use Hugo, but that didn’t actually take too long, a testament to the tool’s ease of use.

Once I had the basic skeleton of the site, such as the home page and primary sections filled out, it was time to actually deploy the site. This is the part where I have actual professional experience. I needed a domain and place to host my site. I found out that Netlify has a free tier and can deploy directly from GitHub. Netlify and Hugo both integrate with each other really easily. I bought a domain from porkbun.com, registered it to my Netlify account, updated the Name Server records at Porkbun to use the Netlify DNS servers, and then deployed my site from my GitHub repository.

Once I had my site actually deployed, it was time for some final tweaks. I had a couple people double check my posts for any last minute spelling errors. I learned how to add some custom CSS for an email me form. It also turns out Netlify will let you add a captcha to your email forms for free, so I definitely added that to prevent spam. There’s also a tool called Disqus that lets you comment and react to my posts. This way, this site isn’t just me yelling into the void.

The future

The hardest part of building a website was actually filling it with something worthwhile to read. Writing has never been one of my strong suits. You can ask my past project groupmates and English teachers for confirmation of that. Sure, I can convert my Resume into Markdown and summarize my past work, but there’s not much creativity and freedom in that. Writing actual blogs post about myself, my personal work, and keeping it interesting is going to be much more difficult. I hope to use this site as a way to hone my writing abilities as I keep it up to date with my musings and projects.

At the moment, I am using Hugo and a prebuilt theme. However, it doesn’t have to remain that way. I hope to learn more about Hugo and CSS so that I can eventually customize this theme or build my own. I also know that I can also embed JavaScript and more dynamic content my site with Hugo. I might play with popular frameworks like React and showcase the results on this site. I could also not use Hugo at all and switch to a different web framework so that I can have a backend and datastore. But with any project, it’s best to start small and work my way up. I don’t really need a backend or any sort of data store right now and so a static site generator works great for my purposes.z

comments powered by Disqus