Hugo

I am finally getting around to publishing again. This time from a hugo powered site generator. It’s been much easier to get hugo working than to fight with ruby. I’ve rebuilt and reformated my main computer multiple times and each time I want to write my Jekyll install was busted. So I ditched Jekyll this week.

Migration to hugo

Hugo was a quick and easy install. I’d played with it in the past for another project (one that hasn’t gone to production yet). I grabbed a pre-made theme for now (much like I did with Jekyll) to get started. Hugo also seems to be easier for me to grok from a content perspective. I hope to add more sections to this site over time to experiment with that possibility. Another big change that I wanted to try but wasn’t sure about was how I’d publish.

Using AWS

This site was always S3 hosted via Cloudfront but managing that also proved tough at times. I used the s3_website gem (since I was already tied to ruby for jekyll) to help but most of the time my AWS creds also were not usually configured either. Now that is less of a problem of late, as I use AWS for more stuff than I did in 2017 and 2018. However, I still needed a sustainable and quick publishing pipeline.

Hugo supports publishing to s3 much like s3_website did for me. However, now I can run builds in AWS without managing a CI server! It’s called AWS CodeBuild and it can pull my code from github triggered from a webhook and run like jenkins!

Now all I need on my computer to push new content is VSCode (my favorite editor of late) and git. The only credentials I need are my SSH key for github, which is one of the first things I do when I setup a computer. I can even handle permissions like any other AWS resource. I just needed to create a service role for my build and grant it the necessary permissions to call s3. Now my build and publish process is just as “serverless” as the site itself!

Publish pipeline

Now I publishing looks like this:

  1. Write content
  2. Commit to git
  3. Push to github
  4. AWS Codebuild is triggered from push event
  5. Codebuild runs a hugo build and publish
  6. There is no step 6

Java in 2017

Building better projects

It’s amazing how much code has been deleted in my professional and personal projects lately. Java gets a lot of grief, some is valid. However, if written using modern practices and features its a really nice tool. In most of the projects I’ve worked with in late 2017 the pom.xml is very small and builds are quick compared to most projects I’ve been a part of. Some could argue that most of that is because the projects are small microservices, but you can still build a monster if you keep writing code like you learned shortly after the new millennium started.

Tips:

Writing more open code

Also I’m trying my hand at open source Java. Its not much and this project hasn’t seen production yet, but it sure was fun to write!

Videos

I ran across these videos on Youtube last year that helped with modernizing my Java skills.

Adam Bien

Venkat Subramaniam

Welcome

My name is Jared Teems. Professionally I’m a Java developer but I have many technology interests. This blog is a mostly default Jekyll powered blog where I can publicly share anything I find interesting.