cbillowes/curious-programmer-oxygen

View on GitHub
content/posts/2018/2018-08-28-behind-the-scenes-my-blog.md

Summary

Maintainability
Test Coverage
---
title: "Behind the Scenes: My Blog"
date:   2018-08-28 05:20:00 +0200
tags:
    - Technical
    - Personal Brand
---

I developed **corporate** programmer using a Ruby-based static-site generator called [Jekyll](https://jekyllrb.com/). It transforms Markdown, [Liquid](https://github.com/Shopify/liquid/wiki), HTML and CSS to a static website so that no is database required.

While I was planning to [leave the corporate world](https://curiousprogrammer.io/blog/sayonara), I started rebranding. I wanted a change. A new look. A new tech. A new name.

## My blog
<img src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgMTA2IDI4IiB4bWw6c3BhY2U9InByZXNlcnZlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDYgMjgiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOiNmZmZ9LnN0MXtmaWxsOiM2Mzl9PC9zdHlsZT48Zz48cGF0aCBkPSJNNjIuOSwxMmgyLjh2MTBoLTIuOHYtMS4zYy0xLDEuNS0yLjMsMS42LTMuMSwxLjZjLTMuMSwwLTUuMS0yLjQtNS4xLTUuM2MwLTMsMi01LjMsNC45LTUuM2MwLjgsMCwyLjMsMC4xLDMuMiwxLjZWMTJ6IE01Ny43LDE3YzAsMS42LDEuMSwyLjgsMi44LDIuOGMxLjYsMCwyLjgtMS4yLDIuOC0yLjhjMC0xLjYtMS4xLTIuOC0yLjgtMi44QzU4LjksMTQuMiw1Ny43LDE1LjQsNTcuNywxN3oiLz48cGF0aCBkPSJNNzEuMiwxNC40VjIyaC0yLjh2LTcuNmgtMS4xVjEyaDEuMVY4LjZoMi44VjEyaDEuOXYyLjRINzEuMnoiLz48cGF0aCBkPSJNNzkuNywxNC40Yy0wLjctMC42LTEuMy0wLjctMS42LTAuN2MtMC43LDAtMS4xLDAuMy0xLjEsMC44YzAsMC4zLDAuMSwwLjYsMC45LDAuOWwwLjcsMC4yYzAuOCwwLjMsMiwwLjYsMi41LDEuNCBjMC4zLDAuNCwwLjUsMSwwLjUsMS43YzAsMC45LTAuMywxLjgtMS4xLDIuNWMtMC44LDAuNy0xLjgsMS4xLTMsMS4xYy0yLjEsMC0zLjItMS0zLjktMS43bDEuNS0xLjdjMC42LDAuNiwxLjQsMS4yLDIuMiwxLjIgYzAuOCwwLDEuNC0wLjQsMS40LTEuMWMwLTAuNi0wLjUtMC45LTAuOS0xbC0wLjYtMC4yYy0wLjctMC4zLTEuNS0wLjYtMi4xLTEuMmMtMC41LTAuNS0wLjgtMS4xLTAuOC0xLjljMC0xLDAuNS0xLjgsMS0yLjMgYzAuOC0wLjYsMS44LTAuNywyLjYtMC43YzAuNywwLDEuOSwwLjEsMy4yLDEuMUw3OS43LDE0LjR6Ii8+PHBhdGggZD0iTTg1LjgsMTMuM2MxLTEuNCwyLjQtMS42LDMuMi0xLjZjMi45LDAsNC45LDIuMyw0LjksNS4zYzAsMy0yLDUuMy01LDUuM2MtMC42LDAtMi4xLTAuMS0zLjItMS42VjIySDgzVjUuMmgyLjhWMTMuM3ogTTg1LjUsMTdjMCwxLjYsMS4xLDIuOCwyLjgsMi44YzEuNiwwLDIuOC0xLjIsMi44LTIuOGMwLTEuNi0xLjEtMi44LTIuOC0yLjhDODYuNiwxNC4yLDg1LjUsMTUuNCw4NS41LDE3eiIvPjxwYXRoIGQ9Ik05OC41LDIwLjVMOTMuNywxMkg5N2wzLjEsNS43bDIuOC01LjdoMy4ybC04LDE1LjNoLTMuMkw5OC41LDIwLjV6Ii8+PHBhdGggZD0iTTU0LDEzLjdoLTIuOGMwLDAtNC4yLDAtNC4yLDB2Mi44aDMuN2MtMC42LDEuOS0yLDMuMi00LjYsMy4yYy0yLjksMC01LTIuNC01LTUuM1M0My4xLDksNDYsOWMxLjYsMCwzLjIsMC44LDQuMiwyLjEgbDIuMy0xLjVDNTEsNy41LDQ4LjYsNi4zLDQ2LDYuM2MtNC40LDAtOCwzLjYtOCw4LjFzMy40LDguMSw4LDguMXM4LTMuNiw4LTguMUM1NC4xLDE0LjEsNTQsMTMuOSw1NCwxMy43eiIvPjwvZz48Zz48Zz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjUsMTRoLTd2Mmg0LjhjLTAuNywzLTIuOSw1LjUtNS44LDYuNUw1LjUsMTFjMS4yLTMuNSw0LjYtNiw4LjUtNmMzLDAsNS43LDEuNSw3LjQsMy44bDEuNS0xLjMgQzIwLjksNC44LDE3LjcsMywxNCwzQzguOCwzLDQuNCw2LjcsMy4zLDExLjZsMTMuMiwxMy4yQzIxLjMsMjMuNiwyNSwxOS4yLDI1LDE0eiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zLDE0LjFjMCwyLjgsMS4xLDUuNSwzLjIsNy42YzIuMSwyLjEsNC45LDMuMiw3LjYsMy4yTDMsMTQuMXoiLz48L2c+PHBhdGggY2xhc3M9InN0MSIgZD0iTTE0LDBDNi4zLDAsMCw2LjMsMCwxNHM2LjMsMTQsMTQsMTRzMTQtNi4zLDE0LTE0UzIxLjcsMCwxNCwweiBNNi4yLDIxLjhjLTIuMS0yLjEtMy4yLTQuOS0zLjItNy42TDEzLjksMjUgQzExLjEsMjQuOSw4LjMsMjMuOSw2LjIsMjEuOHogTTE2LjQsMjQuN0wzLjMsMTEuNkM0LjQsNi43LDguOCwzLDE0LDNjMy43LDAsNi45LDEuOCw4LjksNC41bC0xLjUsMS4zQzE5LjcsNi41LDE3LDUsMTQsNSBjLTMuOSwwLTcuMiwyLjUtOC41LDZMMTcsMjIuNWMyLjktMSw1LjEtMy41LDUuOC02LjVIMTh2LTJoN0MyNSwxOS4yLDIxLjMsMjMuNiwxNi40LDI0Ljd6Ii8+PC9nPjwvc3ZnPg==" style="margin-top: 1em; margin-right: 1em; margin-bottom: 0.25em; float: left; width: 150px;" />

I wanted a new blog. I was introduced to [Gatsby](https://www.gatsbyjs.org/), a blazing fast static site generator for React.

This was handy as I wanted to learn React. Off I went to implement it using the [Gatsby Advanced Starter](https://github.com/Vagr9K/gatsby-advanced-starter), because why start small?

This starter kit has a lot of features including **offline support** and **web sockets** which I think is rad. I must admit that it tricky for me, as a beginner, to implement - but I came right and the site came out better than I expected it to. I still have a few features that are outstanding.

## My brand
<img src="https://images.tech.co/wp-content/uploads/2018/06/26045539/GoDaddy-Logo.jpg" width="150px" style="margin-top: 1em; margin-right: 1em; float: left" />

I wanted a new name. I settled on **curious** programmer after a lot of different ideas that came to mind.

I chose the name because I am curious about how things work and what is in store for me in my Clojure and Cloud infrastructure journey. It is also happens to be similar to my former brand.

I visited [GoDaddy](https://godaddy.com) to secure the curiousprogrammer.io domain and had to work extra hard to get my blog ready.

## Hosting
<img src="https://flaviocopes.com/netlify/banner.png" width="150px" style="float: left; margin-top: 2em; margin-right: 1em;" />

I wanted new hosting. I used to host at [BlueHost](https://www.bluehost.com/) but I was stuck with an FTP and cpanel approach which wasn't ideal for me.

Somehow I stumbled across [Netlify](https://www.netlify.com/). It lets me build, deploy and manage my blog automatically.

When I push my changes to my public [GitHub](https://github.com/cbillowes/curious-programmer-oxygen) repo, the Netlify hook detects the change and builds it automatically for me. With Gatsby's web sockets, the web pages refresh over time as changes are detected.

## Code quality
I am interested in knowing what the quality of my code is and found websites that verify it automatically on build.

I registered with both [Code Climate](https://codeclimate.com/github/cbillowes/curious-programmer-oxygen) and [Codacy](https://app.codacy.com/project/cbillowes/curious-programmer-oxygen/dashboard) to get these insights. After each deployment, I get a report telling me what standard my code is in. I seem to have some work to do 😉

---

I enjoy writing and sharing what I learn. My blogging platform makes this possible and I am proud of its outcome.

I hope that some of these technologies can be useful to you when developing a blog or any other website of your own. If you have any other technologies that you use, please share it with me.

---

## Resources
* [Jekyll](https://jekyllrb.com/)
* [Gatsby](https://www.gatsbyjs.org/)
* [GoDaddy](https://godaddy.com)
* [BlueHost](https://www.bluehost.com/)
* [Netlify](https://www.netlify.com/)
* [GitHub](https://github.com/)
* [Code Climate](https://codeclimate.com/)
* [Codacy](https://www.codacy.com/)