Programmer Weekly (Issue 5 May 21 2020)

Programmer Weekly - Issue

Programmer Weekly

Welcome to issue 5 of Programmer Weekly. Let's get straight to the links this week.

News

Driving in 'Grand Theft Auto V' can be... messy. A teen programmer figured out how to use real-life self-driving car technology to make it a little easier.

Linux on Windows just took a big graphical desktop step forward with Microsoft's plans for Windows Subsystem for Linux.

With Chrome 83, we’ve started rolling out Secure DNS, a feature built on top of a secure DNS protocol called DNS-over-HTTPS, which is designed to improve your safety and privacy while browsing the web. More concretely, Chrome will automatically switch to DNS-over-HTTPS if your current DNS provider supports it, and provide manual configuration options for users who wish to use a specific provider.

Fluid Framework was one of the sleeper hits of Microsoft’s 2019 Build developer conference. The idea behind the Fluid Framework is to provide developers with a new platform for building low-latency collaborative experiences around documents — and Microsoft  itself is using it to do just that by rethinking some of the workflows in its own Office applications. Microsoft is open-sourcing the Fluid Framework and making the code available on GitHub  within the next few weeks.

Reading List

 

At 22, he single-handedly put a stop to the worst cyberattack the world had ever seen. Then he was arrested by the FBI. This is his untold story. 

Get a first glimpse of Unreal Engine 5 and the new core technologies that will free creators to reach the highest level of real-time rendering detail in the next generation of games and beyond.

This is a brief comparison and contrast of Google and Facebook, as a place for one’s software engineering career. Both can be amazingly good places for engineering careers. But, as you can read on Glassdoor or many other sites, both places can be misfits for many otherwise excellent engineers. This is a short differential guide to the companies, reflecting author's personal subjective opinion.

Read on to learn some useful mechanisms you can use to disable code in production and how to get started.

When evaluating networking for a host the focus is typically on latency, throughput or packets per second (pps) to see the maximum load a system can handle for a given configuration. While those are important and often telling metrics, results for such benchmarks do not tell you the impact processing those packets has on the workloads running on that system. This post looks at the cost of networking in terms of CPU cycles stolen from processes running in a host.

How to write custom git commands.

Very often we find ourselves changing parameters of scripts or googling what was the right combination of bash commands. What’s the best way to remember those? Here is a neat use of Makefiles to do so.

Obscure but useful Git incantations.

Markdown is a way to write content for the web. It’s written in what people like to call “plaintext”, which is exactly the sort of text you’re used to writing and seeing. If you have ten minutes, you can learn Markdown! In each lesson, you’ll be given an introduction to a single Markdown concept. Then, you’ll be asked to complete several exercises with that new knowledge.

We had the chance to see quite a bit of clusters in our years of experience with kubernetes (both managed and unmanaged - on GCP, AWS and Azure), and we see some mistakes being repeated. This post shows the ones we see very often and talk a bit about how to fix them.

The SSH agent is a central part of OpenSSH. In this post, I'll explain what the agent is, how to use it, and how it works to keep your keys safe. I'll also describe agent forwarding and how it works. I'll help you reduce your risk when using agent forwarding, and I'll share an alternative to agent forwarding that you can use when accessing your internal hosts through bastions.

Want containers? Learn how to set up and run a Kubernetes container cluster on your laptop with OKD.

Authenticate your commits, plus get them the "Verified" badge on GitHub.

Many articles and tutorials discuss server-side rate limiters for a service running on a single host. This article mainly covers client-side rate limiters for high-throughput distributed systems.

A complete Apache Kafka guide to how events, streams, tables, and topics work for data processing, storage, fault tolerance, and more.

This article is going to be a crash course in what Nix is, how to think about it, and why it's such a valuable and paradigm-shifting piece of technology

The creators of SimCity had a division that made Sim games for corporations. They were never released to the public. For the first time ever, this is the story.

