MoreRSS

site iconBetter Dev LinkModify

Collects links around the web that aims to help you learn something new.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Better Dev Link

Issues #271 Nov 26, 2024

2024-11-26 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

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 Ukraina or Gaza, I really hope thing will become better.

AI field has been evolve quite fast this month with a lot of amazing tooling. I added many of them in self-hosted section to help you try them out.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • Memory: The Forgotten History

    This article explores the historical development of memory in computing, from the early innovations in storage to the evolution of modern memory technologies. It reflects on the forgotten milestones in memory history and their impact on current computing.

  • Why did Windows 95 setup use three operating systems?

    why Windows 95 setup goes through three operating systems: MS-DOS, Windows 3.1, and then Windows 95. Why not go from MS-DOS straight to Windows 95?

  • A Day in the Life: The Global BGP Table

    Border Gateway Protocol (BGP) is the routing protocol for the Internet. Much like the post office processing mail, BGP picks the most efficient routes for delivering Internet traffic. In this post, we’re exploring the intra-day shenanigans with an eye to finding some of the ridiculous things that go on out.

  • against /tmp

    Why using /tmp to store file is a usually a bad idea.

  • How we prevent conflicts in authoritative DNS configuration using formal verification

    Learn how CloudFlare use formal verification to mathematically prove properties about DNS addressing behavior, even when different systems (owned by different teams) at Cloudflare have contradictory views on which IP addresses should be returned.

  • How DRAM Changed the World

    This blog post from Micron explores the transformative role of DRAM (Dynamic Random Access Memory) in the evolution of technology. It highlights DRAM’s impact on everything from personal computing to cloud infrastructures and its continued importance in the development of modern devices.

  • Best Practices for Bulk Optimization of Queries in PostgreSQL

    After reading this article, you’ll learn about the techniques we use to analyze SQL query performance when dealing with millions of queries per day and monitoring hundreds of PostgreSQL servers.

  • Loading the World! OpenStreetMap Import In Under 4 Hours

    The OpenStreetMap (OSM) database builds almost 750GB of location data from a single file download. OSM notoriously takes a full day to run. A fresh open street map load involves both a massive write process and large index builds. It is a great performance stress-test bulk load for any Postgres system. I use it to stress the latest PostgreSQL versions and state-of-the-art hardware. The stress test validates new tuning tricks and identifies performance regressions.

  • Build your own personal SIRI with LLAMA-3 like a PRO!

    In this easy-to-follow tutorial, you will learn how to build your own voice assistant Siri with the LLAMA-3 AI Model.

  • SRE deep dive into Linux Page Cache

    In this series of articles, I would like to talk about Linux Page Cache. I believe that the following knowledge of the theory and tools is essential and crucial for every SRE. This understanding can help both in usual and routine everyday DevOps-like tasks and in emergency debugging and firefighting. Page Cache is often left unattended, and its better understanding leads to the following:

  • Tiny GraphRAG (Part 1)

    We’re going to build a tiny 1000 line implementation of a GraphRAG algorithm originally invented by Microsoft. I consistently hear people talk about this algorithm at meetups, but it appears there are several orders of magnitude of people talking about it than actually using it or implementing it. Likely because the reference implementation is enormous and rather complex. So let’s break it down and see if there’s any merit to the hype around this approach.

  • Boosting Postgres INSERT Performance by 2x With UNNEST

  • Why TCP needs 3 way handshakes

Code to read

  • nokolexbor

    High-performance HTML5 parser for Ruby based on Lexbor, with support for both CSS selectors and XPath. A drop-in replacement for Nokogiri.

  • mittsu

    Mittsu is a 3D Graphics Library for Ruby, based heavily on Three.js

  • rill

    Go toolkit for clean, composable, channel-based concurrency

  • jsep

    a simple expression parser written in JavaScript. It can parse JavaScript expressions but not operations. The difference between expressions and operations is akin to the difference between a cell in an Excel spreadsheet vs. a proper JavaScript program.

  • micromark

    small, safe, and great commonmark (optionally gfm) compliant markdown parser

  • datamapplot

    Creating beautiful plots of data maps

  • pglite-fusion

    Embed an SQLite database in your PostgreSQL table. AKA multitenancy has been solved.

