BetterDev #208 - Migrating Facebook to MySQL 8.0 and Zip - How not to design a file format.
Better Dev #208 Jul 26, 2021
Hi all,
Welcome to issue 208, I like migration stories, they showed us how others approach swap things out in production. I had 2 migrations stories in this issue. I hope you like them as much as I do.
If you like this newsletter, consider forward it to your friend, tell your co-worker.
Beside working on the newsletter, I build and run an email forwarding service, if you have domain sitting around, hook them up to my platform.
Now to our links.
Facebook was using MySQl 5.6 and missed out many improvement in 5.7 and especially 8.0. Their MySQL 5.6 also has 1700 code patches need to port to 8.0 version too. Given the scale of Facebook, upgrading database like this is huge and difficult.
The Zip file format is now 32 years old. You’d think being 32 years old the format would be well documented. Unfortunately it’s not.
Another database related migration. NoRedInk wanted to re-architecture their core engine to reduce MySQL load. Previous attempt to rewrite that engine failed and had to rolled back. To make it worth, they don’t quite trust their test either. So how they approach to rewrite the core business logic in a more peformance way?
On March 23rd Taras was honored to present at PAC HERO FESTIVAL 2021 their favorite append-only design property. The recording is available on YouTube and this article contains some of its highlights
Instead of returning rows from the database, initialize data structure on your app then serialize them to JSON string, you can ask Postgres to just return JSON and cut out all the middleware access.
In this post, we’ll explore at a high level the key concepts and defining characteristics of video codecs. Then, to further demystify them, we’ll even implement one from scratch in about a hundred lines of Rust.
executables always seemed like black magic to me. I always wondered how stuff worked under the hood, and how binary code is represented inside .exe files, and how hard it is to modify this ‘compiled code’ without access to the original source code.
I think among scripted language, Python has a very powerful import system. You can do relative import, parent import with ..
, and root import with ...
(yes, three dot if you are unfamiliar) and full path import. Once import an object, you can name it anything using import ... as
. Even if you aren’t using Python, read to understand how those import/require/include
mechainisms work
Code to read
a framework for developing PostgreSQL extensions in Rust and strives to be as idiomatic and safe as possible.
RustCall itself a routing tree web toolkit. It’s unique among Ruby web framework where it used a Tree-based approach to define your route instead of an array/list page like Rails. Fastest among similar framework.
RubyTools
Run periodic jobs in PostgreSQL. Good for thing like data cleanup, now you can just run SQL as a cronjob, define inside your postgres db, use the same CRON syntax
Have you ever send test email to see how it rendered in email client? Stop wasting that. Install this package(as a ruby gem), and run a local mailserver then you will have a web UI to view email locally. Fast, cheap(no more paying for extra mail)
web server scanner which performs comprehensive tests against web servers for multiple items, including over 6700 potentially dangerous files/programs, checks for outdated versions of over 1250 servers, and version specific problems on over 270 servers
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 #207 - The Incident Review: 4 Times When Typos Brought Down Critical Systems and LiveKit Open source platform for real-time audio and video
Tuesday, July 20, 2021
Better Dev #207 Jul 19, 2021 Hi all, I hope everyone has a great weekend. Now to our issues as normal. If you like this newsletter, consider forward it to your friend, tell your co-worker. Now to our
BetterDev #206 - Behind the scenes, AWS Lambda and Against SQL
Monday, July 12, 2021
Better Dev #206 Jul 12, 2021 Hi all, We skipped last week due to July 4th. I hope everyone had a nice rest anyway. Sometimes during this pandemic, it's still worth it to go outside, wear a mask, on
BetterDev #205 - A from-scratch tour of Bitcoin in Python and Logging Tips for Postgres, Featuring Your Slow Queries
Monday, June 28, 2021
Better Dev #205 Jun 28, 2021 Hi all, Crypto is going chao last few weeks but when looking at it purely from an engineering purspective, it's quite interesting system. Have fun enterainment with
BetterDev #204 - What Every Programmer Should Know About SSDs and Is an event loop just a for/while loop with optimized polling
Monday, June 21, 2021
Better Dev #204 Jun 21, 2021 Hi all, Last week I was busy working on an IMAP implementation for my email forwarding app and also have some consultant work so the issue was put aside. This week we'
BetterDev #203 - The repeated deahths of Object Oriented Programming and How a Jenkins Job Broke Slack's Jenkins UI
Monday, June 7, 2021
Better Dev #203 Jun 07, 2021 Hi all, Every companies has to have a CI/CD and also have to organize code. This week I got links on that topic. Jenkins, code organization and a few WebAssembly/CSS links.
You Might Also Like
The Long Road Home: A Story of Loss, Learning, and Renaissance - PART 4
Wednesday, November 27, 2024
Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 27, 2024? The HackerNoon
Top Tech Deals 🏷️ PS5 Slim, 4K TVs, 10th Gen iPad, and More!
Wednesday, November 27, 2024
The Black Friday madness is here! How-To Geek Logo November 27, 2024 Top Tech Deals: PS5 Slim, 4K TVs, 10th Gen iPad, and More! The Black Friday madness is here! Black Friday sales are here, and we
The 165+ best Black Friday deals
Wednesday, November 27, 2024
Windows Super God Mode; Bluesky starter packs; Tech gifts under $100 -- ZDNET ZDNET Tech Today - US November 27, 2024 Black Friday 2024 live blog Best Black Friday deals 2024: 165+ sales live now
⚙️ Neuralink's new trial
Wednesday, November 27, 2024
Plus: Zoom is becoming an AI-first company
Matrix Botnet Exploits IoT Devices in Widespread DDoS Botnet Campaign
Wednesday, November 27, 2024
THN Daily Updates Newsletter cover The AI Value Playbook ($35.99) FREE for a Limited Time Business leaders are challenged by the speed of AI innovation and how to navigate disruption and uncertainty.
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!