BetterDev #243 - Scaling Etsy Payments with Vitess and Husky DataDog Exactly Once Ingestion and Multi Tenancy at Scale
Better Dev #243 Feb 26, 2023
Etsy Payment system reached the point where vertical scale won’t work anymore. They used biggest instance on GCP. They migrated this to Vitess. They have to change schema and update data model and roll out in 2 phases and share with us how they do in this article
Every day Refind picks 5 links from around the web that make you smarter, tailored to your interests. Refind is a must-read newsletter loved by 100,000+ curious minds. Sign up for free today
As CPU cores become both faster and more numerous, the limiting factor for most programs is memory access. Hardware designers have come up with ever more sophisticated memory handling and acceleration techniques–such as CPU caches–but these cannot work optimally without some help from the programmer. Unfortunately, neither the structure nor the cost of using the memory subsystem of a computer or the caches on CPUs is well understood by most programmers. This paper explains the structure of memory subsystems in use on modern commodity hardware, illustrating why CPU caches were developed, how they work, and what programs should do to achieve optimal performance by utilizing them.
DataDog handle massive amount of data so they build a system to redesign how they ingest and store log call Husky. Husky’s architecture decouples storage and compute so that they can be scaled independently. In this post we learn how Husky organized its data and establish consensus.
we could build a simple Virtual Machine (VM) with no dynamic linking and a small set of minimalistic APIs that remain stable over time, it would make it a lot easier to build software without worrying about becoming randomly broken by changing APIs or dependencies. The author build such a VM call UVM and share with us here.
Consistent hashing is a technique to associate a resource with a set a nodes evenly, but also support adding new nodes into system without reallocating resource around.
discussed how roles (users and groups) are created and managed in PostgreSQL Depending on your background with permissions, particularly in other database products, some of those nuances in how permissions work may have been surprising.
I always wonder how those walk through, fly through or 3d object model are being build. This is an end to end tutorial to show you the entire process of implement JS, CSS code and build the animation
In JavaScript, its very easy to create object with no extra syntax: just do a {foo: 1}
. But turning out there is another better and fast way: const o = new Map();o.set('foo', 1)
. Map is optimize for adding/removing key frequently
A walk-through of multiple tools that can be very useful when audit and analyse a network system. This is the step call analyze footprint of any system to find relevant components. By running these tools on your own network can yield interesting result sometimes.
A very good way to learn and build reliable distributed system. The famous Kyle of Jepsen team up with fly.io to build a challenge, where you implement the system to communicate with a pre-build server follow a protocol. Your program needs to communicate the right way to pass the challenge.
Skillshare is a platform that offers thousands of classes in a variety of subjects. From creative arts to business and technology, there’s something for everyone. Expert instructors guide students every step of the way and a community of passionate learners provides support and inspiration. Whether you’re looking to learn something new or enhance your existing skills, Skillshare has something for you. Explore the platform today and start your learning journey.
Code to read
A chrome extension that mount your browser tabs as a file system and you simply interact with part of it like the title, close tab etc. Read the companion post here
JavaScriptFusegenerate a pre-built authentication system into a rails application (web or api-only) that follows both security and rails best practices. By generating code into the user’s application instead of using a library, the user has complete freedom to modify the authentication system so it works best with their app.
Rubya DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. When scraping site or need to display a certain user input such as email or html in browser, this come in handy.
JavaScriptA project that build a queue on Postgres, but expose extra SQL function where you call in to queue/enqueue job. Its API is similar to AWS SQS. I love this kind of code base, I got to learn Rust, learn how to write extension with pgx, a tool to write Postgres extension in Rust, and can also evaluate to use this tool for my lightweight queue in the future
RustTools
A tasty, self-hostable Git server for the command line. You SSH into it and browse it through a TUI (terminal based user interface). You can even click on it too, in a terminal just like a normal remote SSH session.
SQLite Foreign Data Wrapper for PostgreSQL. This means that PostgreSQL now can access and join data with another SQLite database.
tream Arrow file data into Postgres. Tools like BigQuery, RedShift already support Arrow format due to their compression, easiser to parse and fast.
a simple CLI tool that contains everything you need to start creating Alerts. builtin providers (e.g. sentry/datadog or slack/pagerduty), 100% open sourced.
a high-throughput generation engine for running large language models with limited GPU memory (e.g., a 16GB T4 GPU or a 24GB RTX3090 gaming card!). FlexGen allows high-throughput generation by IO-efficient offloading, compression and large effective batch sizes.
You can view this issue in web browser.
If you have any suggestion/feedback, do tell me by replying to this email. I read them all.
No longer want to receive these emails? Unsubscribe
Older messages
BetterDev #242 - Neural Networks: Zero to Hero and Bit Hacking with Go code
Monday, February 13, 2023
Better Dev #242 Feb 13, 2023 Neural Networks: Zero to Hero A course by Andrej Karpathy on building neural networks, from scratch, in code. We start with the basics of backpropagation and build up to
BetterDev #241 - How a single line of code brought down a half-billion euro rocket launch
Monday, February 6, 2023
Better Dev #241 Feb 06, 2023 How a single line of code brought down a half-billion euro rocket launch How a rocket launch fail? Re-use of code written for 32-bit system on a 64-bit data range. Novo
BetterDev #240 - Hello, PNG
Tuesday, January 24, 2023
Better Dev #240 Jan 23, 2023 Start speaking a new language in just three weeks with Babbel (SPONSOR) Learning to speak a new language goes beyond just vocabulary: it's about being able to hold a
BetterDev #239 - What happens when you open a terminal and enter ‘ls’
Friday, January 20, 2023
Better Dev #239 Jan 16, 2023 What happens when you open a terminal and enter 'ls' This could be the equivalent of the in famous “what happen when you type an address into the browser”, but for
BetterDev #238 - Avoiding Double Payments in a Distributed Payments System
Monday, January 9, 2023
Better Dev #238 Jan 9, 2023 Hi everyone, this week is security week. First, if you used CircleCI, make sure to rotate any secret since they suffered a breach. Second, Slack private repository got
You Might Also Like
The Sequence Chat: Why are Foundation Models so Hard to Explain and What are we Doing About it?
Wednesday, November 27, 2024
Addressing some of the interpretability challenges of foundation models and the emerging fields of mechanistic interpretability and behavioral probing. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Overcoming Perfectionism: How to Break Free from the Enemy of Progress
Wednesday, November 27, 2024
Discover how perfectionism hinders progress and learn practical strategies to overcome the fear of imperfection, boost productivity, and achieve your goals without getting stuck in the pursuit of
🖤 Laravel Black Friday Deals!
Wednesday, November 27, 2024
The biggest deals of the year Laravel Black Friday Deals View in browser Laravel News Editor Note: We are sending this outside the regular Sunday newsletter schedule because some of these specials end
BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?
Wednesday, November 27, 2024
Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as
Mapped | Unemployment Rate By U.S. State in 2024 💼
Tuesday, November 26, 2024
As of October 2024, DC and Nevada tied for the highest unemployment rate in the US at 5.7%. Which states saw the lowest rates? View Online | Subscribe | Download Our App FINAL CHANCE - ENDS TONIGHT!
🔊 7 DIY Tips for Soundproofing a Room — Why I Switched to Xfce for Linux Mint
Tuesday, November 26, 2024
Also: Home Theater Sound Terms Explained, and More! How-To Geek Logo November 26, 2024 Did You Know The shiny layer of a CD doesn't contain the data; the plastic polycarbonate layer does. The shiny
JSK Daily for Nov 26, 2024
Tuesday, November 26, 2024
JSK Daily for Nov 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Certification Black Friday Offer – Up to 54% Off! Certificates.dev, the trusted
NumPy, Loop Targets, Vector Animation, and More
Tuesday, November 26, 2024
NumPy Practical Examples: Useful Techniques #657 – NOVEMBER 26, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo NumPy Practical Examples: Useful Techniques In this tutorial, you'll learn how to
Your Games Quarterly newsletter has arrived
Tuesday, November 26, 2024
What's new for games in Google Play and Android Email not displaying correctly? View it online November 2024 The First Developer Preview of Android 16 The First Developer Preview of Android 16
Daily Coding Problem: Problem #1620 [Hard]
Tuesday, November 26, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Sudoku is a puzzle where you're given a partially-filled 9 by 9 grid with