Tools

  • PoWA

    performance tool compatible with all PostgreSQL versions (down to 9.4) allowing to collect, aggregate and purge statistics gathered from multiple PostgreSQL instances from various Stats Extensions.

  • superfile

    Pretty fancy and modern terminal file manager

  • LTESniffer

    An Open-source LTE Downlink/Uplink Eavesdropper

  • memsparkline

    Track the RAM usage of a process and its descendants in real time

  • ovault: Secure Vault for OAuth Credentials

    Ovault is an open-source tool designed to securely store OAuth credentials for applications. It offers encrypted storage, helping developers manage sensitive tokens without compromising security.

  • skyvern

    Automate browser-based workflows with LLMs and Computer Vision

  • lexical

    An extensible text editor framework that does things differently. At somepoint you would definetely need a JS text editor, having another option is great.

Issues #270 Oct 21, 2024

2024-10-21 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Welcome to another issue of BetterDev! This week I come across Colmi, a smart ring where you can write your own software to interact with it. It’s also have a $12.51 deal on AliExpress so very affordable to toy around with hardware.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • WarpStream Makes Apache Kafka Simpler and More Affordable

    WarpStream is a drop-in replacement for Apache Kafka that has no interzone networking fees, no disks to manage and requires zero cross-account IAM access, so raw data never leaves your environment. You’ll never again have to do things like partition or broker rebalancing, deal with snapshot replication issues or worry about over-provisioning, as auto-scaling is automatic and you’re always right-sized. Join customers that have saved over 80% by replacing self-hosted Kafka and MSK with WarpStream. Sign up for a free WarpStream account and get $400 in credits that never expire.

  • Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol

    The first public analysis of the security and privacy properties of MMTLS, the main network protocol used by WeChat, an app with over one billion monthly active users. While they were unable to develop an attack to completely defeat WeChat’s encryption, the implementation is inconsistent with the level of cryptography you would expect in an app used by a billion users, such as its use of deterministic IVs and lack of forward secrecy.

  • Open source python client to read your data from the Colmi R02 family of Smart Rings

    Colmi is a cheap (as in $20) “smart ring” / fitness wearable that includes the following sensors: Accelerometer, sleep tracking, gestures, heart rate and blood oxygen. The coolest thing is you can write your own client to interact with it through bluetooth.

  • solar-powered and self-hosted website

    How cool it’s to setup a website run on solar powered at home? Follow this journey.

  • Upgrading Uber’s MySQL Fleet to version 8.0

    Uber upgraded their databae from 5.7 to 8.0. If you had use Uber app, you can use the app is no joke. Routing driver, provide real time upgrade etc. A very complicated app. The strategy that they used to upgraded it is worth a read for us. One important point is not being able to rollback once a v8.0 node is promoted to primary. There is risk and they careful testing to accept that risk.

  • Sensible SQLite defaults

    SQLite got a lot of attention recently. If you ever try to use it for some high load you most likely disappointed at its performance. In this post we will look at a few sensible default to help that.

  • PostgreSQL Streaming Replication (WAL); What It Is And How To Configure One

  • Dealing with trigger recursion in PostgreSQL

    Many a beginner falls into the trap of trigger recursion at some point. Usually, the solution is to avoid recursion at all. But for some use cases, you may have to handle trigger recursion. This article tells you what you need to know about the topic. If you were ever troubled by the error message “stack depth limit exceeded”, here is the solution.

  • Schema changes and the Postgres lock queue

    There are two classes of breakage that can occur when applying database migrations: Migrations that make incompatible changes to the schema, breaking client applications, Migrations that lock a database object for an unacceptable amount of time, causing the application to become unavailable as reads and writes start to fail. Today we’re going to talk about the second type of breakage: how long running queries together with DDL statements can lock out reads and writes from a table, causing application downtime.

  • Understanding DNS resolution on Linux and Kubernetes

    Resolve DNS on k8s is a bit messy. For convenience there is a few way to hit a servie with just a name, a name and namespace or the cluster domain. What is the rule there?

  • Fixing a DNS leak in OpenVPN setup

    After Turkey banned Discord, I had to jump through some hoops, fix my VPN, and learn a bit about how DNS works. Today I’m here to share what I have learned while trying to… you know. Find a way to use Discord again. Surprisingly, this ban ended up being a positive experience for me.

  • Chat with your PDF using Pinata,OpenAI and Streamlit

    In this tutorial, we’ll build a simple chat interface that allows users to upload a PDF, retrieve its content using OpenAI’s API, and display the responses in a chat-like interface using Streamlit. W

