View this email in your browser

Software Weekly - 12/02/2019

Future of Computing, local-first software, inefficient efficiency, WebReplay, modern algorithms, saving the web & more


Last week’s most popular episode: Future of Computing with John Hennessy Holiday Repeat. John Hennessy is the chairman of Alphabet. In 2017, he won a Turing award (along with David Patterson) for his work on the RISC (Reduced Instruction Set Compiler) architecture. From 2000 to 2016, he was the president of Stanford University. John joined the show to explore the future of computing. One of my fave SED episodes of all times.

Old favorite: Quantum Computing Introduction with Zlatko Minev. Zlatko is a PhD candidate at the Yale Quantum Information Lab. He describes how qubits work, which algorithms quantum computing impacts, and which parts of modern computer architecture will work on a quantum computer.

 Sumo Logic is a continuous intelligence platform that builds tools for operations, security, and cloud-native infrastructure. The company has studied thousands of businesses to get an understanding of modern continuous intelligence, and then compiled that information into the Continuous Intelligence Report, which is available at Check out the statistics on the modern world of infrastructure.

Interesting Picks in Software Engineering and Architecture

Local-first software: you own your data, in spite of the cloud. Local-first software is software that retains the ownership properties of old-fashioned applications, with the sharing and collaboration properties of cloud applications.

Predicting Time to Cook, Arrive, and Deliver at Uber Eats. “Uber Eats's dispatch system launched with a greedy matching algorithm, and by using a global matching algorithm powered by time predictions was able to be more efficient. Uber's in-house machine learning platform, Michelangelo, has provided tremendous help in simplifying the overall process for data scientists and engineers to solve machine learning problems. Biggest challenge of lacking ground truth in O2O business model was tackled by inferring the label data via feature engineering work and leveraging the feedback loop for model retraining.”

Inefficient Efficiency. “Emphasizing throughput seems efficient but is actually inefficient... By emphasizing latency we get feedback sooner. Learning and adapting to external changes lead to less waste and therefore greater efficiency. Each piece is inefficient (compared to some theoretical maximum), but the whole is efficient.” But it depends.

Choosing Go at American Express​. Go is simple and straightforward, encourages best practices, has great tooling and great concurrency primitives in its DNA. 

Firefox WebReplay. Web Replay is a project to allow Firefox content processes to record their behavior, replay it later, and rewind to earlier states. Replaying processes preserve all the same JS behavior, DOM structures, graphical updates, and most other behaviors that occurred while recording.  The browser's JS debugger can be used to inspect and control the replay. Check out the full architecture of this work in the article.

CNAME Cloaking, the dangerous disguise of third-party trackers​. CNAME Cloaking is used to disguise a third-party tracker as first-party tracker. They are purposely obfuscating this behind a random subdomain, with a CNAME to a generic and unbranded domain.

Understanding Streams in Node.js. Streams are a way to handle reading/writing files, network communications, or any kind of end-to-end information exchange in an efficient way. What makes streams unique, is that instead of a program reading a file into memory all at once like in the traditional way, streams read chunks of data piece by piece, processing its content without keeping it all in memory.

Algebraic data types: things I wish someone had explained about functional programming. An algebraic data type is a type made of other types. But what are sum and product types? And why are they called that?

What Are Microservices? How to use them and different approaches of building microservices including serverless and API-based microservices at Netlify.

A new beginning for React Native at WalmartLabs Online Grocery. Walmart is going all in on RN. The team shares some of the challenges they faced, mainly app navigation, and how they overcame it.

5 Things I learned in 20 Years of Programming. 1. Duplication of knowledge is the worst. 2. Code is a liability. 3. Senior Developers: trust but verify. 4. TDD is legit and it’s a game changer. 5. Evidence is king.

UUIDs Are Popular, But Bad For Performance (in MySQL). UUID stands for Universally Unique Identifier and is a 128-bit number. Learn why they are bad and some alternatives for them. There's also an experiment comparing alternatives and their performance.

The Architect of Modern Algorithms. Barbara Liskov pioneered the modern approach to writing code. She warns that the challenges facing computer science today can’t be overcome with good design alone.

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

What's New in Tech

SMS Replacement is Exposing Users to Text, Call Interception, Thanks to Sloppy Telecos. The rich communication services standard used by phone carriers around the world can leave users open to all sorts of attacks, like text message and call interception, spoofed phone numbers, and leaking their coarse location, new research reveals.

China seeks to root out fake news and deepfakes with new online content rules. Chinese regulators have announced new rules governing video and audio content online, including a ban on the publishing and distribution of “fake news” created with technologies such as artificial intelligence and virtual reality.

Tim Berners-Lee unveils global plan to save the web. Inventor of web calls on governments and firms to safeguard it from abuse and ensure it benefits humanity.

The RIPE NCC has run out of IPv4 Addresses. “Today, at 15:35 (UTC+1) on 25 November 2019, we made our final /22 IPv4 allocation from the last remaining addresses in our available pool. We have now run out of IPv4 addresses.”

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


We are hiring a content writer and also an operations lead. Both of these are part-time positions working closely with Jeff and Erika. If you are interested in working with us, send an email to

We will be at AWS re:Invent Las Vegas this week. We are planning a meetup at re:Invent on Wednesday December 4.

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