---
title: "gomacro: An Interactive Go Interpreter and Debugger"
publication: "Go Weekly"
issue: 219
published_at: "2018-07-12"
canonical_url: "https://golangweekly.com/issues/219"
---

The latest Golang development news       

#219 — July 12, 2018 

[Read on the Web](https://golangweekly.com/issues/219)   

Golang Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/aye61vwwt68n2qajjkex.jpg)](https://github.com/cosmos72/gomacro)  

[gomacro: An Interactive Go Interpreter and Debugger](https://github.com/cosmos72/gomacro) — Can be used as a typical REPL or as a debugger, alternatively it can bring an `Eval()` function and scripting capabilities to existing Go code, or even be used to experiment with generics and Lisp-like macros. 

Massimiliano Ghilardi   

[Slices from the Ground Up](https://dave.cheney.net/2018/07/12/slices-from-the-ground-up) — Inspired by a conversation on using a slice as a stack, Dave Cheney explores how slices work in relation to arrays and how slices are internally represented. 

Dave Cheney   [![\](https://copm.s3.amazonaws.com/79a88279.jpg)](https://www.influxdata.com/blog/telegraf-go-collection-agent/) 

[Telegraf: The Open Source Go Collection Agent](https://www.influxdata.com/blog/telegraf-go-collection-agent/) — Learn how to use [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/): the agent for collecting and reporting metrics and events. 

InfluxData sponsor   

[Browsh: A Fully-Modern Text-based Browser, Rendering to TTY and Browsers](https://github.com/browsh-org/browsh) — A fun one, this. It uses headless Firefox behind the scenes but renders graphics and video out to terminal. 

Browsh   

[Introducing Open API (Formerly 'Swagger') with Go](https://posener.github.io/openapi-intro/) — Open API, formerly known as Swagger, is a way to describe REST APIs. This now concluded three part series introduces the main concepts and some tooling for building Open API-based APIs in Go. 

Eyal Posener   

[Flaggy: Idiomatically Go Command Line Input Parsing](https://github.com/integrii/flaggy) — Supports subcommands, positional values, and flags at any position. No external dependencies. [Kingpin](https://github.com/alecthomas/kingpin) is another popular option if you’re in the market for this sort of library. 

Eric Greer   

[GoCV 0.14.0: Going Deeper Into DNN for Computer Vision](https://gocv.io/blog/2018-07-05-going-deeper-into-dnn/) — The latest version of GoCV, an OpenCV-based computer vision library for Go, takes advantage of some new features in OpenCV for using models from systems like Tensorflow. 

GoCV  

💻 Jobs  

[Go Backend Developers (Lyon, France)](https://sentryo.workable.com/) — Want to work on a unique big-data cybersecurity platform to secure critical infrastructure? [Join us](https://sentryo.workable.com/). 

Sentryo   

[Find A Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-75453) — Vettery matches top tech talent with fast-growing companies. Create your profile to get started. 

Vettery  

📘 Tutorials & Articles  

[Binding Go Structures to JS References in WebAssembly](https://medium.zenika.com/go-webassembly-binding-structures-to-js-references-4eddd6fd4d23) 

Nicolas Lepage   

[Make Go Applications Faster with StackImpact](https://stackimpact.com/) — Optimize and troubleshoot application latency and efficiency in production and development environments. 

StackImpact sponsor   

[Using Go for WebAssembly Applications](https://sebastian-holstein.de/post/2018-07-05-go-wasm-application/) — We’ve linked to a few similar tutorials recently but it’s an exciting space to play in right now with the Go 1.11 beta. 

Sebastian Holstein   

[Learn Go with Tests: Reflection](https://quii.gitbook.io/learn-go-with-tests/go-fundamentals/reflection) — Reflection can have a bit of a steep learning curve, so walking through this subject with tests is a great approach. 

Chris James   

▶[High Performance Go](https://www.youtube.com/watch?v=ADT25tuAx4A) — A 50 minute talk covering benchmarking, profiling, and tracing. 

Dave Cheney   

[Using Interfaces and Dependency Injection to Future Proof Your Designs](https://medium.com/dm03514-tech-blog/you-are-going-to-need-it-using-interfaces-and-dependency-injection-to-future-proof-your-designs-2cf6f58db192) 

Daniel Mican   

[Build a Netflix Style Video Platform - Golang API Client](https://developer.bitmovin.com/hc/en-us/articles/115001117733?utm_source=cooperpress&utm_medium=email&utm_campaign=golang) 

Bitmovin sponsor  

🔧 Code  

[Fathom: A Privacy-Focused Website Analytics System](https://github.com/usefathom/fathom) — A Go and Preact (a smaller and faster React, essentially) alternative to something like Google Analytics. 

Fathom   

[shellquote: Quotes Strings for Shell Scripts](https://github.com/frioux/shellquote) — There’s a brief post covering [the how and why.](https://blog.afoolishmanifesto.com/posts/announcing-shellquote/) 

fREW Schmidt   

[Go Config: A Pluggable Dynamic Config Library](https://micro.mu/blog/2018/07/04/go-config.html) 

Asim Aslam   

[runq: Run Regular Docker Images in KVM/Qemu](https://github.com/gotoz/runq) 

IBM Corp.   

[Gaia: An Automation Platform to Build Powerful Pipelines](https://github.com/gaia-pipeline/gaia) — Based on HashiCorp’s go-plugin and gRPC over HTTP2. 

Gaia   

[Oathkeeper: A Cloud Native Identity & Access Proxy (IAP)](https://github.com/ory/oathkeeper) — ..which authenticates and authorizes incoming HTTP requests. Written in Go. 

ORY   

[ULID: Universally Unique Lexicographically Sortable Identifier](https://github.com/oklog/ulid) — A more efficient alternative to GUID/UUIDs, case insensitive and URL safe. 

OK Log   

[Take Our 5-Min Survey & Win a Chance at a Lego Mindstorm](https://survey.ca1.qualtrics.com/jfe/form/SV_5pebMx6m0YSu2YR?utm_source=cooperpress&utm_medium=email&utm_content=18-07-12-go-newsletter&utm_campaign=developer-survey) 

ActiveState sponsor   

[httpu: A 'Terminal-First' HTTP Client](https://github.com/hazbo/httpu) — For playing or working with existing HTTP APIs from the terminal. 

Harry Lawrence   

[Noise: A Decentralized P2P Networking Stack](https://github.com/perlin-network/noise) — A stack for decentralized applications and cryptographic protocols. 

Perlin Network         

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