Code to read

  • denko

    Electronics programming in Ruby

  • ratatui

    A Rust crate for cooking up terminal user interfaces (TUIs)

  • go-blueprint

    allows users to spin up a quick Go project using a popular framework

Tools

  • Keyguard

    With new of Bitwarden moving to close source, this is an alternative client for the Bitwarden® platform, created to provide the best user experience possible.

  • openvmm

    a modular, cross-platform, general-purpose Virtual Machine Monitor (VMM), written in Rust.

  • trippy

    Trippy combines the functionality of traceroute and ping and is designed to assist with the analysis of networking issues.

  • pgroonga

    a PostgreSQL extension to use Groonga as index. PGroonga makes PostgreSQL fast full text search platform for all languages!

  • pg_parquet

    If you ever want a way to export and load parquet file like how BigQuery does it, this finally happens for PostgreSQL.

  • julep

    A new DSL and server for AI agents and multi-step tasks

Issues #269 Oct 14, 2024

2024-10-14 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Welcome to another issue of BetterDev! I’ve been exploring LLMs more and, while they’re not perfect or likely to replace programming jobs, they’re great for pattern recognition and repetitive tasks. I see LLMs becoming as common as email, with most people using providers and a few hosting their own. That’s why I’m sharing more LLM content, focusing on first principles to help programmers understand and build them from scratch.

Don’t worry, this newsletter isn’t turning into AI “hype.” I simply want to share useful tools and insights with our audience

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

Code to read

  • neighbor

    Nearest neighbor search for Rails.

  • qrframe

    code-based qr code generator.

  • exiftool-vendored.js

    Fast, cross-platform Node.js access to ExifTool.

  • fuqr

    an awesome qr code generator in Rust. Go beyond the normal QR Code, it can generate animation QR code as well. By the same author of above qrframe package.

  • lm.rs

    Minimal LLM inference in Rust

  • run-llama-locally

    Running Llama locally with minimal dependencies

  • rose

    A music manager with a virtual filesystem.

  • dito

    an advanced Layer 7 reverse proxy server written in Go

Tools

  • player.style

    Video and audio player themes built with Media Chrome, for every web player and every web app framework.

  • duckstation

    is an simulator/emulator of the Sony PlayStation™ console, focusing on playability, speed, and long-term maintainability. The goal is to be as accurate as possible while maintaining performance suitable for low-end devices. “Hack” options are discouraged, the default configuration should support all playable games with only some of the enhancements having compatibility issues.

  • auto-southwest-check-in

    A Python script that automatically checks in to your Southwest flight 24 hours beforehand.

  • DeskPad

    Certain workflows require sharing the entire screen (usually due to switching through multiple applications), but if the presenter has a much larger display than the audience it can be hard to see what is happening. DeskPad creates a virtual display that is mirrored within its application window so that you can create a dedicated, easily shareable workspace.

  • qrbtf

    AI & parametric QR code generator. View the actualy deployment on https://qrbtf.com

  • sequin

    Add streaming capabilities to Postgres.

  • gitbutler

    A Git GUI branch management tool. Support Linux/Mac/Window. Build with Tauri/Rust/TypeScript so it won’t be as slow as Electron. If you’re a visual person, give it a try.

  • rsql

    Command line interface for DuckDB, LibSQL, MariaDB, MySQL, PostgreSQL, Redshift, Snowflake, SQLite3 and SQL Server