A Bastion host (also called Jumpbox) is used to protect hosts that are part of a private network, while still allowing access to them over the Internet. If a system administrator needs to access other hosts, It needs to first SSH to the Bastion and from there, SSH to any other host. In this post we’re going to add a Bastion host that can only be accessed on port 22, and modify the web server so it only exposes port 80 to the Internet.

How we implemented a PostgreSQL extension to help work with the Protobuf binary in the database context.

Watch and Listen

 

This is pretty awesome and gives you a glimpse into what the future holds.

So you feel like you've got a good handle on chaos engineering...but can you use it for security use cases? Aaron Rinehart of Verica (and the author of the upcoming O'Reilly book on the topic) walks Matt and Jessica through some of the exciting ways that chaos engineering can be used for security approaches.

Why do architecture approaches sometimes hurt instead of providing value? Why has “software architect” become a negative term for some people? And what can we do to improve our own work? We’ll look at some of the most common pitfalls that ensure you’ll come up with a disaster, and discuss how they can be avoided. 

In this episode, we’re talking about personal projects, with Ze Frank, former president of Buzzfeed Motion Pictures, and creator of the massively popular website, zefrank.com. Ze talks about his creative process, the wild west that was the internet of the early aughts, and the ubiquity of Flash. He also shares his journey into coding by creating funny and obtuse interactive projects on his personal website, zefrank.com, which won a 2002 Webby Award for Best Personal Website and in 2005, was featured in Time Magazine’s “50 Coolest Websites.”

It works with any web framework, it's 9kb in size and requires very little effort to get it working

What does it mean to collaborate as an engineer with other engineers? In today's episode, we're talking about the pull request process and the lack of attention it seems to get from engineers. In this episode, we'll cover what a PR process is, the players in a PR review and offer four ways to be a better PR reviewer.

Joe Kutner, Software Architect for Heroku at Salesforce.com, discusses the twelve-factor app. The twelve-factor app is a methodology that aids development of modern apps that are portable, scalable, and maintainable. Host Kanchan Shringi spoke with Kutner about the origin of these principles; their continued and growing importance with advances in microservices, DevOps, and containerization; and why developers should adopt the principles to build modern apps.

A discussion on the evolution of Infrastructure-as-Code on AWS from using the SDKs, CloudFormation, and now CDK.

Interesting Projects, Tools and Libraries

Are you a hack programmer? Do you find yourself constantly Googling for how to do basic programming tasks? Howdoi gives quick answers to many programming questions via the command line.

Run your application from any public Git-repo with one click.

Develop responsive web apps 5x faster! A must-have DevTool for all Front-End developers that will make your job easier.

Learn how to provision, secure, connect, and run any infrastructure for any application.

A new type of shell. The goal is to take the Unix philosophy of shells, where pipes connect simple commands together, and bring it to the modern style of development.

A CLI for stock trading with Alpaca written in Go.

A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

The Bosque programming language is an experiment in regularized design for a machine assisted rapid and reliable software development lifecycle.

Hyperdrive is a peer-to-peer filesystem that's designed to help you share files quickly and safely, directly from your computer.

A collection of bad practices in HTML, copied from real websites.

A plotting library available in many programming languages.

A classless CSS framework to write modern websites using only HTML.

A single-page web app for rapidly prototyping financial scenarios.

pcmd is a small utility to make SSH ProxyCommand more powerful. It might be useful any time you have a ProxyCommand that involves a lengthy or expensive set-up or tear-down procedure.

A state management library for React. Facebook has open sourced an experimental state management library for React.

Upcoming Events

 

Container Camp 2020 is a virtual event allowing attendees from around the world to gather with top thinkers and engineers, all working towards advancing the development and understanding of containers.

The conference is designed for software developers that get deployed to or integrates with any cloud platform. Two days packed with solid technical content from best speakers, topped up with quite a bit fun. 

In this special edition of Jamstack Conf, we’ll explore connecting at global scale, including the pragmatic role played by developers, devops and the web. We’ll also cover the future of Jamstack for many use cases, including new innovations, demos and case studies.

Our Other Newsletters

- A free weekly newsletter featuring the best hand curated news, articles, tools and libraries, new releases, jobs etc related to Python.

- A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.