Adding Audio to Hugo
The website you are reading was generated using Hugo. I recently upgraded the version of Hugo up quite a few releases.
Overall everything went smooth, but something I didn’t catch till the next day was all my audio embeds stopped working. The embedded html5 audio tag in the post or page was being ommited. It was getting rendered as an html comment, “raw HTML omitted.”
Considering I was upgrading from v 0.40 to v 0.80 I think I got off pretty easy. Note to self, don’t wait two years to upgrade next time. That’s the beauty of Hugo though, since it’s a static site renderer you don’t have to worry about those security patches the same way you would if you were running WordPress, Drupal or Ghost. Waiting two years to upgrade WordPress means you probably got hacked.
Introducing CMSutil, GraphQL backups
At work I selected GraphCMS to be our preferred headless CMS. It is already leveraged on multiple projects and has been working out well for us. The beauty of a good headless CMS is you can use in many scenarios. Case in point, of the 3 instances we have, 2 are web apps; only one is marketing site.
If you are not familiar with GraphCMS, it is a flexible headless CMS with native GraphQL support. It is not a REST API with GraphQL slapped on top, it is a true GraphQL service. This combined with their excellent schema editor and content tools makes it an excellent choice for headless content management.
Messing Around with Amazon Polly
I heard good things about Amazon Polly and wanted to take a peek and judge for myself. It’s very easy to use. The example below were done with the AWS CLI.
In case you’re not familiar, Polly is a text to speech service created by Amazon for AWS. Learn more at https://aws.amazon.com/polly/
First Example
Lets start with the standard text to speech engine, which uses Concatenative Synthesis. I generated some random text using Nietzsche Ipsum
Cobra Part 1: Strike first, build a CLI In Go
Cobra is a library and generation tool for creating command line interfaces. It simplifies the work needed to create a good CLI. It is written in Go and is used in quite a few well know open source projects. Docker, Kubernetes, Etcd and the GitHub CLI all use Cobra. Check out this link for a larger list of projects.
There are some great older posts on how to use Cobra available online, but I still thought it was worth creating my own. I hope creating something newer that includes using Go modules and subcommands will be usefull as a concise way to get started with your own Golang CLI. In just a few minutes, you can have a Go CLI with Go module support and nested commands.
Improve DevOps Security with Container Scanning
Running your code in containers is a great way manage and deploy software. All of the code needed to run your app is inside one or more containers. You can move these containers from environment to enviornment by creating images and running these images in each environment (as containers).
If you’re using Docker, or a similar alternative, you already know all of this. That’s great but how are you managing security within each container?
Golang Food
Golang is a hot topic among developers these days. languages like Golang and node.js are getting a lot of attention.
For most folks switching programing languages is a big deal and it usually takes some production catastrophe or poorly aging codebase to motivate the switch. It’s like when someone has that way too special night with tequila and decides “never again.” For others they switch and/or experiment with other languages like they change their socks.