Issues #268 Sep 30, 2024

2024-09-30 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Welcome to another issue of BetterDev. This week PostgreSQL 17 is released. It has a lot of amazing feature. Time to update and look over the release note. If you are a Postgres user, consider subscribe to Postgres Weekly as well

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • Not too many days left for DevSecCon 2024

    Developing AI Trust, hosted by Snyk on October 8-9. With 20+ sessions and 5 themed tracks, DevSecCon 2024 is packed with DevSecOps lessons and hands-on experiences from industry trailblazers. For all our developers, here’s one that you just can’t miss: Leonardo Zanivan from Okta, who will be discussing how to Secure Node.js Applications from Supply Chain Attacks. Register today!

  • Compiling to Assembly from Scratch

    Have you been trying to learn how compilers and programming languages work? Then come along! Let’s make a compiler that goes all the way from source to assembly from scratch—no shortcuts This book will teach you enough compiler theory and assembly programming to get going. It uses a subset of TypeScript that reads like pseudocode and targets ARM 32-bit instruction set.

  • A Reintroduction to Programming

    Imagion composing a BMP image by hand, or writing a executable file manually? What kind of knowledge need to do that? Mastery of computer programming unlocks power, flexibility, speed, and debugging prowess across all of your work. We will learn in depth what you use every day, by exploring memory, instructions, syscalls, functions, structure and cognition.

  • Using YouTube to steal your files

    In my security research I often come across weird quirks and behaviours that aren’t particularly useful beyond a neat party trick. It’s always a good idea to keep track of them though, perhaps one day they’ll be just the missing piece you need.

  • Building an image search engine on Postgres

    Have you ever want a search to find similar image? In this blog we’ll build a basic image search engine using Postgres. We’ll use a pre-trained model to generate embeddings for images and text, then store those embeddings in Postgres. The pgvector extension will enable us to conduct similarity searches on these embeddings using both images and raw-text as queries.

  • Production RAG with a Postgres Vector Store and Open-Source Models

    Part 6 of an AI Engineering open-source models tutorial series. We focus on RAG on this article. A RAG pipeline is what allows your AI model(s) to leverage the knowledge of your private/corporate data in its inference. It consists of the following stages: loading, indexing, storing, querying and evaluation.

  • Don't Sleep on AbortController

    In JavaScript, more often that not you may want to cancel a request? Imagine an auto-completed, when user type more, you may want to cancel the previous request, there is no point to get them. AbortController is a global class in JavaScript that you can use to abort these fetch request. And also anything else, not just http request.

  • Hierarchical data types

    Parent-child relationship happens a lot in context of web dev. Even harder when it’s nested. Example, nested comment. In this shortarticle we look at the ltree Postgres extension to store and retreive that data type.

  • Monitor your local and real-user Core Web Vitals performance in DevTools

    This post is part of an ongoing series about Chrome’s efforts to improve the DevTools Performance panel. Learn about these tools to help analyze performance of our front-end app. In this post we’ll take a closer look at each of the new features: Real-time local Core Web Vitals performance, Real-user experience data, Recommendations to configure your local environment, Information to help you reproduce issues.

  • How Discord Reduced Websocket Traffic by 40%

    Websocket bandwidth is especially chatty for Discord because they need to broadcast the message to all connection client. Also, decreasing bandwidth usage would lead to a more responsive experience.

  • Typescript Monorepo with NPM workspace

  • The Ultimate Guide to PostgreSQL Data Change Tracking

Code to read

  • pagoda

    Rapid, easy full-stack web development starter kit in Go

  • golang-set

    A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.

  • ruby-pg

    Ruby PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more. Also, if you’re a Rails dev, checkout the rails-pg-extras

  • harper

    The Grammar Checker for Developers. Can be think of your own Grammarly replacement.

  • weather_landscape

    Visualizing Weather Forecasts Through Landscape Imagery. Traditional weather stations often display sensor readings as raw numerical data. Navigating these dashboards can be overwhelming and stressful, as it requires significant effort to locate, interpret, and visualize specific parameters effectively.

