BetterDev #217 - Self-parking car in 500 lines of code
Better Dev #217 Oct 05, 2021
We skipped one issue last week due to my personal workload on my side project, email forwarding service. I also get into a few blockchain projects recently and it was a lot to learn. We resume our schedule one day later :-).
Happy tuesday everyone. I hope you enjoy this issue, as much as I do.
We’ll train the car to do self-parking using a genetic algorithm in JavaScript. Hit the simulator to see how cool it’s
On the last Saturday in May, at 10:48 GMT, a time when most folks in the US were still sleeping, the self-signed AddTrust External CA Root certificate expired. This is usually ok because those are usually well prepare ahead of time and the new root cert should be added in your local trust store. Then servers will usually returns both of old (soon to be expired) and the new one so client can verify. But for old OpenSSL <= 1.0.2g, they always prefered to expired one so even though your system has the new root certs, it will try to verify with the expired root cert and cause error. Since the problem have a big impact, and many apps or IoT devices was down due to this, I throw in a few more resource. Fixing the Breakage from the AddTrust External CA Root Expiration has more practical info. This patch from Ubuntu explains background and what they done. And a crazy story of Partial RavenDB Cloud outage due to invalid certs and client cannot talk to serves since they won’t trust server anymore
This article summarizes some lower level aspect of how GPU executes. Although GPU programming is not that complicated when compared to CPU, it also doesn’t match to what hardware is doing exactly. The reason is that we can’t just program GPU without some API, which is an abstraction over its inner workings.
HTTP Keep-Alive between a reverse proxy and an upstream server combined with some misfortunate downstream- and upstream-side timeout settings can make clients receiving HTTP 502s from the proxy.
At its core, GitHub.com remained built around one main database cluster (called mysql1) that housed a large portion of the data used by core GitHub features, like user profiles, repositories, issues, and pull requests. They paritition data to reduce load up to 50% and share with us how they do it. A very good idea is use virtual partitions, before database tables can be moved physically, we have to make sure they are separated virtually in the application layer. It’a lession before we physically touch the data, we can experiment with logically data separation
Gitlab journey to eliminates all SAVEPOINT
call in their SQL queries that causes slow query, high cpu/disk uo, lock up connections.
Fundamentally, the problem happens because a replica behaves differently from a primary when creating snapshots and checking for tuple visibility.
When you deploy database schema changes, you are not protected from system downtime even if you have very high-level automation but don’t use very low values of lock_timeout (or statement_timeout) to acquire a lock on the DB objects that are subject to change and do not implement some kind of retry logic. It’s better to use short-timeout and have system retry running query when running DDL migrations.
Code to read
A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm.
GoSimple and safe way to dynamically render error pages or JSON responses for Rails apps
RubyTools
Code2flow generates call graphs for dynamic programming language. Code2flow supports Python, Javascript, Ruby, and PHP.
A Zanzibar-inspired database that stores, computes, and validates application permissions. Essentially allow us to define subject, action on object so we can answer questions like can this user(subject) edit(action) this post(object). Useful to delegata auth into a separate system. Similar project in this space is Oso
An admission controller that integrates Container Image Signature Verification into a Kubernetes cluster
a high-performance interactive 2D/3D data visualization library. VisPy leverages the computational power of modern Graphics Processing Units (GPUs) through the OpenGL library to display very large datasets
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 #216 - Why Authorization is Hard and The pitfalls of using ssh-agent, or how to use an agent safely
Monday, September 20, 2021
Better Dev #216 Sep 20, 2021 A very practical issue. Dealing with authorization, SSH agent, design API, optimize big JS bundle, text vs varchar in database design. I hope you like these as much as I do
BetterDev #215 - Can Podcasts Predict the Stock Market?
Monday, September 13, 2021
Better Dev #215 Sep 13, 2021 Hi everyone, full of security related articles this week. I want to shift gear a bit to give everyone gain more knowledge and exposure to cyber security. Can Podcasts
BetterDev #214 - Picturing Git: Conceptions and Misconception
Tuesday, September 7, 2021
Better Dev #214 Sep 07, 2021 This issue is arrived one day later than our usual schedule due to US holiday. We're back now and hope everyone had a great week despite of the holiday or not Picturing
BetterDev #213 - An amazing error message if you put more than 2^24 items in a JS Map object
Monday, August 30, 2021
Better Dev #213 Aug 30, 2021 An amazing error message if you put more than 2^24 items in a JS Map object Can you guess that? a map with 2^24 items? Probaly some limit exceed error? Indeed, JS will
BetterDev #212 - One does not simply calculate the absolute value
Monday, August 23, 2021
Better Dev #212 Aug 23, 2021 Happy monday everyone. I hope this week's issue bring you some joy. We got stories of Rakuten, Clubhouse, Target deploy and debug their system. Infrastructure is hard
You Might Also Like
Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator
Friday, February 14, 2025
What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
5 ways AI can help with taxes 🪄
Friday, February 14, 2025
Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help
Recurring Automations + Secret Updates
Friday, February 14, 2025
Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
The First Provable AI-Proof Game: Introducing Butterfly Wings 4
Friday, February 14, 2025
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%
GCP Newsletter #437
Friday, February 14, 2025
Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers
Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰
Friday, February 14, 2025
Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from
The Great Social Media Diaspora & Tapestry is here
Friday, February 14, 2025
Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great
Daily Coding Problem: Problem #1689 [Medium]
Friday, February 14, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,
📧 Stop Conflating CQRS and MediatR
Friday, February 14, 2025
Stop Conflating CQRS and MediatR Read on: my website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your