BetterDev #237 - Challenging algorithms and data structures every programmer should try
Better Dev #237 Jan 2, 2023
Happy new year everyone. 2022 was a brutal year for me. A few app and idea I was working on wasnt turning out well and my start-up also shutdown. At the end of 2022, I got a terrible COVID but luckily thing turn out well and here am I sending out this issue. Hope 2023 will be a better year. I’ll keep building software, trying out new ideas again, and keep sending newsletter :-). If you like my newsletter, consider sponsor me on https://www.buymeacoffee.com/betterdev. Thank you so much for being audience all these years.
There are some really interesting algorithms and data structures out there. Not only have they come up during job interviews, but learning them changed how I think about problems. Plus they’re useful even if you don’t work on Google-scale problems. One of interesting data structures I learn from this is piece tables to represent text buffer of an editor. VScode use it too to implement their text buffer.
an uuid looks like this ff78ae6b-7176-46e9-81c6-4bee60ba81bb
? is uuid a string? how come it’s has 128 bit? At its core, UUID is just a byte array, we can re-present that byte array in whatever encoding we want, base10, base64, base36, or hex.
The CDN we’re going to design uses: nginx, lua, docker, docker-compose, Prometheus, grafana, and wrk.
To represent raw byte data, we cannot use ascii printable alone, there are many char cannot be print. So we need raw byte, but writing all 0 and 1 next to each other in a 8bit sequence gonna be long and hard to see. Hexadecimal solve that problem very nice because it has a unique feature, one hex character can re-present 4 bit, which mean we need only 2 char to represent a byte.
Thomas shows us how he use Raspberry Pi to build a DIY security alarm system, using a Raspberry Pi as the controller. His plan was to make a self-sustained system, using proper alarm hardware — like PIR sensors and sirens.
A very interesting aspect of SSH private key and. How their optimization allow the key to not require a certain part of the file.
We linked to this site in last issue about pipe. This week we learn about page cache, file operation, and mmap syscall. What happen when we read or write data? how does that generate a syscall and how kernel do it? We know that the kernel cache data when you read a file, but how does we check what is cache, how do we inspect it? how does that data is invalidate
Filippo is a security expert who design and implement age encryption. He’s probably most famous for his tool mkcert. So let’s learn how security use password manager to secure their password day to day. I belived for engineers, password manager shouldn’t be a cloud solution. we should self-hosted it and manage our own vault
Here are five rules of thumb you can apply to common UI design challenges when building web applications: Use defaults, Obvious settings, Show progress, Avoid interruptions, Flat hierarchy. Working on my second saas app(my first is mailwip, an email forwarding service), I like these kind of UI articles.
Today, I’ll take you through the process I came up with in regard to transforming an SVG path into a vector rope drawing. You will learn how to turn a path into a true svg image with texture around the path.
Code to read
a simple password manager. encryption via age, written in portable posix shell. In the recent incident of LastPass, it maybe wise to roll out own password manager to ensure 100% our data is fully encrypted
Basha complete open source authentication solution for Next.js applications. It is designed from the ground up to support Next.js and Serverless. The code is a monorepo of many small package so you may want to focus on next-auth package and the core
JavaScriptTools
Mailchimp Open Commerce is an API-first, headless commerce platform built using Node.js, React, GraphQL. Deployed via Docker and Kubernetes.
a tool for Linux file system snapshot management. Apart from the obvious creation and deletion of snapshots it can compare snapshots and revert differences between them. In simple terms, this allows root and non-root users to view older versions of files and revert changes.
an instant REST+GraphQL API and intuitive no-code data collaboration app for any SQL database.
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 #236 - What every SRE should know about GNU/Linux shell related internals: file descriptors, pipes, terminals, user sessions, process groups and daemons
Monday, December 19, 2022
Better Dev #236 Dec 18, 2022 What every SRE should know about GNU/Linux shell related internals: file descriptors, pipes, terminals, user sessions, process groups and daemons Have you ever thought
BetterDev #235 - The architecture of Mastodon
Tuesday, December 6, 2022
Better Dev #235 Dec 5, 2022 This week there is a vulnerability in VS Code. If you used VS Code, make sure to upgrade your VS To latest version after v1.73.1. How Gitlab diagnosed and resolved Redis
BetterDev #234 - Who controls the internet
Monday, November 21, 2022
Better Dev #234 Nov 21, 2022 Happy thanks giving for anyone that celebrate this holiday. I take a week off next week for thanksgiving so there will be no issue next week. I recommend some get away time
BetterDev #233 - Let's write a chess engine
Monday, November 14, 2022
Better Dev #233 Nov 14, 2022 Let's write a tiny chess engine in go In this article we will try to understand how chess engines work by porting the sunfish chess engine to Go. Sunfish is notable for
BetterDev #232 - Reducing BigQuery Costs: How We Fixed A $1 Million Query
Monday, November 7, 2022
Better Dev #232 Nov 07, 2022 Hi everyone, welcome to first issue of November. This week, where I live, red leaves start to emerge and my family went outside, enjoy seeing the beautiful color of autumn.
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