Tools

  • go-jet

    Type safe SQL builder with code generation and automatic query result data mapping

  • revive

    🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint. Use by a lot of other Go project to lint their Go code.

  • portr

    Open source ngrok alternative designed for teams. Tunnel http, tcp or websocket connections.

  • dalibo

    Visualizing and understanding PostgreSQL EXPLAIN plans made easy.

  • bytebase

    Have you ever feel tedious and risky when you acquire prod db credential, to run some kind of data modification query? Or feel wrong when giving someone access to a postgres db user and have to follow up when revoke/rotate password? Bytebase might solve these pain points. A single place to track change, query db, manage access. Bill itself World’s most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.

  • container-desktop

    Podman desktop companion

  • schedule-x

    an event calendar focused on covering the needs of modern web apps: responsive design, internationalization, and extensibility. You can ship it with default settings in a matter of minutes. Surely come in handy when you need some sort of calendar-ish displaying for your app

Issues #267 Sep 23, 2024

2024-09-23 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Welcome to another issue of BetterDev. This week we will learn about some crypto, a topic many time we are taugh to just use a library instead of writing our own. Therefor, it’s great to dive deep into the concept.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • HubSpot's Smart CRM offers a comprehensive, customizable company record, allowing marketing, sales, and service teams to have a single, unified view of the customer

    However, most GTM teams still struggle to understand how customers are using their products. Now, teams can combine the power of HubSpot and Amplitude’s customer behavior data to accelerate growth.

    The new and improved Amplitude app for HubSpot allows you to uncover your most qualified leads using product usage insights. Now, marketers can use key product signals for personalized lead nurturing, pass qualified leads to Sales, and work with Service to re-ignite at-risk customers.

    Try the improved app today to enrich your HubSpot customer data with Amplitude’s product usage data

  • Cryptography 101 with Alfred Menezes

    Alfred Menezes, a professor in the Department of Combinatorics and Optimization, Faculty of Mathematics, at the University of Waterloo in Canada. His research field is cryptography. He has made quite a few of his lecture available for free, both of slide, video, exercises and handout.

  • What is entropy?

    Engineer no doubt encounters the term entropy quite a bit when it come to randomess. But what is it? how to define it? This is the draft to a book about that exact topic. And here is the introduction post by author.

  • Introduction to WebAssembly

    WebAssembly, or WASM for short, is a new technology for running portable programs in a safe and efficient manner primarily aimed at the web platform. Similarly to ASM.js, WASM aims at a low level-of abstraction suitable as an intermediate representation of a higher-level program — i.e. WebAssembly code is intended to be generated by compilers rather than being written by humans. T

  • OpenTelemetry Tracing in 200 lines of code

    Developers tend to treat tracing as deep magic, and OpenTelemetry is no exception. OpenTelemetry may be even more mysterious given how many concepts your are exposed to even with beginning examples. They are likely a lot simpler than you expect! Once you peel back the layers, I find a useful mental model of tracing looks like “fancy logging” combined with “context propagation” a.k.a “passing some IDs around”. The examples are JS code but the concept can be applied to your favorite language SDK given OpenTelemetry popularity.

  • Visual guide to SSH tunneling and port

    If you always confuse with ssh remote port, local port forwarding this visualization might help.

  • Improving rendering performance with CSS content-visibility

    On Mastodon, an opensource platform that is similar to Twitter. People can define custom emoji. The op library call emoji-picker-element is used to render the picker. It’s choke with 19k emoji. How can we improve performance here to render a bunch of emojis as fast as possible.

  • Optimising your Database for Analytics

    Your database is configured for the needs of your day-to-day application activity, but what if you need to run complex analytics queries against your application data? Let’s look at how you can optimise your database for an analytics workload without compromising the performance of your application.

  • Detecting the use of "curl | bash" server side

    Installing software by piping from curl to bash is obviously a bad idea and a knowledgable user will most likely check the content first. So wouldn’t it be great if a malicious payload would only render when piped to bash? A few people have tried this before by checking for the curl user agent which is by no means fail safe - the user may simply curl the url on the commandline revealing your malicious code. Luckily the behaviour of curl (and wget) changes subtely when piped into bash. This allows an attacker to present two different versions of their script depending on the context :)

  • Cryptography in Go: AES encryption

    Lets learn how to encryption and decrypt with AES. You will learn stuff like AES-CBC or AWS-GCM. It uses Go as the language but the idea can be applied to your favorite langugage.

  • Why MySQL Replication Is Fast

    Replication being slow—replication lag—is a common complaint, but MySQL replication is actually really fast. Let’s run a controlled experiment and peek inside the Performance Schema and binary logs to see why.

  • Building LLM-powered applications in Go

    In other words, LLM-powered applications are a lot like other modern cloud-native applications: they require excellent support for REST and RPC protocols, concurrency and performance. These just so happen to be the areas where Go excels, making it a fantastic language for writing LLM-powered applications. This blog post works through an example of using Go for a simple LLM-powered application. It starts by describing the problem the demo application is solving, and proceeds by presenting several variants of the application that all accomplish the same task, but use different packages to implement it. All the code for the demos of this post is available online.

