Copy
View this email in your browser

Software Weekly - 02/04/2019

Architects of Intelligence, Kafka limits, formal verification, two-phase commit & more

Note: we recently signed up listeners who filled out our survey. If you have not received this newsletter before and you find this spammy, our apologies. Please click unsubscribe.
Listen


Last week’s most popular episode: Architects of Intelligence with Martin Ford. Martin talks about AI, the ethical questions of its impact on human rights and technology culture, and his new book Architects of Intelligence.

Old favorite: Go To Market with Mitch Ferguson. Mitch talks about bringing products to market and scaling their sales, marketing, and products. Interesting conversation about profitable open-source companies.


The STAREAST conference features a week packed with knowledge from some of the best in software testing. Whether you have recently been asked to undertake testing as a part of your role or if you have years of experience, STAREAST will keep you on top of the latest and greatest knowledge to help you excel in your job role—and perhaps even save your sanity.  Learn More

Interesting Picks in Software Engineering and Architecture


Finding Kafka’s throughput limit in Dropbox infrastructure. Dropbox stress tests Apache Kafka to understand its limits. They automated the entire process which is great so tests could be rerun anytime.

Oceanus: A one-stop platform for real-time stream processing powered by Apache Flink. Tencent is using Flink to power their big data platform. They explore the problems of their old system that was using Apache Storm.

Building A "Simple" Distributed System - Formal Verification. Intro to TLA+ and formal verification of software with code examples.

Design follows data structures. Diving deeper into how programming models, compilers, and computer architectures (memory and caches) play together affects the performance of the software. 

It’s Time to Move on from Two Phase Commit. Great overview of what 2PC is and its problems. I love the call for a new model to solve this. The challenge will be to come up with something that's fast since we already have consensus algorithms (PAXOS, RAFT) but they are still too slow.

Craft Team Goals— DevOps. A quick read about breaking silos and establishing DevOps teams and culture. There is a part 2 covering deploying and integrating strategies.

Clubhouse is a project management platform built for software development. You will love the integrations with Github, Slack, Sentry, and the other tools that are feeding into your issue tracking and project management. To try out Clubhouse free for 2 months, go to clubhouse.io/sedaily

What's New in Tech


Defense of Amazon's Face Recognition Tool Undermined by Its Only Known Police Client. Law enforcement is not using ReKognition the way Amazon instructed them to use it. Will Amazon stop selling some of its tech to law enforcement?!

Sandstorm Oasis was down because the upstream hosting provider, Google Cloud, ran out of compute resources in zone us-central1-f. Multi-homing is hard and costs money.

QuadrigaCX Owes Customers $190 Million, Court Filing Shows. The CEO died along with the only key for how to access the crypto-wallet. Talk about a single point of failure in a centralized-decentralized system.

Google killed their free weather API as one way to cut costs.

Everything you need to know about Facebook, Google’s app scandal. Apple pulled the plug on Facebook's and Google's internal iOS applications.

Triplebyte fast-tracks your path to a great new career. Take the Triplebyte quiz and interview, then skip straight to final interview opportunities with over 450 top tech companies such as Dropbox, Adobe, Wish, Grammarly, and Palantir. After you’re in the Triplebyte system, you stay there, saving you tons of time and energy. Take the quiz anytime, even just for fun, at triplebyte.com/sedaily


Formal verification & testing


Formal verification is becoming hot, mainly as a result of a shift in more investment in ensuring our distributed systems are not losing data.

Although pronounced a different field, I think the line between formal verification and the software development many of us have been doing is the same. Formal verification in TLA+ requires writing code to prove your system.

Most developers have to write tests for their systems. We should extend the concept of writing tests so that we are testing the specific distributed properties of our systems. 

I have seen highly distributed systems be verified using Java code that acted as the formal verification method. What was great about writing the tests that way was it integrated with the system and we could verify there were no regressions by testing with every deployment. 

Formal verification is not just for distributed systems. Security algorithms like TLS are formally verified as well. You will hear more about formal verification in 2019, but you might be doing something similar already, and if you are not already, you should start thinking about testing your highly critical systems.

Azure Container Service simplifies the deployment, management, and operations of Kubernetes. Check out the Azure Container Service at aka.ms/sedaily.

Hi there, I'm Abdallah and I'm the tech editor @software_daily. I am a software developer myself and love talking news, insights, and analysis of software engineering. I love bringing you interesting content from across the web.
 
If you enjoyed reading this newsletter, I hope you will forward it to your friends and coworkers and ask them to subscribe. 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.
 
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