---
title: "Bringing SIMD into Go?"
publication: "Go Weekly"
issue: 416
published_at: "2022-06-17"
canonical_url: "https://golangweekly.com/issues/416"
---

Plus meet some DALL-E gophers, Go 1.19 beta 1, and the world's last Go developer sends a message back in time. |        

#​416 — June 17, 2022 

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

The _Go Weekly_ Newsletter 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/eeherc2pqotlqvi72drt.jpg)](https://groups.google.com/g/golang-announce/c/SNruPJUSFz0)  

[Go 1.19 Beta 1 Released](https://groups.google.com/g/golang-announce/c/SNruPJUSFz0) — This post on the golang-announce group just has the basics of how to download it, but [these draft release notes](https://tip.golang.org/doc/go1.19) go further into actual features (which are predominantly fixes and tweaks - don’t expect a big 1.18 style release, though the addition of an optional soft memory limit for the runtime is interesting). 

The Go Team   

[Language Proposal: Bring Direct SIMD Support into Go](https://github.com/golang/go/issues/53171) — Language proposals are always interesting to read, particularly when they provoke discussion; here, a `simd` library to take advantage of SIMD (Single Instruction, Multiple Data) CPU instructions is proposed and has been marked “active” by the core team for now. 

Moritz Poldrack   [![\](https://copm.s3.amazonaws.com/536fe896.png)](https://www.datadoghq.com/dg/apm/debugging-go/?utm_source=advertisement&utm_medium=newsletter&utm_campaign=dg-cooperpress-applications-ww-go-p-debugging) 

[Troubleshoot and Optimize Golang App Performance with Datadog APM](https://www.datadoghq.com/dg/apm/debugging-go/?utm_source=advertisement&utm_medium=newsletter&utm_campaign=dg-cooperpress-applications-ww-go-p-debugging) — Datadog’s APM generates detailed flame graphs to help you identify bottlenecks and latency in your Golang code. Navigate seamlessly between app traces, logs and metrics to troubleshoot and optimize performance issues fast. Try Datadog APM free. 

Datadog APM sponsor   

[Go’s New Sorting Algorithm: pdqsort](https://t.co/S8CYI31Dww) — We first linked to news about this back in [issue 408](https://golangweekly.com/issues/408) but here’s a reminder and look at what the source says about it. _“Never (significantly) slower, often faster”_ sounds like a win. [Academic paper (PDF) explaining the algorithm](https://arxiv.org/pdf/2106.05123.pdf). 

Codejitsu   

**Quicker bits:** 

- Akamai's security research team has [discovered a botnet written in Go](https://www.akamai.com/blog/security/new-p2p-botnet-panchan) that, they say, uses Go's talents for concurrency to _"maximize spreadability."_
- 📅 [Gophercon Europe](https://gophercon.eu/) is set to take place in Berlin next month (July 28-31) but there'll be an online stream too.
- **LOL:** An [▶️ exclusive look at Go from the perspective of 2053](https://www.youtube.com/watch?v=UgLrZhVMrB4) with a rather futuristic looking Ron Evans of TinyGo who claims to be the last Go developer remaining and maintaining all of our code 😂
- Not taken the Go team's [June 2022 Go Developer Survey](https://google.qualtrics.com/jfe/form/SV_7O3x4IZKiUn0QCO?s=t) yet? There's still time.   

[How Static Code Analysis Prevents You From Waking Up at 3AM with Production on Fire](https://xeiaso.net/talks/conf42-static-analysis) — An extensive and well transcribed presentation (with a video version available, too) that discusses the pros of static analysis along with several examples of using `go vet` and staticcheck effectively. 

Xe Iaso   

[How to Deploy a Go Webapp with Docker](https://semaphoreci.com/community/tutorials/how-to-deploy-a-go-web-application-with-docker) — A comprehensive look at building a Go web application with Docker, including development environment, production considerations, and building with CI. 

Kulshekhar Kabra (Semaphore)   

[Adventures in AWS Lambda Land: A Migration Gone Well](https://spacelift.io/blog/aws-lambda-migration) — Lessons learned moving from long-running processes hosted in containers (ECS) to a serverless-based approach, including some annoying-but-still-better-anyway gotchas. 

Jacob Martin (Spacelift)   

▶[Creating Basic Game Animations with Go and Raylib](https://www.youtube.com/watch?v=yd2TtdMYb8A) — Raylib is a cross platform 2D drawing/gamedev library that [has Go bindings.](https://github.com/gen2brain/raylib-go) 

Avery Makes Games   

['Don't Put All Your Code in Internal'?](https://ido50.net/rants/dont-put-all-your-code-in-internal) — An unsurprisingly controversial self-proclaimed rant about the use of ‘internal’ packages to hide implementation details from end users. Food for thought, even if you disagree. 

Ido Perlmuter  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ctl4r3ny7zjcd4yildvj.jpg)](https://github.com/alecthomas/chroma)   

[Chroma 2.2: A Pure Go General Purpose Syntax Highlighter](https://github.com/alecthomas/chroma) — Take source code and turn it into syntax highlighted HTML, ANSI colored text, or just grab the raw tokens in JSON. Brings most of the features of [Pygments](https://pygments.org/) to Go and can use Pygments’ lexers and styles too. There’s [an online playground](https://swapoff.org/chroma/playground/) where you can try it out too. 

Alec Thomas   

[Trie: Trie Implementation Targeting Auto-Completion Use Cases](https://github.com/shivamMg/trie) — An interesting aspect to this project is there’s a WebAssembly-powered [online demo.](https://shivammg.github.io/trie/) Certainly feels fast in the browser. 

shivam mamgain   

[Securing Your MongoDB Database](https://goteleport.com/blog/hardening-mongodb/?utm_campaign=eg&utm_medium=partner&utm_source=golangweekly) 

Teleport sponsor   

[Validate: A Generic Data Validation and Filtering Library](https://github.com/gookit/validate) — Lots of examples in the README. Validate maps, structs, HTTP requests, add custom error messages, and has about [70 built-in validators.](https://github.com/gookit/validate#built-in-validators) 

Gookit   

[Rope: A Persistent Rope Data Structure](https://github.com/deadpixi/rope) — Very new and no docs, so you’ll want to check [the tests](https://github.com/deadpixi/rope/blob/main/rope_test.go) for examples. A [“rope”](https://en.wikipedia.org/wiki/Rope_%28data_structure%29) is basically a binary tree of strings. 

Rob King   

**QUICK RELEASES:** 

- [go-mysql 1.6](https://github.com/go-mysql-org/go-mysql) – Pure Go MySQL wire protocol library.
- [Tengo 2.12.0](https://github.com/d5/tengo) – Small scripting language for inside Go apps.
- [Garble 0.7.0](https://github.com/burrowers/garble/releases/tag/v0.7.0) – Obfuscate Go build info.
- [Task 3.13.0](https://taskfile.dev/) – A Go answer to `make`.
- [RoseDB 1.1](https://github.com/flower-corp/rosedb) – Bitcask-inspired NoSQL database.     

Jobs  

[Senior Backend Go Engineer - Remote (US)](https://grnh.se/77fa98c14us) — Petabytes of data, millions of requests a second! Help us build our AdTech platform. Go, GCP, gRPC, Bigquery, Bigtable, Spanner. 
MadHive   

[Roar Studios: Platform Engineer](https://roar-studios.breezy.hr/p/d16d0f3b5bfc-platform-engineer) — If you're a passionate musician as well as an experienced Platform Engineer, we'd love to talk. :) 
Roar Studios Inc.   

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-go&utm_content=go) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team   

[Find a Job Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired           

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

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

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