Round two! These are my top reads for this week.
This week’s articles: serverless cloud computing without containers, how GitHub uses Machine Learning to detect code vulnerabilities, and how to write utterly untestable code.
Cloudflare Blog: Cloud Computing without Containers
(7 minute read)
Recently I fell in love with the serverless model building blockcolors.app on Cloudflare Pages. It allows me to focus on building the app, while Cloudflare makes my application available at the edge worldwide. This article will help you understand how Cloudflare Pages and Cloudflare Workers are able to offer blazing fast response times at such low cost using V8 isolates.
The V8 isolate model has compelling advantages over containerization for edge computation. For example, V8 isolates require no virtualization, have no cold start time, and have a tiny memory footprint compared to competing serverless solutions. Depending on how you look at it, it is a more efficient and sustainable way of sharing servers with other apps as well.
GitHub: Leveraging machine learning to find security vulnerabilities
(10 minute read)
Last week, GitHub introduced an experimental AI feature to their code vulnerability detection suite. Trained on a dataset generated from vulnerability detection patterns composed by security experts, the model detects code vulnerabilities with a precision of ~60% and recall ~80%.
If you are interested in machine learning and wonder how to architect a model for this type of purpose, I highly recommend checking out this article.
Google Testing Blog: How to Write 3v1L, Untestable Code (2008)
(10 minute read)
Test-driven development who? Instead of codifying best practices, this 2008 blog post by Google explains how to write utterly untestable code. Stick it to the TTD’ers by making everything a singleton or static variable. Function arguments? Use context objects for that. A function with a single argument looks a lot cleaner after all…
If you read this hilarious post you will hopefully pick up a few real do’s and don’ts about software architecture and testability along the way.