Code to read

  • fair

    a Go library designed to ensure fairness in the resource-constrained environments. It helps distribute the limited resources (e.g., database/blob storage throughput, job execution resources etc.) evenly across multiple clients during the time of shortage, preventing over-allocation and starvation based on client behavior.

  • maud

    Compile-time HTML templates for Rust

  • nextgen

    Generate your next Rails app interactively! This template includes production-ready recommendations for testing, security, developer productivity, and modern frontends. Plus optional Vite support! ⚡️

  • iou

    a Ruby gem for working with the io_uring API. IOU provides a simple and idiomatic API for working with io_uring.

  • LLaMA-Omni

    a low-latency and high-quality end-to-end speech interaction model built upon Llama-3.1-8B-Instruct, aiming to achieve speech capabilities at the GPT-4o level.

  • WordLlama: Things you can do with the token embeddings of an LLM

    WordLlama is a fast, lightweight NLP toolkit that handles tasks like fuzzy-deduplication, similarity and ranking with minimal inference-time dependencies and optimized for CPU hardware.

Tools

  • MiniCPM

    An edge-side LLM that surpasses GPT-3.5-Turbo.

  • The Ultimate Web Reconnaissance & Vulnerability Scanner 🚀

    your ultimate web application reconnaissance suite, designed to supercharge the recon process for security pros, pentesters, and bug bounty hunters. It is go-to web application reconnaissance suite that’s designed to simplify and streamline the reconnaissance process for all the needs of security professionals, penetration testers, and bug bounty hunters

  • scramble

    an open-source Chrome extension that leverages AI to enhance your writing directly in your browser. It’s designed to be a more customizable and privacy-respecting alternative to Grammarly.

  • rainfrog

    a database management tui for postgres

  • maelstrom

    a suite of tools for running tests in isolated micro-containers locally on your machine or distributed across arbitrarily large clusters. Maelstrom currently has test runners for Rust, Go, and Python, with more on the way.

  • There

    A native menubar app to track friends, teammates or city time zones on macOS.

  • sops

    Simple and flexible tool for managing secrets. Used to be managed by Mozilla but become a community project now.

  • skyvern

    Automate Browser-based workflows using LLMs and Computer Vision

  • spann3r

    3D Reconstruction with Spatial Memory

Issues #266 Sep 16, 2024

