Copy
View this email in your browser

Software Weekly - 07/22/2019

Facebook PHP, operating distributed systems, redundancy & availability, SRE products, quantum time travel & more
 

Listen


Last week’s most popular episode: Facebook PHP with Keith Adams. Learn about Facebook's decision to stick with the PHP monolith and the tooling they built to run PHP at very high scale and performance. Highly recommend. Also check out all our episodes focusing on FB engineering from last week.

Old favorite: Facebook Developers with Nick Schrock. If you didn't listen to this, you gotta. This is absolutely one of my favorite podcast episodes on FB engineering culture and the story that led to the creation of GraphQL. This was part of our earlier series of episodes focusing on FB engineering in May.


LogDNA lets you collect any logs from anywhere in a centralized log management tool with blazing fast search and automatic parsing of your logs. Give it a try today with a 14-day free trial, no commitment or credit card necessary, and get a free t-shirt to boot. softwareengineeringdaily.com/logdna.

Interesting Picks in Software Engineering and Architecture


Operating a Large, Distributed System in a Reliable Way: Practices I Learned. Amazing lessons from one of Uber's engineering managers. A very long post that covers monitoring, outages, SLAs and much much more. This is greatly influenced by Google's SRE model. Favorite sentence: "fixing the root cause in the middle of an outage is a terrible idea." This should be the banner on the paging app you use.

When Redundancy Actually Helps. Thinking about how redundancy actually helps availability: 4 rules from an AWS engineer. These rules should become universal rules for those building distributed systems. This is ingenious because redundancy might not always improve availability.

Plato Research Dialogue System. Uber research shares a flexible framework that can be used to create, train, and evaluate conversational AI agents (speech, text or dialogue) in various environments. Check out the architecture and the code - it's open-source!

Declined Proposal: A built-in Go error check function, "try". A few weeks ago the Golang community was divided about a proposal for a new language feature (try/catch). There was quite an uproar online. The proposal was declined as being 'ahead of schedule'. "We have heard clearly the many people who argued that this proposal was not targeting a worthwhile problem. We still believe that error handling in Go is not perfect and can be meaningfully improved, but it is clear that we as a community need to talk more about what specific aspects of error handling are problems that we should address."

The PGP Problem. The many problems of PGP distilled and alternatives. Good technical read on older technology and how it fits with today's alternatives.

SRE Tools as Products. Stop thinking about tools and starting thinking about products. A great read with actual case studies on product engineering for internal and external tools.

Continuous Verification. "Three years from now, if you are pushing code into a serious production environment, it will go through a Continuous Verification pipeline." Think of this more of continuous canary testing for everything (security, performance, etc). The idea is not new but the investment in tooling for it is.

Algebraic Effects for the Rest of Us. I learned something new about a new programming language paradigm, explained with simple terms and examples.

Intro to Distributed Tracing. A good walkthrough on distributed tracing from why we need it to what tools are available."Go forth and trace!"

Using Lampyre for Basic Email and Phone Number OSINT. Now you can learn some basic email/phone number recon. There is a link to a great educational YouTube video on searching breach data. Fascinating and educational for those who are curious about infosec tech.

Incident Review: You Can’t Deploy Binaries That Don’t Exist. Quick and simple postmortem for a Honeycomb incident. Surprisingly I have seen build issues causing outages more than I like in my lifetime.

Anatomy of a Cascading Failure. Another older article with great learnings from the Honeycomb team on caching and how flushings logs stalled MySQL and the main learnings from their incident a few months back. An exemplary model for learning from your outages and the many things you can uncover if you have the right tooling to analyze.

With MongoDB Atlas, you can take advantage of MongoDB’s flexible document data model as a fully automated cloud service. MongoDB Atlas handles all the costly database operations and admin tasks that you’d rather not spend time on, like security, high availability, data recovery, monitoring, and elastic scaling. Try MongoDB Atlas for free today! Visit mongdb.com/se to learn more.

What's New in Tech


Physicists Have Reversed Time on The Smallest Scale by Using a Quantum Computer. Scientists used the undetermined states of particles in a quantum computer to run the experiment. Result: particle states showed they rewinded the Schrödinger equation. Side effect: results are going to influence how quantum computers are designed to improve their accuracy. The article is easy to read and has easy explanations for what happened.

The Real Story Behind the Apollo 11 Computer Error | WSJ. A 7 min video on how the Apollo Guidance Computer became overloaded. Few were more nervous than the young computer programmer who had written the code for the landing.

Kazakhstan government is now intercepting all HTTPS traffic. TLS is not enough! Government is forcing users to install government-issued certificates. This is definitely easier than investing millions in building RSA backdoors. 

Why was the Rust language chosen? Video showing a Congressman asking Facebook why Rust was that chose a language for Libra, FB's new cryptocurrency. "t looks like Libra was built on the nightly build of the Rust programming language. It's interesting because that's not how we did releases at the DoD. What features of Rust are only available in the nightly build that aren't in the official releases of Rust? Does Facebook see it as a concern that they are dependent on unofficially released features of the Rust language? Why the nightly releases? Do you see this as a function of the prototyping phase of this?"

Microsoft to explore using Rust. This is big news because Microsoft did a special announcement for this, coming specifically from the Microsoft Security Response Center. This makes sense since Rust will be used for its memory-safety features. 


Announcements


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.
  
FindCollabs is a place to find collaborators and build projects. FindCollabs is the company I am building, and we are having an online hackathon with $2500 in prizes. If you are working on a project, or you are looking for other programmers to build a project or start a company with, check out FindCollabs.

Upcoming conferences Jeff is attending: Open Core Summit September 19th and 20th in San Francisco.

SEDaily is hiring two interns for software engineering and business development! If you are interested in either position, send an email with your resume to jeff@softwareengineeringdaily.com with “Internship” in the subject line.

G2i is a hiring platform run by engineers that matches you with React, React Native, GraphQL, and mobile engineers who you can trust. They know how product development works and can help find you the perfect engineer for your stack. Go to softwareengineeringdaily.com/g2i to learn more about G2i.

 
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 © 2019 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