Laying the foundations: Lists in Medium’s feature store, Part 1
Medium Engineering
by Andréas Saudemont
2w ago
Explore the foundations of the new list feature type in Medium’s feature store. Photo by Iain Kennedy on Unsplashtl;dr This is the first installment of our series on the new list feature type in Medium’s feature store. Central to Medium’s recommendations system, the feature store handles the high-volume data used by machine learning models. The limitations of the existing relational features prompted the development of the new list feature type, which is designed to handle cross-entity relations in an efficient and scalable way. What is the feature store? The feature store ..read more
Visit website
A New Era of Medium Engineering
Medium Engineering
by Luke Millar
3w ago
The Medium team at our company retreat in Portland, Oregon As Medium turns the page on becoming a profitable company, in engineering we are looking ahead at how that milestone changes the way we think about the work we do and how we want to approach it going forward. This is a note I sent to the engineering team a few months ago. This has started a lot of discussions that have been the basis for a big culture shift we’re trying to make as a company towards long-term stability and success. Team, We spent the last few years improving everything about our engineering culture: our proces ..read more
Visit website
How the Medium iOS team works effectively with legacy code
Medium Engineering
by Zouhair Mahieddine
1M ago
This story is not about pretty code, it is even less about pretty design. By Ed Uthman — originally posted to Flickr as Apple I Computer, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=7180001 The Medium iOS codebase is more than 10 years old, and we still have code dating from 2013 and 2014 that is still in use today. Here you might think why the hell did they never completely rewrite this? This is actually something we wear like a badge of honour in the Medium iOS team and I want to explain why today, by diving into how we work effectively with legacy code, with ..read more
Visit website
How to delete old data from DynamoDB without spending thousands
Medium Engineering
by Raphael Montaud
1M ago
Like in many companies, you probably have some databases lying around that are starting to cost a lot in terms of storage. You are paying more and more every week; the more you wait, the more money will be spent for nothing. It’s time for a cleanup. The basic approach is to write a script that will scan your DB and delete the items that aren’t useful anymore (e.g., really old data). Problem: that can be extremely expensive with Dynamo DB, so expensive that it will take years to pay off… Solution: One way to tackle this is to migrate all the data you need to a new table. From the ..read more
Visit website
Challenges of mixed SwiftUI and UIKit codebases in iOS Apps
Medium Engineering
by Alla Dubovska
2M ago
Imagine you are a software engineer, or you really are. You create iOS apps on a daily basis. You use only the latest and finest trends in mobile development, such as SPM, Swift Data, and, of course, SwiftUI. Life couldn’t be better. But reality is cruel. And in real life you probably need to maintain and develop an application that was written several years ago when these technologies didn’t exist at all. Due to your natural curiosity and desire to build top-notch products, you still strive to integrate the best approaches in your app. The Medium iOS team is not an exception. And given t ..read more
Visit website
We started a book club
Medium Engineering
by Jacob Bennett
5M ago
Read along with us as we study Building Microservices Medium Engineering started a book club this year! (Really, it’s the backend group, but we’ll extend this to all of engineering in Q3.) Our first book is Building Microservices. We have a 4-month schedule that’s easy enough to follow while still getting everything done. March (already over, but you can catch up!) — Section I: Foundation April-May — Section II: Implementation June — Section III: People Read along with us! Why this book? Medium is built with a microservice architecture. But we have a (relatively) small t ..read more
Visit website
How to do pagination in SwiftUI
Medium Engineering
by Thomas Ricouard
5M ago
An example on how we do it in the Medium iOS Application I bet that when you started your first SwiftUI project and when you wanted to paginate some lists, you scratched your head a bit. While there are various techniques to achieve this, I’ll focus on the one I’ve used for years. This time, I’ll not use Ice Cubes as an example but the Medium iOS application, as we’ve often used this technique when rebuilding the app's various features using SwiftUI. An infinite list of stories I recently migrated the search user interface to SwiftUI, and as you can see above, you can scroll th ..read more
Visit website
Building a ChatGPT Plugin for Medium
Medium Engineering
by Thomas Ricouard
1y ago
Technical exploration & capabilities of our proof of concept OpenAI recently announced the support of plugins for ChatGPT. Plugins are a groundbreaking feature for ChatGPT as they solve one of the platform’s biggest problems, which is its lack of access to the internet and up to date content. ChatGPT was trained on a dataset from 2021 and does not have direct access to the internet. Plugins provide a solution to this limitation. Content platforms like Medium can expose their content to ChatGPT, based on the user prompt and installed plugins, ChatGPT can trigger the correct API of your ..read more
Visit website
Fixing duplicate stories in Medium’s For You feed
Medium Engineering
by Andréas Saudemont
1y ago
A few months ago we started getting reports of stories appearing multiple times in the For You feed on Medium mobile apps. See for instance the screenshot below, in which the “Breaking News: Stuff actually costs a lot” story is listed twice: Instrumentation showed that there were around 4K occurrences per day of duplicate stories on iOS and around 3K occurrences per day on Android. We also received reports of duplicate stories appearing in the For You feed in the web app. So we started investigating. The For You feed under the hood Before we dive into how we fixed the issue, let’s t ..read more
Visit website
Kubernetes Infrastructure At Medium
Medium Engineering
by Eduardo
1y ago
Photo by orbtal media on Unsplash How we use Kubernetes to manage micro-services — a high-level view & Introduction Why Kubernetes? The simple answer is that it meets our needs quite nicely; and that it solves important, complex problems without us having to build the solutions ourselves. The obvious solutions Kubernetes provides are around scaling, bin-packing, and the fact that it allows services to be more or less ‘self-healing’. Another critical consideration is deployments — ease of rollouts and rollbacks. We have built complex infrastructure around deployments, but more on that ..read more
Visit website

Follow Medium Engineering on FeedSpot

Continue with Google
Continue with Apple
OR