---
title: "Why Discord is switching from Go to Rust"
publication: "StatusCode Weekly"
issue: 252
published_at: "2020-02-05"
canonical_url: "https://weekly.statuscode.com/issues/252"
---

Plus, a 9 year old sudo bug, Neo4j 4.0, and what NULL really means in SQL.       

#252 — February 5, 2020 

[Read on the Web](https://weekly.statuscode.com/issues/252)   StatusCode Weekly Covering the week's news in software development, ops, platforms, and tooling.  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580924776/uwxyccstk6ydhjowpfkl.png)](https://missing.csail.mit.edu/)  

[The Missing Semester of Your CS Education](https://missing.csail.mit.edu/) — Three PhD students at MIT have put together a set of resources and [lectures](https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J) covering ancillary, but still important, topics that aren’t always covered in formal CS education, mostly around using and organizing your tools, version control, debugging, etc. 

MIT   

[Why Discord Is Switching From Go to Rust](https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f) — An engineer at Discord (the popular gaming oriented chat system) talks about how they dramatically improved the performance of a backend service by switching from Go to Rust. The comparison is against an older version of Go (1.9.2) vs a nightly build of Rust, though, so it’s a bit apples to oranges as Go has made many GC related enhancements since then. 

Jesse Howarth   [![\](https://copm.s3.amazonaws.com/4a218c95.jpg)](https://pages.awscloud.com/awsmp-Ops-H2-F5-ADSS.html?&trk=el_a131L0000083YKzQAM&trkCampaign=awsmp_Ops_H2_F5_ADSS&sc_outcome=Marketplace&sc_country=mult) 

[Webinar: How to Deploy and Manage Cloud-First Applications and APIs](https://pages.awscloud.com/awsmp-Ops-H2-F5-ADSS.html?&trk=el_a131L0000083YKzQAM&trkCampaign=awsmp_Ops_H2_F5_ADSS&sc_outcome=Marketplace&sc_country=mult) — Join AWS and ESG for in-depth guidance on how to secure application traffic, manage performance, and maintain visibility. Learn how to seamlessly deploy and manage your applications and APIs using partner solutions in AWS Marketplace. 

AWS sponsor   

[How I Build Backends for Webapps](https://github.com/fpereiro/backendlore) — An experienced developer has basically dumped everything he can think of about building and deploying Node.js-powered apps into this article that covers architectural approaches, SSL support, file storage, notifications and more. Opinionated, but it’s always interesting to see how other people approach things. 

Federico Pereiro   

[Neo4j 4.0 Released: The Popular Graph Database](https://neo4j.com/blog/neo4j-graph-database-4-0-ga-release/) — Neo4j is perhaps the most mature open source graph database out there and 4.0 takes a big step in making Neo4j _reactive_ and scalable, particularly in terms of supporting multiple databases within a cluster simultaneously. 

Jim Webber (Neo4j)     

**Quick bytes:** 

- A long time bug in `sudo` [has been patched.](https://arstechnica.com/information-technology/2020/02/serious-flaw-that-lurked-in-sudo-for-9-years-finally-gets-a-patch/)
- Microsoft Teams [became inaccessible](https://www.theregister.co.uk/2020/02/03/teams_down/) due to an expired certificate proving that it can happen to literally _anyone._
- Docker has [shared some info](https://www.docker.com/blog/introducing-the-docker-index/) based off of anonymized data from five million Docker Hub and two million Docker Desktop users, including the most popular container images.
- A [Vulkan driver is coming](https://www.raspberrypi.org/blog/vulkan-raspberry-pi-first-triangle/) to the Raspberry Pi as the Pi 4 supports OpenGL ES 3.1.
- The US Supreme Court [will be hearing the case](https://www.scotusblog.com/2020/01/justices-issue-march-argument-calendar/) of Google v Oracle on March 24 to determine if APIs can be protected by copyright.
- [CoreOS Container Linux](https://coreos.com/os/eol/) will reach end of life in May and is succeeded by [Fedora CoreOS.](https://getfedora.org/coreos/)   

💻 Jobs  

[DevOps Engineer at X-Team (Remote)](https://x-team.com/remote-devops-engineer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=webops) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers. 

X-Team   

[Find a Dev Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-webopsweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77581) — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers. 

Vettery  

📕 Tutorials  

[Understanding NULL Values in SQL Queries](https://mitchum.blog/null-values-in-sql-queries/) — The concept of `NULL` values in SQL queries often causes trouble for developers and this post deftly explains their special status and how it can affect queries. 

Kaley Crum   

[Scaling to 100k Users](https://alexpareto.com/scalability/systems/2020/02/03/scaling-100k.html) — You’ve created something cool, legions of new users are signing up for accounts every day and you’re scrambling to keep things running. Here’s how it could develop from there. (Inspired by [a more thorough AWS-specific article](http://highscalability.com/blog/2016/1/11/a-beginners-guide-to-scaling-to-11-million-users-on-amazons.html) from the past.) 

Alex Pareto   

[The SaaS CTO Security Checklist](https://link.sqreen.com/9kzBfDQt) — Security shouldn’t feel like a chore. The checklist provides actionable security best practices for CTOs and developers. 

Sqreen sponsor   

[What's Going to Be New in PHP 8](https://stitcher.io/blog/new-in-php-8) — PHP 8 is under active development and due to be released later this year, but what’s going to be new for developers? 

Brent Roose   

[Burnout in Software Development Demystified](https://thevaluable.dev/burnout-software-developer/) — _“Indeed, burnout is more a spectrum than a definitive state.”_ 

Matthieu the Valuable Dev   

[Understanding `git` Better by Exploring the `.git` Directory](https://www.daolf.com/posts/git-series-part-1/) — Not new, but this set of three tutorials is doing the rounds on social media this week. 

Pierre de Wulf  

💡 Stories and Opinions 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580924607/e6visfflu9lzsty0hwtl.png)](https://spectrum.ieee.org/tech-talk/computing/software/classical-chinese)  

[The World's First Classical Chinese Programming Language](https://spectrum.ieee.org/tech-talk/computing/software/classical-chinese) — This isn’t going to be the next JavaScript or Rust, but it’s fantastic that people work on projects like this. 

IEEE Spectrum   

[Deploying TLS 1.3 at Scale with Fizz](https://engineering.fb.com/security/fizz/) — To implement the new generation of Transport Layer Security (TLS 1.3) Facebook built [Fizz](https://github.com/facebookincubator/fizz), a robust, highly performant C++ TLS library. 

Facebook Engineering   

[Old CSS, New CSS](https://eev.ee/blog/2020/02/01/old-css-new-css/) — This is a tale of one individual’s personal history with CSS and web design, offering a comprehensive, detailed “_blend of memory and research_”. A great trip down memory lane for any of you who got started on the web in the 90s. 

Evelyn Woods   

[Monoliths Are The Future?](https://changelog.com/posts/monoliths-are-the-future) — Yes, this is _just an opinion_. But it’s from Kelsey Hightower so it’s worth considering. 

Kelsey Hightower   

[How Developers Underestimate Long-Term Costs of External Dependencies](https://www.maintainable.fm/episodes/mike-perham-how-developers-underestimate-long-term-costs-of-external-dependencies) — A chat with Mike Perham, the creator of Sidekiq (a popular background job system in the Ruby world) and Faktory (a language agnostic job server). 

Maintainable Podcast  

🛠 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/y6vhbb2q9bbszapixh2y.jpg)](https://github.com/pemistahl/grex)   

[grex: A CLI Tool for Generating Regular Expressions From User-Provided Test Cases](https://github.com/pemistahl/grex) — A tool to simplify the often complicated and tedious task of creating regexes. Give it some examples and it’ll come up with a regex (though not always the most ideal one) to fit. Interesting. 

Peter M. Stahl   

[Sovereign: Ansible Playbooks to Build Your Own Private Cloud](https://github.com/sovereign/sovereign) — A set of playbooks to build and maintain your own private cloud with email, calendar, contacts, file sync, IRC bouncer, VPN, and more. 

Alex Payne and contributors   

[Epsagon - Modern Monitoring for Microservice Architectures. Try Free](https://epsagon.com/?utm_source=Advertisement&utm_medium=email&utm_campaign=CooperPress-StatusCodeBL) 

Epsagon sponsor   

[SpiderFoot: A Thorough OSINT Collection and Reconnaissance Tool](https://github.com/smicallef/spiderfoot) — An intriguing tool that integrates a with a variety of data sources to collect together intelligence around IP addresses, hostnames, subdomains, DNS zone transfers, and more. 

Steve Micallef   

[ZZ (Drunk Octopus): A Safe Dialect of C for Embedded Systems](https://github.com/aep/zz) — An interesting Rust-inspired experiment. 

Arvid E. Picciani   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580924705/wop9r555fo6cow4yo9l5.png)](https://gist.github.com/shakna-israel/4fd31ee469274aa49f8f9793c3e71163#lets-destroy-c)  

[Let's Destroy C](https://gist.github.com/shakna-israel/4fd31ee469274aa49f8f9793c3e71163#lets-destroy-c) — _“A taste of how well you can screw up the C language with just a handful of overpowered macros.”_ This is more cute than useful and a reminder of how powerful `#define` is. 

James Milne         

Curated by [Cooperpress](https://cooperpress.com/). 

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

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