BetterDev #272 - Compromising OpenWrt Supply Chain via Truncated SHA-256 Collision and Command Injection
Better Dev #272 Dec 09, 2024
Hi all,
It’s chrismast time. Time for led lighting project. This year I came across this WLED project, a fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B, WS2811, SK6812) LEDs or also SPI based chipsets like the WS2801 and APA102! They had all the resouces from hardwares to softwares, Web UI,mobile app to control your leds.
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.
Zapier connects the apps you use every day, so you can focus on what matters most. Start working more efficiently - Create your free account today.
BetterDev usually doesn’t include these kind of vulnerability report. However, this one is very interesting because it happen through using a cache key as a truncate hash of user input data, lead to collision. And caching is common particularlly in web dev, picking right cache key is important to avoid cache poisoning.
it’s a from-theory-to-practice guide and you may enjoy it if you are a developer and want to learn security
This project was entered into as a learning experience, to enhance my knowledge of machine learning, as well as TensorFlow specifically. At the end, I wanted to have a trained machine learning model that runs in the browser to reliably (at least 80% accuracy, >90% preferred) solve the 4Chan CAPTCHA. These goals were achieved - let’s talk about how I got there!
Throughout my career, I have found git submodules to be a pain. Because I did not understand them, I kept getting myself into frustrating situations. So, I finally sat down and learned how git tracks submodules. Turns out, it’s not complex at all. It’s just different from how git tracks regular files. It’s just one more thing you have to learn.
Today i want to share a story about how i ended up writing a simple process tracer for linux. Using eBPF in go to fix a github actions which i actually didn’t need. We will go over each piece and hopefully you will learn something form it.
Most of time you see UUID re-present as text based, but it’s actually a 128 bit integer. The OP makes everyuuid.com to display both the number and text based of every single UUID. They share the challenge of rendering, ordering an searching.
How to reduce complexity and move faster? Just Postgres for everything.
A compilation of lessons about what the SQLite database engine can and cannot do. It’s written for Rails, but you can apply all the lessons to use SQLite generally.
We tend to optimize db for insert and select, and overlook delete. At first glance, the DELETE command seems straightforward. But more ofthen than not on production the delete break down. We’ll uncover why DELETE operations demand careful consideration and explore how to handle them effectively
If you operate Kafka, you know how important the storage layer is. In K8S, when a pod went down, and come back up, we need o make sure the storage is mounted to the same node, lead to slowness of pod because it needs to detach and re-attach volume. WarpStream is essentially serverless Kafka. They aim to solve this storage layer. In this post, they share with us why they choose to use a shared storage system.
A practical journey to use transformersjs.js to perform ML task directly in browser.
Code to read
This project is a Go library for reading and writing audio metadata tags. It provides a portable solution with no external dependencies required, thanks to an embedded WASM binary. The most interesting part is WASM. So there is no CGO invoke at all even though taglib is a C++ codebase. A very interesting approach
GoStream and file based music metadata parser for node. Supporting a wide range of audio and tag formats.
JavaScriptRuby extension to parse, deparse and normalize SQL queries using the PostgreSQL query parser
RubyVideo
Tools
Simple mac binary signing and notarization from any platform (replacing the codesign utility for simple use cases).
A lightweight Database GUI in your browser. It supports connecting to Postgres, MySQL, and SQLite.
Model Context Protocol (MCP) servers are a new, standardized way to provide context and tools to your LLMs, and FastMCP makes building MCP servers simple and intuitive. Create tools, expose resources, and define prompts with clean, Pythonic code:
A rust implementation of gRPC, a high performance, open source, general RPC framework that puts mobile and HTTP/2 first.
Ridiculously fast web & TCP fuzzer designed for brute-forcing directories, subdomains, and files on web servers.
Self Hosted
Document (PDF) extraction and parse API using state of the art modern OCRs + Ollama supported models. Anonymize documents. Remove PII. Convert any document or picture to structured JSON or Markdown
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 #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
BetterDev #270 - Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol
Tuesday, October 22, 2024
Better Dev #270 Oct 21, 2024 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
BetterDev #269 - LLM from scratch with Pytorch
Sunday, October 20, 2024
Better Dev #269 Oct 14, 2024 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
BetterDev #268 - Compiling to Assembly from Scratch and A Reintroduction to Programming
Tuesday, October 1, 2024
Better Dev #268 Sep 30, 2024 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
BetterDev #267 - Cryptography 101 with Alfred Menezes and Introduction to WebAssembly
Monday, September 23, 2024
Better Dev #267 Sep 23, 2024 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.
You Might Also Like
🖥️ These Companies Make Linux-First PCs — The 5 Worst Phones I've Owned, Ranked
Saturday, March 29, 2025
Also: You Don't Need to Use Amazon to Enjoy a Kindle Ereader, and More! How-To Geek Logo March 29, 2025 Did You Know Canadian actress Pamela Anderson was born at 4:08 AM on July 1, 1967, making her
More key integrations for Polkadot
Saturday, March 29, 2025
Uphold integrates Asset Hub, Gavin Wood smashes ZK hype, DePIN project migrates from Solana, and more ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Is it time for you to get a VPN?
Saturday, March 29, 2025
Hey there, A subscriber recently let us know that he was traveling and logged into his bank account from the hotel Wi-Fi. A few days later, he got an alert about suspicious activity on the account.
📧 How .NET Aspire Simplifies Service Discovery
Saturday, March 29, 2025
How .NET Aspire Simplifies Service Discovery Read on: my website / Read time: 7 minutes The .NET Weekly is brought to you by: Augment Code's AI assistant is a power tool for pro software
A Spirited Debate Around AI
Friday, March 28, 2025
There are fundamental questions likely without good answers; let's focus on how this needs to work for everyone A Spirited Debate Around AI There are fundamental questions likely without good
Ranked | Which AI Chatbots Collect the Most Data About You? 🤖
Friday, March 28, 2025
Data collection is inevitable in the computer age. But what do AI chatbots collect, and how do they compare to each other? We find out. View Online | Subscribe | Download Our App Why We're Going
Daily Coding Problem: Problem #1731 [Medium]
Friday, March 28, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Stitch Fix. Pascal's triangle is a triangular array of integers constructed with the
Your monthly update has arrived
Friday, March 28, 2025
What's new in Google Play and Android Email not displaying correctly? View it online Google Play logo March 2025 Google Play enhances widget discovery to drive engagement with your app Google Play
iOS Dev Weekly – Issue 705
Friday, March 28, 2025
It's that time of year again! Give me a W, give me a W, give me a D, give me a C!
Issue #586: Fyrox, noisy symmetry, and Project Prismatic
Friday, March 28, 2025
View this email in your browser Issue #586 - March 28th 2025 Weekly newsletter about Web Game Development. If you have anything you want to share with our community please let me know by replying to