HubOfML: Newsletter #9
The ML Behind Hum to Search, How We Efficiently Store Millions of Collections in MongoDB, Structuring Your Team for Better Software Products and More
Welcome to another edition of my newsletter, the ninth this year.
I hope that you and your family are doing fine in these crazy times.
As HubofML's subscribers become diverse in job functions, it's important that the newsletter reflects this and brings everyone values. Whether you're a machine learning engineer, a software engineer, an architect, or a tech lead, you can rest assured that there is something in each edition for you.
As usual, I hope this edition sparks ideas in you. If you miss the last one, you can catch up here.
If you have any ideas or requests for future editions, let me know.
Machine Learning
The Machine Learning Behind Hum to Search
Some of us are good hummers in bathrooms. We're skilled at best at singing in bathrooms. But what if we hum to search for songs that are stuck in our head? Google "Hum to Search" is a new, fully machine-learned system within Google Search that allows a person to find a song using only a hummed rendition of it. Here is how the machine learning that powers this feature was built.
Improving On-Device Speech Recognition with VoiceFilter-Lite
Voice assistive technologies enable users to employ voice commands to interact with their devices and rely on accurate speech recognition to ensure a specific user's responsiveness. Here is how Google designed its new VoiceFilter-Lite.
Early in November, Google released the Objectron dataset, a collection of short, object-centric video clips capturing a larger set of common objects from different angles. Each video clip is accompanied by AR session metadata that includes camera poses and sparse point-clouds. Read more here.
Migrating Slack Airflow to Python 3 Without Disruption
Python 2 reaches "end of life" in 2020, and Slack and many organizations are migrating to Python 3. In this post, Ashwin Shankar describes how they moved Slack's Apache Airflow infrastructure and hundreds of DAGs from Python 2 to Python 3 in a more reliable "Red-black" deployment using Celery queues, resulting in the migration being completely transparent to our users.
Bringing Old Photos Back to Life
If you want to restore old photos that suffer severe degradation, some Microsoft researchers have proposed a way to fix them with deep learning.
Software Engineering
How We’re Able to Host 1 Million Sites per MongoDB Cluster
When you need to store millions of databases with multiple collections efficiently with MongoDB, what do you do? This was the question Wix's engineers asked themselves a year and a half back. In this post, @_inightmare, a tech lead at Wix, describes how they can efficiently store millions of collections.
Remote teams: Collaborative Single Player Mode
Covid-19 has made most companies embrace remote work. As for the Product Hunt engineering team, remote work has always been their modi operandi. But what's their secret? In this post, @rstankov, head of engineering at Product Hunt, unveils the secret weapon that makes remote work great for his team.
Product Thinking vs Project Thinking
According to @kylelarryevans, one of the biggest challenges a tech company will face is trying to move people from thinking from a project level to a product level. Project thinking is focused on output, while product thinking focuses on how to get to desired outcomes efficiently. This is a good read for every engineer.
How we fortified Twitter's real time ad spend architecture
In my previous newsletter, I stated how Twitter built the future's new ad platform, but the work was far from over. Twitter must again tackle another problem: overspend. Overspend can result in lost revenue for Twitter (due to opportunity cost - ex. we could have shown other ads in that slot). They must build reliable systems to prevent overspend. Here is how Twitter engineered its platform to avoid overspend.
Engineering Leadership
I stumbled on this page this month, and it's a must-read for every tech leader. It is a page that gathers how-tos, templates, and articles to help you be the best manager your team needs.
Succeeding on Your First Day as a Manager
Whether you're a first-time manager or an experienced manager taking over a new team, your first day offers an excellent opportunity to make a positive impression and begin building credibility with your new team members. This is a well-written guide to help you succeed on your first day.
Managers: What Do You Do When Your Teammate Shares Their Grief
Conducting one-on-one meetings is one of the manager's roles. Sometimes, things can get pretty emotional in those meetings. As a manager, what do you do when a teammate shares his or her grief with you? @lara_logan wrote this article to guide you to respond appropriately.
How to Structure Teams for Building Better Software Products
The roots of success are not in creating organizational structures but in developing capabilities and habits in teams, in people. Therefore you should design the shape of decision rules and heuristics used to adapt to new challenges. For every tech leader, structuring your team for productivity and growth is a big task, and here is how to do that.
11 Top Responsibilities and 10 Common Mistakes of a Technical Leader
"The first responsibility of a leader is to define reality. The last is to say thank you. In between, the leader is a servant." Ten common mistakes of a technical leader is a must-read for every tech lead.
Papers
RIFE: Real-Time Intermediate Flow Estimation for Video Frame Interpolation
RIFE uses a neural network named IFNet that can directly estimate the intermediate flows from images. With the more precise flows and simplified fusion process, RIFE can improve interpolation quality and have much better speed. This paper is supported by code that shows how to do a real-time intermediate flow estimation.
Thanks for reading! If you like this newsletter and want to support it, please share it with others or buy me a coffee. If you have feedback, send it to me via mail.
Cheers,