Ramble

Work Summary 0: Beautiful Hugo and CGSC Hacks

Keeping with my purpose, I want to write a bi-monthly (bi-weekly?)1 summary of what I have accomplished. In the past two weeks, I generated the base mjkranch.com content, transitioned to the Beautiful Hugo theme, generated a CV from Front Matter, migrated to Gitlab, and started CGSC Hacks. Looking back, I did quite a bit. I do feel like I have been stuck in the minutiae of website design and content building (the boring polishing aspects) instead of the more rewarding big system building or problem-solving aspects of web development, but I’ve made some progress and continued to learn.

Deploying a Hugo site on Gitlab

As I mentioned in the previous post’s footnote, I actually decided to host this site on GitLab primarily because GitLab is awesome (requires no maintenance on my part, has free private repositories, and natively supports Hugo). There is also good documentation on how to use Hugo with Gitlab from both Hugo and GitLab; however, I ran into a couple small issues I felt were worth addressing. Path, not project name, determines your site URL. I spent some time trying to figure out why my site was not working when it was simply under a subfolder. As documented here, you are recommended to name your new repo namespace.gitlab.io, where namespace is your username or groupname. If you do not use this conjention, your site will be available at namespace.gitlab.io/repo. I initially named by repo mjkranch.com and then changed it to archang31.gitlab.io under my project->settings->general->general project; however, I still needed to visit https://archang31.gitlab.io/mjkranch.com/ to view my site and not simply https://archang31.gitlab.io/. The issue is the url is really based on the project path and not the project name (notice the difference in the two in Figure 1.).

Why [I] Create[d] a Technical Blog

Why I decided to blog I’ve had a website for almost two years, but I always envisioned this site being more than simply a persistent resume. I dabbled in this more twice before, but I allowed myself to get in my own way. I convinced myself that my website design was not polished enough, my framework was not secure enough, my writing was not professional enough, and, most paralyzingly, my contributions were not big enough to be released in a public platform. Unfortunately, this inaction had a cost. I have repeated tasks I failed to document, forgot ideas I was afraid to share, and contributed little back to this amazing community from which I have learned (consumed) so much. Ultimately, this journal is for me. It will force me to better understanding these topics by creating the appropriate documentation, help me become more comfortable with casual public writing (and not worry if it is perfect), and provide me with record of all my technical endeavors. I hope some of this work is also useful to the community, but I am positive I will be the biggest beneficiary of all simply by going through this process.

My new Hugo website

I’ve had a website for a little over a year now, but I recently had several technical experiences that I really want to share with the world. As such, I decided it was time to create a blog. Three weeks and several frameworks later, I decided upon using Hugo. I still think I will ultimately end up switching to Django due to some of the more advanced goals I eventually have for my own cite (namely, hosting my own web CTF), but I felt I was delaying doing what I really wanted to do (writing the posts) while I spent time learning how to leverage all the CMS and blog template features of Django. In the meantime, I settled on Hugo. One of my good friends, Roy Ragsdale, strongly recommended the framework. When looking for static site generators, Jekyll is currently the other main alternative to Hugo though they are fairly similar. Jekyll’s integration with GitHub pages almost tipped me in that direction, but I liked the larger diversity in supplied Hugo themes.1 I also run my own server so the GitHub support does not matter.