2024-09-16 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Welcome to another issue of BetterDev. This week we will learn about making SWIFT payment, imagine you don’t have to rely on Stripe, and just be able to make payment right from your bank through SWIFT Protocol.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • Snyk is thrilled to announce DevSecCon 2024, Developing AI Trust Oct 8-9, a FREE virtual summit designed for DevOps, developer and security pros of all levels

    Hear from John Hammond & Daniel Miessler on some of the critical strategies and prescriptive DevSecOps approach needed to build and maintain trust in the age of AI-powered development. Save your spot

  • How to Send a SWIFT Wire From Scratch

    SWIFT is the most widely used international payment method in the world. In this tutorial we will be going over how to send a SWIFT wire programatically to your bank, what information you might need about your recipient to allow the payment to clear successfully, and the software you might need to do so. The following example can be implemented in code using iso20022.js.

  • We Spent $20 To Achieve RCE And Accidentally Became The Admins Of .MOBI

    A tale of how not renewing domain allow one to register and control an endpoint, lead to RCE. Another reminder that if you ever has a domain in use, then stopping using it, don’t let it expired. Also, yet another story to stick with traditional TLD such as .com, .net etc

  • B-trees and database indexes

    B-trees are used by many modern DBMSs. Learn how they work, how databases use them, and how your choice of primary key can affect index performance.

  • SLO: Elastic vs Datadog vs Grafana

    A very hand-on comparison of SLO functionality on 3 platforms. Really good and detail write up if you’re evaluating these observability platfor.

  • The Undeniable Utility Of CSS :has

    CSS is getting better and better recently with ton of of highly-requested CSS features delivered. Today, we will looks into the :has pseduo class and share some of the most interesting real-world use cases I’ve found so far, along with some truly mindblowing experiments.

  • Better-performing “25519” elliptic-curve cryptography

    In recent years, you may notice we started to use SSH key with ED25519 instead of RSA. You will notice the key length is much shorter, but more secure. Another Two cryptographic algorithms that have become increasingly popular are x25519. AWS has optimized the x25519 and Ed25519 cryptographic algorithms in their AWS LibCrypto library, improving both performance and security and they share the benchmark and how we can use it here.

  • The Many SHAs of a GitHub Pull Request

    If you ever want to get the SHA of the Github commit in a Github action. You will quickly realize depend on pull request or branch push, the data path to get the SHA is different. In this we will demystify it

  • Creating a Git commit: The Hard Way

    To create git commit, we use Git high-level commands (also known as Porcelain commands) like git add, and git commit. However, there is another group of Git commands, known as Plumbing commands, that handle the low-level operations. In this blog post, we want to create a Git commit using these low-level operations, and not the git commit command.

  • Bitten by Unicode

    There are character that looks the same. But depending on where one type the message, it may be a different unicode code of the underlying data. So today we will learn the tail of hyphen and hyphen-minus.

  • Shrinking Big PostgreSQL tables: Copy-Swap-Drop

  • Dynamically estimating and scaling Postgres’ working set size

Code to read

  • tetris-sql

    Using SQL’s Turing Completeness to Build Tetris

  • acts_as_recursive_tree

    Make use of recursive queries in Rails when using Postgresql or SQLite to retrieve tree-based data.

  • annotaterb

    Adds comments summarizing the model schema or routes in your. Really good codebase to learn how to parse and insert code into the existing files

  • LivePortrait

    Efficient Portrait Animation with Stitching and Retargeting Control

  • live-pprof

    Instead of cluttering up your computer with Docker, Prometheus, Grafana or even K8S just to monitor a Go app’s heap size, use this package to Monitor a Go app’s performance. Note that, it’s build mainly for local dev

  • fast_float

    Fast and exact implementation of the C++ from_chars functions for number types: 4x to 10x faster than strtod, part of GCC 12, Chromium, Redis and WebKit/Safari. C++ is the language I never wrote, but I do plan to read to understand how float parse from characters works.

Tools

  • pixijs

    to provide a fast, lightweight 2D library that works across all devices. The PixiJS renderer allows everyone to enjoy the power of hardware acceleration without prior knowledge of WebGL. Also, it’s fast. Really fast.

  • css-triggers

  • pgbackweb

    🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾

  • tmail-flutter

    A multi-platform (Flutter) application for reading your emails, with your favorite devices, using the JMAP protocol!

  • svgedit

    Powerful SVG-Editor for your browser

  • shoutrrr

    A notifications library and a CLI to send notification to multiple services such as discord, slack, telegram and more.