---
title: "Visually appealing console output options"
publication: "Go Weekly"
issue: 357
published_at: "2021-04-09"
canonical_url: "https://golangweekly.com/issues/357"
---

Plus a new GoLand release, the trials of testing in Go, and the ins and outs of HTTPS servers. |        

# 357 — April 9, 2021 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/357)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/rz57ynegddbqbbijc3mk.jpg)](https://pterm.sh/#/)   

[PTerm: A Modern Go Module to Beautify Console Output](https://pterm.sh/#/) — Boasting 100% test coverage and support on Windows, Linux, and macOS, PTerm wants to be your go-to package for creating attractive command line interfaces. Out of the box you get things like bar charts, bulletpoint lists, text centering, spinners, tables, and more. Check out [the GitHub repo](https://github.com/pterm/pterm/) for screenshots and examples. 

PTerm Contributors   

[Spaghetti: A Dependency Analysis Tool for Go Packages](https://github.com/adonovan/spaghetti) — An interactive Web-based tool (that you run locally) to explore and understand the dependencies of a Go program with the aim of finding ways to eliminate dependencies and clean things up. 

Alan Donovan   [![\](https://copm.s3.amazonaws.com/b06ff6db.png)](https://dashboard.redisgreen.net/goweekly) 

[Redis 6.2 on RedisGreen](https://dashboard.redisgreen.net/goweekly) — SSL encryption, key size tracking, memory mapping, online upgrades, and more. 

RedisGreen sponsor    

▶[The Trials and Tribulations of Testing in Go](https://changelog.com/gotime/174) — Why to test, where to test, how to test, and what should you even be testing anyway? Most developers will have faced challenges during testing and a handful of Go developers got together to discuss them in this 73-minute show. 

Go Time Podcast podcast   

[TiDB 5.0: A Distributed HTAP Database](https://github.com/pingcap/tidb) — TiDB is a database written in Go and compatible with MySQL’s wire protocol that offers horizontal scalability and aimed at HTAP (Hybrid Transactional and Analytical Processing) workloads. [5.0](https://github.com/pingcap/tidb/releases/tag/v5.0.0) adds an experimental list partitioning feature, invisible indexes, and improved ‘desensitization’ of personal data in error messages and logs. 

PingCAP     **Quick bits:** 

- Popular commercial IDE [GoLand has a new release](https://www.jetbrains.com/go/promo/whatsnew/) in the shape of 2021.1. It adds Go 1.16 support, lets you build programs remotely via Docker, SSH and WSL 2, and supposedly the Apple M1 experience is also improved.
- The ['ten commandments' of Go.](https://bitfieldconsulting.com/golang/commandments) _Thou shalt not leak resources,_indeed.   

📘 Tutorials and Stories  

[Go HTTPS Servers with TLS](https://eli.thegreenplace.net/2021/go-https-servers-with-tls/) — A straightforward introduction to running TLS-driven HTTPS servers directly from Go including how the handshaking works, how to generate self signed certificates directly from Go, and a basic example of client authentication. 

Eli Bendersky   

[Getting Started with the AWS Cloud Development Kit and Go](https://aws.amazon.com/blogs/developer/getting-started-with-the-aws-cloud-development-kit-and-go/) — Go support for [AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/home.html) is now in ‘Developer Preview’ and ready to try. This post covers setting up a new AWS CDK app and how to deploy stacks synthesized in Go. 

Mitchell Valine (Amazon Web Services)   

[Book a Demo. Ship Fast. Rest Easy. LaunchDarkly](https://learn.launchdarkly.com/demo/?utm_source=cooperpress&utm_medium=display&utm_campaign=21q1-cooperpress) — Testing in production is scary til it's not. Get control of your code to reduce risk & reclaim your nights and weekends. 

LaunchDarkly sponsor   

[`import "context"`](https://steveazz.xyz/blog/import-context/) — A look at [`context`](https://golang.org/pkg/context/) and some of the reasons and approaches around its use. 

Steve Azzopardi   

[Examples of Go Compared to Node.js](https://github.com/miguelmota/golang-for-nodejs-developers) — A Rosetta Stone (of sorts) contrasting approaches to the same tasks in both Go and Node.js. BTW, if you ever work Node.js-side, [we have a newsletter for that](https://nodeweekly.com/) ;-) 

Miguel Mota   

[The Evolution of a Go Programmer](https://github.com/SuperPaintman/the-evolution-of-a-go-programmer) — We linked this bit of humor back when it came out, but since it’s been doing the rounds again on social.. you might fancy another laugh (or not). 

Aleksandr Krivoshchekov   

[Observability Won’t Replace Monitoring (Because It Shouldn’t)](https://go.lightstep.com/register-observability-replace-monitoring-co.html?utm_campaign=golang&utm_source=cooper&utm_medium=Email) 

Lightstep sponsor   

['Go is a Great Programming Language'](https://drewdevault.com/2021/04/02/Go-is-a-great-language.html) — _”.. despite my criticisms of it, Go remains one of the best programming languages I’ve ever used, and I have a great deal of respect for it.”_ 

Drew DeVault  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/rprn6ffmj1ln7seq3nps.jpg)](https://github.com/charmbracelet/lipgloss)   

[Lip Gloss: Style Definitions for Nice Terminal Layouts](https://github.com/charmbracelet/lipgloss) — This is somewhat different to PTerm (featured above) but provides an interesting fluent-style API for stylizing text output from your programs. 

Charm   

[MacDriver 0.1: Native Mac API Access for Go](https://github.com/progrium/macdriver) — A toolkit for working with Apple/Mac APIs and frameworks in Go formed of both bindings for Objective C and wrapped versions of certain frameworks. 

Jeff Lindsay   

[RxGo 2.5.0: Reactive Extensions for the Go Language](https://github.com/ReactiveX/RxGo) — If you’re familiar with [RxJS](https://rxjs-dev.firebaseapp.com/) in the JavaScript world, this is the same idea for Go. 

ReactiveX   

[go-ldap 3.3: Basic LDAP V3 Functions for Go Developers](https://github.com/go-ldap/ldap) — Implements three LDAP related specifications (RFCs 4511, 3062, and 4514). 

Michael Mitton et al.   

[twodeeparticles: Engine-Agnostic 2D Particle System Simulator for Go](https://github.com/blizzy78/twodeeparticles) — Gotta admit, I like the name. 

Maik Schreiber   

[oapi-codegen 1.6: Generate Go Client and Server Boilerplate From OpenAPI 3 Specs](https://github.com/deepmap/oapi-codegen) 
DeepMap, Inc   

[Vald: A Highly Scalable Distributed Vector Search Engine](https://github.com/vdaas/vald) 
Vald Team  

💻 Jobs  

[Full Stack Go Opening at Cyber Product Startup (Remote)](https://www.myhatchpad.com/job/senior-software-engineer/) — Cyber role responsible for developing and designing frontend web architecture and supporting APIs. 

hatchpad   

[Back-End Engineer (Bitcoin Mining)](https://angel.co/company/luxor-technologies/jobs/1250716-back-end-engineer-bitcoin-mining?utm_campaign=talent&utm_content=promote_jobs_box-listing&utm_medium=al_tweet&utm_source=twitter&utm_term=luxor-technologies) — We're looking for experienced Golang engineers to join our team and work on rewarding projects in the crypto mining industry. 

Luxor Technologies   

[Wynter Is Looking for Developers to Join Its Research Panel](https://wynter.com/testers/join?utm_source=GoNL&utm_medium=email&utm_campaign=researchpanel) — Give feedback on digital products and landing pages, get paid $10-$50 per survey. Super low-key commitment, 10-15 mins per survey. 

Wynter Research Panels         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
