Copy
View this email in your browser

Software Weekly - 01/13/2020

Kubernetes progress, service meshes, technical debt, BitTorrent, cloud-foolish, Bayesian deep learning, CES 2020 & more
 

Listen


Last week's most popular episode: Kubernetes Progress with Kelsey Hightower. Kelsey discusses the progress in the Kubernetes ecosystem, and the competitive dynamics between Kubernetes and AWS. Kelsey has been a part of the Kubernetes ecosystem since the project was started and co-authored the popular book Kubernetes Up and Running.

Old favorite: Kubernetes Vision with Joe Beda. Joe shares his memories on Google Cloud, Kubernetes, and his Kubernetes company Heptio, which he sold to VMware. Joe has been instrumental in the evolution of the cloud native ecosystem.


With over 9 million apps created on Heroku, over 2 million managed data services and serving over 26 million request per day,  Heroku has earned the trust of developers–and it is as easy to start today as it always has been. Try Heroku for free today. Visit softwareengineeringdaily.com/heroku to get                                                         started today.

Interesting Picks in Software Engineering and Architecture


Service Meshes. What’s a service mesh and why should you care? Learn about service mesh architecture, current technologies, and what this means for microservices. 

SQL, NoSQL, and Scale: How DynamoDB scales where relational databases don't. "'DynamoDB won't let you write a bad query. When I say 'bad query,' I mean 'query that won’t scale.' DynamoDB is built for scale. When you write an application using DynamoDB, you’ll get the same performance characteristics when there’s 1 GB of data as when there’s 100GB of data or 100TB of data."

From 15,000 database connections to under 100: DigitalOcean's tale of tech debt. 15,000 connections, 150-line SQL query joining 18 tables: impressive, precarious, and difficult to maintain. Solution: add a new layer, a messaging queue, and rearchitect and introduce new components that use the queue. Lesson: solve things by adding another layer of abstraction.

Performance testing HTTP/1.1 vs HTTP/2 vs HTTP/2 + Server Push for REST APIs. Great interactive visualizations showing the impact of different HTTP technologies and their impact on API design and architecture.

Building a BitTorrent client from the ground up in Go. What is the complete path between visiting The Pirate Bay and sublimating an mp3 file from thin air? In this post, we’ll implement enough of the BitTorrent protocol to download Debian. Full source-code explanation. 

Talk write-up: "How to build a PaaS for 1500 engineers". How can you generate value as a platform team? How can a PaaS be built not to compete with AWS, Google, Heroku, etc? Really great talk/article on how the team made a huge impact on the company by focusing on the right things.

Code-wise, cloud-foolish: avoiding bad technology choices. "To be 'penny-wise and pound-foolish' is to obsess over small savings while making expensive mistakes." A call to technical decision makers to not be code-wise, cloud-foolish. 

The Case for Bayesian Deep Learning. I never thought I would hear those two words together. I did think they were competing approaches but this exposition explains what makes Bayesian inference distinctive, and why Bayesian inference is worthwhile in deep learning.

The Myth of Architect as Chess Master. Think of software architecture as a process and not a destination. Being an architect doesn't mean simply divining the "right" solution or recommendation and handing it off to the developers. The expectation for the architect should be to set up the framework or process by which good architectural "moves" are made.

SHA-1 is a Shambles. "We have computed the very first chosen-prefix collision for SHA-1. In a nutshell, this means a complete and practical break of the SHA-1 hash function, with dangerous practical implications if you are still using this hash function. To put it in another way: all attacks that are practical on MD5 are now also practical on SHA-1."

A Response to Hello World. A great article with four main arguments. 1. Performance improvements of interactive programs below a certain threshold are imperceptible and therefore of negligible value. 2. A minimalistic program does not always lead to better performance. 3. Compilation involves trade-offs and binary size and the number of syscalls executed are not the only things that matter. 4. The syscalls emitted by these programming languages are there for a reason and provide significant value to developers and users.

Snowpack. With Snowpack you can build modern web apps (using React, Vue, etc.) without a bundler (like Webpack, Parcel, Rollup). No more waiting for your bundler to rebuild your site every time you hit save. Instead, every change is reflected in the browser instantly. By replacing a rebuild-on-every-change step (Webpack, Parcel, etc.) with a run-once install step (Snowpack) you get a faster dev environment with less tooling complexity.

Datadog's intuitive, full-stack monitoring platform provides unified insights into your metrics, traces, and logs. Check it out.

What's New in Tech


The Weirdest and the Worst of CES 2020. Self-balancing robots, e-ink screens, artificial humans, VR massage chairs, and toilet paper robots.

The 5 biggest tech trends from CES 2020. Impossible meats, driverless city, health sensors, foldable PCs, and more subtle tech.

The US just released 10 principles that it hopes will make AI safer. The White House has released 10 principles for government agencies to adhere to when proposing new AI regulations for the private sector. The move is the latest development of the American AI Initiative, launched via executive order early last year to create a national strategy for AI. It is also part of an ongoing effort to maintain US leadership in the field.
 MongoDB is the most popular document-based database built for modern application developers and the cloud era. Try MongoDB today with Atlas, the global cloud database service that runs on AWS, Azure, and Google Cloud. Configure, deploy, and connect to your database in just a few minutes. Check it out at mongodb.com/atlas.

Announcements


We are hiring a software engineer who can work across both mobile and web. This role will work on SoftwareDaily.com, our iOS app, and our Android application. We are looking for someone who learns very quickly and can produce high quality code at a fast pace. If you are interested in working with us, send an email to jeff@softwareengineeringdaily.com.

New SEDaily app for iOS and for Android. It includes all 1000 of our old episodes, as well as related links, greatest hits, and topics. You can comment on episodes and have discussions with other members of the community.


Hi there, I'm Abdallah. I am a software developer myself and love talking news, insights, analysis of software engineering, and bringing you interesting content from across the web.
 
Your support for the show and the newsletter is greatly appreciated.

Thank you,
Abdallah Abu-Ghazaleh (@TheGhazStation)
 
Join the Slack community and discuss your thoughts with fellow listeners.

Newsletter Feedback

Got feedback? Reply to this email and let us know your thoughts.

If you enjoyed reading this newsletter, I hope you will forward it to your friends and coworkers and ask them to subscribe.
 
Copyright © 2020 Software Daily, All rights reserved.


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list

Email Marketing Powered by Mailchimp