BetterDev #167 - WebRTC for the Curious and APIs at scale
Better Dev #167 Aug 31, 2020
Hi everyone, Welcome to issue #167. Let’s get straight to our links this time
This book was created by WebRTC implementers to share their hard-earned knowledge with the world. WebRTC for the curious is an Open Source book written for those that are always looking for more. This book doesn’t settle for abstraction.
Leaders at Adobe, Airbnb, Kong, and PubNub talk API design, documentation, and development.
Dig into lower level knowledge of networks: protocols, mesh networks, route tables and more. Basically it helps to level up your network knowledge if you have done web development for a long time and want to know more about network.
In many PostgreSQL databases, you never have to think or worry about tuning autovacuum. It runs automatically in the background and cleans up without getting in your way. But sometimes the default configuration is not good enough, and you have to tune autovacuum to make it work properly. This article presents some typical problem scenarios and describes what to do in these cases. I encounters a lot of vacuuming issue when making many data deletions.
This article demonstrates how specially crafted but ordinary gzip archives can be used as a database like storage. The ideal is to sort the source files then gzip. When everything is combined, the complete search system takes less than 0.3 seconds to search in the 1TB of compressed data. It also introduces a Python package and explains how it works, but the idea is sound and we can implement it in any language.
A common strategy to make any system super-performant is Caching. Eventually the cache memory grows and we need to evict data to reclaim memory. Two algorithms to pick what to evict is LFU and LRU. In this essay, we take a look at Constant Time LFU implementation based on the paper An O(1) algorithm for implementing the LFU cache eviction scheme by Prof. Ketan Shah, Anirban Mitra and Dhruv Matani, where instead of using a min-heap, it uses a combination of doubly-linked lists and hash table to gain a running time complexity of O(1) for all the three core operations.
Thoughts on design/implementation of a log pipeline system which aims to be simple and cheap. To quote the author: You can probably find, somewhere, something similar to each of the components I’m going to talk about, but you probably can’t find a single solution that combines it all with good performance and super-low latency for a reasonable price.
Get started with WebAssembly through a simple hands-on tutorial that assumes only general knowledge in web development. The only tools you’ll need to get a taste of Wasm through runnable code examples are a code editor, any modern browser, and a Docker container with toolchains for C and Rust that comes with the article.
true and false are built-in shell function, but apparently, we have true
and false
as binary executable files in /usr/bin
. Their jobs are just to exit with code 0
or 1
. So the billion dollar question: why they are big?
Facebook built Shard Manager as a generic platform that facilitates efficient development and operation of reliable sharded applications, instead of each app/team manage their own way of sharding.
Monads are being used all the time to deal with nil or error. But it’s hard to explain them. It’s easy to say this or that is monads but to ELI5 is a hard job. This is another attempt. Ruby safe navigator &.
or Rust’s ?
or examples of Monads. Another old read on Monad is You Could Have Invented Monads! (And Maybe You Already Have.), written by a 3 times Oscar winner.
Code to read
This installs a trigger and type which allow you to use YouTube-like short IDs (e.g. 1TNhBqYo-6Q) as Postgres Primary Keys. Just like the YouTube IDs, SHORTKEY IDs are fixed length and URL-safe
SQLA cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
Pythona microblogging server software that can federate (= exchange messages with) other servers that support ActivityPub(Mastodon for example)
ElixirFastest JS implemenation of Levenshtein distance. Measure the difference between two strings.
JavaScripta friendly and easy-to-approach Kafka consumer framework. It allows you to write small applications that process messages stored in Kafka topics while optionally integrating with your Rails model
RubyVideo
Tools
a tool for helping migrate code to TypeScript. It takes a JavaScript, or a partial TypeScript, project in and gives a compiling TypeScript project out.
an email server support send and receive message via SMTP, IMAP. It aims to replaces Postfix, Dovecot, OpenDKIM, OpenSPF, OpenDMARC and more with one daemon with uniform configuration and minimal maintenance cost.
Get cost hourly and monthly estimates for a Terraform project. It also support github action and an companion post
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 #166 - Building resilient services at Prime Video with chaos engineering
Monday, August 24, 2020
Better Dev #166 Aug 24, 2020 Hi everyone, Welcome to issue #166. Let's get straight to our links this time Building resilient services at Prime Video with chaos engineering Large-scale distributed
BetterDev #165 - How to build a custom keyboard
Monday, August 17, 2020
Better Dev #165 Aug 18, 2020 Hi everyone, Welcome to issue #165. Covid-19 may gives us more time, especially for one have no kids yet :-), so this week I include a link on how to build your own
BetterDev #164 - How to secure anything
Monday, August 10, 2020
Better Dev #164 Aug 10, 2020 Hi everyone, Welcome to issue #164. This week we got some hard lession from Capital One Breach that results in $80 million fine. We include some links to the tools that
BetterDev #163 - 90 Lines of code to convert your face movement into keyboard commands
Monday, August 3, 2020
Better Dev #163 Aug 03, 2020 Hi everyone. This week sponsor is FusionAuth. Sponsor helps keep this newsletter up and running. Check them out, FusionAuth is a rock solid authentication option. Don't
BetterDev #162 - Debugging Incidents in Google's Distributed Systems
Tuesday, July 28, 2020
Better Dev #162 Jul 27, 2020 Hi everyone, Welcome to issue #162. If you like this newsletter, please help spread the words out. Thank you. Debugging Incidents in Google's Distributed Systems How
You Might Also Like
Spyglass Dispatch: The Xitter Bail Out • OpenAI Tender • Grokking Grok • Smartphone Sales • Fischer Random Chess • Scott Bessent for Treasury
Wednesday, November 27, 2024
The Xitter Bail Out • OpenAI Tender • Grokking Grok • Smartphone Sales • Fischer Random Chess • Scott Bessent for Treasury The Spyglass Dispatch is a free newsletter sent out daily on weekdays. Feel
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