On the past few friday evenings I started to write a side-project to get going with server and client development using Go. The result is the CLI Notes project for managing text notes from the command line. All code for hosting the API server and building the needed client application is available at GitHub using the GPL license
What is CLI Notes ?
I always felt the need to create a simple tool to quickly write and store text notes from the command line:
The cn application sends your notes to the API server, so please make sure not to post any sensitive information unless you are hosting the server for yourself! But of course you are welcome to test-drive my running service at clinot.es …
Open Source
Of course the complete sources for running the API server using Heroku is online at GitHub. There are two repositories available, one for the backend and one for the command line application
After attending a talk at the GitHub Universe 2016 about Hubot, I felt the need to write a little Go library to speed up my process of creating bots for Slack. With hanu you can get started with the buzzword ChatOps in seconds. The final bot will be running on Heroku using a worker dyno, but of course this works fine on your local machine as well.
Cobra is an awesome and widely used library and generator for Command Line applications written in Go. Together with goxc you can easily create a neat setup to get started with CLI interactions.
It only takes a couple of minutes to deploy a go application to a free Heroku dyno, use a custom domain name and enable free SSL using CloudFlare. If you still have some seconds left - and you will - it’s dead simple to add Prometheus metrics as well.
It’s not a secret you can easily host any static website on Amazon S3 without cryptic configuration. When you add CloudFront for HTTPS delivery and the Amazon Certificate Manager for free SSL certificates you will get a neat setup.
The release of a static website, no matter of which complexity, always comes with the question of how? Of course nobody likes to write plain HTML and CSS, or use a system without the possibility to include and re-use common lines of code.