BetterDev #246 - Is your Postgres ready for production and where to store your OAuth tokens
Better Dev #246 Apr 03, 2023
your database ready for whatever may come on launch day or even 2 months in? Here’s a handy checklist to make sure you’re not caught flat footed.
When you prepend the EXPLAIN keyword to the beginning of a query, it explains how the database executes that query and the estimated costs. By leveraging this internal MySQL tool, you can observe the following: The ID of the query — The column always contains a number, which identifies the SELECT to which the row belongs. The SELECT_TYPE — If you are running a SELECT, MySQL divides SELECT queries into simple and primary (complex) types, as described in the table below.
I recently start working on a new SaaS app and I evaluate where to store auth token. I has always store them in cookie with HTTPOnly flag. Here, Dan walk us through the storage layer of an auth token. Dan is also author of letter to a news developer which you should subscribe if you haven’t
Lyft explains why record and playback are not suitable for them and lead them to develop a custom performance testing framework that worked in production.
In distributed systems, logical clocks play a key role in the ordering of system events. What are the various logical clock designs, and how do they help with event ordering? This article answers these questions.
We have heard that commodity ssd/hdd don’t provider durability such as a call to fsync
won’t flush data reliably and can suffering data loss in case of power failure. there is nothing the OS can do about it. enterprise grade drives had this capability with battery/capacitor. Lets find out those claims.
As a programmer, we always have to deal with unpredictability. unknow requirements ahead of time, unknow of scale of our product. So what can we do to navigate this landscape?
Image optimisation is often the first step in a person’s web performance and page speed journey. It’s a relatively easy fix with potentially high rewards. Optimising a single image isn’t complicated or time-consuming, and it could equate to site speed gains, better UX, and noticeably improved Core Web Vitals.
This is a really fun experiment. Sonic Pi is software to make sounds and music driven by code. Sonic Pi comes with an IDE of sorts. But you can also control it from a CLI to make sound. Pair it with musical notes parser and now we can play song.
We don’t usually list product announcement but I think this is worth to mention. We all know and love ChatGPT from OpenAI. Since then, Meta released LlaMA together with the weight. Stanford built the Alpaca model, which was based on LLaMA, but tuned on a small dataset of 50,000 human-like questions and answers that, surprisingly, made it exhibit ChatGPT-like interactivity. Databricks’ show that, dolly-v1-6b, a large language model (blog post) trained on the Databricks machine learning platform, demonstrates that a two-years-old open source model can do. It’s good experiment to play around with these models.
Code to read
A very compact representation of a placeholder for an image. Store it inline with your data and show it while the real image is loading for a smoother loading experience. It’s similar to BlurHash but with a few advanage
RustSwiftJavaScriptJavaOpenAI API Ruby Client, Generate text with ChatGPT, transcribe and translate audio with Whisper, or create images with DALL·E…
RubyA Ruby gem to transform HTML into PDFs, PNGs or JPEGs using Google Puppeteer/Chromium. I used it to generate invoice for my app.
RubyThe OpenAI Python library provides convenient access to the OpenAI API from applications written in the Python language.
PythonPure Go Network Block Device(NBD) server and client library. NBD is a network protocol that can be used to forward a block device (typically a hard disk or partition) from one machine to a second machine. It is similar to how EC2 EBS works.
GoPostgres <> ChatGPT using PGX Rust to write PG extension. If you always want to write Postgres extension but don’t know where to start, and don’t want to write C, this is a very small repository that build on top of PGX, you can see how easy it is to write Postgres plugin with PGX in Rust, Everything is abstracted out. I picked this example because it involve dealing with external HTTP API, which is common in web dev, and also because it’s GPT :)
RustVideo
It’s hard to imagine we’re still writing a new HTTP servers during this age but here we’re. the space is stillv very active with many optimization being done. This is a server to run Ruby app, but it always bring new knowledge generally. We will see how pre-forking helps save memory
Tools
A command-line tool that helps you summarize and pretty-print collaborators based on contributions
A web interface for chatting with Alpaca through llama.cpp. Fully dockerized, with an easy to use API.
when dealing with third part API, we may usually use the copy as CURL of chrome to export a CURL command to run. Paste cookie in terminal is tedious. Turning out we can get the cookie value through chrome remote debuggin protocol. This small script show a way to do so.
a tool for visualizing and analyzing Go execution traces. It is meant to be a faster, more accessible, and more powerful alternative to go tool trace
a tool to sync Postgres database to a Snowflake, ClickHouse, or DuckDB warehouse. You can do a full sync once initially setup, then incremental later on.
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
Key phrases
Older messages
BetterDev #245 - Scaling Kubernetes to 7,500 nodes
Monday, March 20, 2023
Better Dev #245 Mar 20, 2023 Scaling Kubernetes to 7500 nodes At this point no one doesn't know OpenAI and their ChatGPT. They run a massive K8S cluster with 7500 nodes. Needless to say that come
BetterDev #244 - How discord stores trillions of messages and How Cloudflare run Prometheus at scale
Monday, March 13, 2023
Better Dev #244 Mar 13, 2023 How discord stores trillions of messages Rewrite in Rust, migrate to ScylaDB from cassandra. But the most important thing to me is the request coalescing. If two user read
BetterDev #243 - Scaling Etsy Payments with Vitess and Husky DataDog Exactly Once Ingestion and Multi Tenancy at Scale
Monday, February 27, 2023
Better Dev #243 Feb 26, 2023 Scaling Etsy Payments with Vitess: Part 1 – The Data Model Etsy Payment system reached the point where vertical scale won't work anymore. They used biggest instance on
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
You Might Also Like
Your Phone’s Other Number 📱
Saturday, April 27, 2024
Let's talk about your phone's IMEI number. Here's a version for your browser. Hunting for the end of the long tail • April 27, 2024 Today in Tedium: As you may know, Tedium is a blog and/or
🕹️ How to Play Retro Games for Free on iPhone — Why I Can't Live Without an eReader
Saturday, April 27, 2024
Also: Anker MagGo (Qi2) Power Bank Review, and More! How-To Geek Logo April 27, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your inbox by
Weekend Reading — The Bob Ross of programming
Saturday, April 27, 2024
This week we use coffee tasting as our design practice, get as close to and as far away from the metal as possible, find an easier way to write documentation, discover why Google Search is getting so
Issue #538: All the Jam entries, Panthera 2, and Tristram
Saturday, April 27, 2024
Weekly newsletter about HTML5 Game Development. Is this email not displaying correctly? View it in your browser. Issue #538 - April 26th 2024 If you have anything you want to share with the HTML5 game
Daily Coding Problem: Problem #1424 [Easy]
Saturday, April 27, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Implement a URL shortener with the following methods: shorten(url) , which
Charted | Countries That Became More Happy (or Unhappy) Since 2010 😅
Saturday, April 27, 2024
Which countries had the highest happiness gains since 2010? Which became sadder? View Online | Subscribe Presented by Voronoi: The App Where Data Tells the Story FEATURED STORY Countries With the
Noonification: What Is E-Waste Hacking?
Saturday, April 27, 2024
Top Tech Content sent at Noon! The first AI-powered startup unlocking the “billionaire economy” for your benefit How are you, @newsletterest1? 🪐 What's happening in tech this week: The
TikTok faces a ban in the US, Tesla profits drop and healthcare data leaks
Saturday, April 27, 2024
Plus: Amazon's new delivery subscription and a deep dive on Rippling View this email online in your browser By Kyle Wiggers Saturday, April 27, 2024 Image Credits: TechCrunch Welcome, folks, to
🐍 New Python tutorials on Real Python
Saturday, April 27, 2024
Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: Write Unit Tests for Your Python Code With
Bogus npm Packages Used to Trick Software Developers into Installing Malware
Saturday, April 27, 2024
THN Daily Updates Newsletter cover Webinar -- Uncovering Contemporary DDoS Attack Tactics -- and How to Fight Back Stop DDoS Attacks Before They Stop Your Business... and Make You Headline News.