# Awesome List The awesome list of things. ## C Lang - [A standard lib for C](https://github.com/gregoryc/standardlib): The missing standard lib for C. - [Different ways to handle C Errors](https://mccue.dev/pages/7-27-22-c-errors) - [Understanding Memory Management](https://educatedguesswork.org/posts/memory-management-1/) - [Write a Shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c/) ## Data Structures / Algorithms / General Compute - [Visualizing](https://visualgo.net/en): visualising data structures and algorithms through animation - [Kalman Filter](https://www.kalmanfilter.net/default.aspx): The Kalman Filter algorithm is a powerful tool for estimating and predicting system states in the presence of uncertainty and is widely used as a fundamental component in applications such as target tracking, navigation, and control. - [GPU Glossary](https://modal.com/gpu-glossary/readme): A guide for working with GPU compute - [B-trees more than I thought I'd want to know](https://benjamincongdon.me/blog/2021/08/17/B-Trees-More-Than-I-Thought-Id-Want-to-Know/) - [The Science of Routing Print Orders](https://www.canva.dev/blog/engineering/the-science-of-routing-print-orders/) ## RISC-v - 🔥🌟🔥 [Hello RISC-V Assembly](https://www.youtube.com/watch?v=qLzD33xVcRE): This was hands down the best explaination of building a helloworld in riscv assembly. Additionally, he shows you how to run it in qemu and output the console from the virtual machine over serial to your terminal. ## Golang - 🔥🌟🔥[Go Optimization Guide](https://goperf.dev/) ### Learning Go - 🔥🌟🔥[Learn Go With Tests](https://quii.gitbook.io/learn-go-with-tests): One of the best ways in my opinion for anyone to learn Golang. - 🔥🌟🔥[The Copenhagen Book ](https://thecopenhagenbook.com/): provides a general guideline on implementing auth in web applications. Examples are in golang but of course are generalizable. - [Implementing a B-Tree in Go](https://www.cloudcentric.dev/implementing-a-b-tree-in-go/) - [Implementing a Skip-list in Go](https://www.cloudcentric.dev/implementing-a-skip-list-in-go/) - [Building a WAL in Go](https://www.cloudcentric.dev/building-a-write-ahead-log-in-go/) - [Building classic 2D games in Go](https://threedots.tech/post/making-games-in-go/) - 🔥[go-database-sql.org](http://go-database-sql.org/): The missing "how" docs for `database/sql` package. - [WTF Dial break down](https://www.gobeyond.dev/wtf-dial/): an illustrative way for new golang developers to see how a real web application get's built in golang. - [ML in Go with a Python Sidecar](https://eli.thegreenplace.net/2024/ml-in-go-with-a-python-sidecar/): A work around for not having good ML support in Go. - [Writing secure Go code](https://jarosz.dev/article/writing-secure-go-code/) - [Which router to choose](https://www.alexedwards.net/blog/which-go-router-should-i-use) - [Organizing a Go module](https://go.dev/doc/modules/layout#server-project) - [Golang middleware](https://blog.questionable.services/article/guide-logging-middleware-go/) - [Circuit Breaker Pattern in Go](https://rednafi.com/go/circuit_breaker/) - [Graceful shutdown](https://victoriametrics.com/blog/go-graceful-shutdown/index.html) - [Mocking with Mockery / testify](https://www.youtube.com/watch?v=A1eR7TxeGcE&t=142s) - [Structured Errors in Go](https://southcla.ws/structured-errors-in-go) - [Review of ML Libraries for Golang](https://blog.cubed.run/is-golang-the-python-killer-for-ai-b8fbc9b9b4b5) - [Building Statically Linked Go Executables with CGO and Zig](https://calabro.io/zig-cgo) - [Learn to Build a Database in Go from Scratch](https://build-your-own.org/blog/20251015_db_in_3000/): Intro to building a database in go with only the stdlib ### CLI Frameworks / Utilities / libraries - 🌟 [Testify](https://github.com/stretchr/testify): Golang testing library - [Mockery](https://github.com/vektra/mockery): An autogen code tool for generating Testify mocks for your interfaces - 🌟[Bubble Tea](https://github.com/charmbracelet/bubbletea): A powerful little TUI framework. - [Tablewriter](https://github.com/olekukonko/tablewriter) Simple ASCII Tables - [Templ](https://templ.guide) build HTML components with Go - [Go Safe Web](https://github.com/google/go-safeweb): A Google collection of libraries for writing secure-by-default HTTP servers in Go. - [go8](https://github.com/gmhafiz/go8) as best of breed collection of patterns and libraries for building http web applications inspired by the [How I write HTTP services in Go after 13 years](https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years/) blog post. - [Convert HTLM to Markdown](https://github.com/JohannesKaufmann/html-to-markdown) - [PGX](https://github.com/jackc/pgx/wiki/Getting-started-with-pgx): Postgres database access - [Sqlc](https://docs.sqlc.dev/en/latest/): Compiles SQL queiries to go database accessors. Works greate with pgx - [Unkey](https://github.com/unkeyed/unkey): Adding API authn & authz in go. - [Simple Event Bus](https://github.com/kelindar/event) Fast, In-Process Event Dispatcher - [Fang](https://github.com/charmbracelet/fang): Builds on top of Cobra and marketed as a the CLI starter kit - [Hann](https://github.com/habedi/hann): Fast nearest neighbor search in Go - 🌟 [Script](https://github.com/bitfield/script): a Go library for doing the kind of tasks that shell scripts are good at: reading files, executing subprocesses, counting lines, matching strings, and so on. ### GUI Frameworks - [Wails](https://wails.io/): Build beautiful cross-platform applications using Go. Basically Electron for Golang. - 🌟[Gioui](https://gioui.org/): Gio is an open source library for creating portable, immediate mode GUI programs for Android, iOS, Linux, Windows, macOS. - [TK 9.0](https://pkg.go.dev/modernc.org/tk9.0) TK in go, no CGO dependency and cross platform. ### Web Frameworks - [Caddy](https://caddyserver.com/docs/): See also [this beginners tutorial](https://www.cloudcentric.dev/deploying-web-apps-with-caddy-a-beginners-guide/) on Caddy. ### Task Queues - [River](https://github.com/riverqueue/river): Being built for Postgres, River encourages the use of the same database for application data and job queue. By enqueueing jobs transactionally along with other database changes, whole classes of distributed systems problems are avoided - [Go-Taskflow](https://github.com/noneback/go-taskflow): A taskflow-like General-purpose Task-parallel Programming Framework with integrated visualizer and profiler ## Python ### Learning - [Making an MMO with Godot and Python](https://www.youtube.com/playlist?list=PLA1tuaTAYPbHz8PvTWpFYGag0L6AdYgLH) - [Designing Full Text Search in 150 lines](https://bart.degoe.de/building-a-full-text-search-engine-150-lines-of-code/) ### Task Queues - 🌟[Dramatiq](https://dramatiq.io/): Invented because Celery Sucks. Has all the functionality you want. - [pg-queue](https://github.com/mattbillenstein/pg-queue): Simple task queue using Postgres listen/notify ### Frameworks - [SeleniumBase](https://github.com/seleniumbase/SeleniumBase): Framework for python to write Selenium tests and scripts. - [Helium](https://github.com/mherrmann/helium): Like Selenium it is a lighter weight web automation tool. ## Embedded / Microcontollers - [Debugging with JTAG](https://www.actuatedrobots.com/debugging-with-jtag/) - [Hackerfab](https://docs.hackerfab.org/hacker-fab-space/): A group attempting to build an opensource Fab. - [Pi Pico Audio Player](https://lucstechblog.blogspot.com/2025/02/raspberry-pi-pico-audio-player.html): complete standalone audio player project. Plays files from an SD Card - [Kindle Modding Wiki](https://kindlemodding.org/jailbreaking/WinterBreak/) - [Z-ant](https://github.com/ZantFoundation/Z-Ant): Zig project for deploying Neural Nets to edge devices - [Haystack](https://github.com/hybridgroup/go-haystack): Go Haystack lets you track personal Bluetooth devices via Apple's massive "Find My" network. - [Demystifying Common Microcontroller Debug Protocols](https://media.ccc.de/v/38c3-demystifying-common-microcontroller-debug-protocols) ### PCB Design - [How to design an ESP32 PCB with KiCad](https://www.youtube.com/watch?v=jiJGbWOSdMo) ### Micropython - [Pure Micropython Display Driver](https://blog.lvgl.io/2019-08-05/micropython-pure-display-driver): Micropython API to *any* C library! Walk through shows specifically how to add ILI9341 LED Display support to micropython using an existing C lib. ## Sqlite - [Starbasedb](https://starbasedb.com/) StarbaseDB is an open-source, scale-to-zero, HTTP SQLite database built on top of Cloudflare Durable Objects. - [High precision date-time for sqlite](https://antonz.org/sqlean-time/) - [SQLite-vec](https://github.com/asg017/sqlite-vec): Vector search extension in sqlite - [Litesync](https://litesync.io/en/): LiteSync allows your applications to easily keep their SQLite databases synchronized ## CNC - [MIT Fablab Speeds/Feeds Calculator](https://pub.pages.cba.mit.edu/feed_speeds/) ## Just Cool - [100,000 nearby stars](https://stars.chromeexperiments.com/): An interactive 3D visualization of the stellar neighborhood, including over 100,000 nearby stars. Created for the Google Chrome web browser. - [WikiHouse](https://www.wikihouse.cc/): WikiHouse is a modular building system that makes it easy to design, manufacture and assemble high-performance buildings. - [DIY Automatic Tool Changer](https://www.youtube.com/watch?v=dK3I27DcQj8&si=MlXvKqcI4CC2FPL9) ## Tools - [tldr pages](https://github.com/tldr-pages/tldr): tldr-pages project is a collection of community-maintained help pages for command-line tools, that aims to be a simpler, more approachable complement to traditional man pages. - 🔥[API Parrot](https://apiparrot.com/): API Parrot is the tool specifically designed to reverse engineer the HTTP APIs of any website. Making life easier for developers looking to automate, integrate or scrape websites without public APIs. - [TL;DW](https://github.com/stong/tldw): Too Long Didn't Watch. Summarizes Youtube Videos. Can be self-hosted. - [PG Tune](https://pgtune.leopard.in.ua/): Tool for tuning postgres's conservative defaults. - [Ventoy](https://github.com/ventoy/Ventoy): Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files. - [Headless Terminal](https://github.com/andyk/ht): wraps a binary for programmatically interacting with terminal apps. Useful for testing, turning a cli into a service, etc. - [Filament HDL](https://filamenthdl.com/): Filament is a hardware description language (HDL) that uses types to ensure that your hardware pipelines are composed correctly - [Classless CSS](https://github.com/dbohdan/classless-css): This is a list of classless CSS themes and frameworks. "Classless" means a style sheet does not define special classes you must add to your HTML elements to style these elements - [Platte Generator for Tailwind](https://www.tints.dev/purple/A855F7): See the [blog post](https://www.simeongriggs.dev/using-the-tailwind-css-palette-generator-and-api) for how it works. - [Flowblade](https://jliljebl.github.io/flowblade/) Flowblade is a multitrack non-linear video editor released under GPL3 license. - 🔥[DevDoc](https://devdocs.io/): A browser based aggregator of API documentation. Also supports offline access. **Under rated. Need to use this more.** - [Ansel](https://ansel.photos/en/) An opensource photo editor - [Fusion 360 for Linux](https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux): Adapts Fusion 360 POSIX install for Linux - [Meilisearch](https://www.meilisearch.com/docs) APIs for building search into sites and apps. - [Dragonfly](https://github.com/dragonflydb/dragonfly): A Redis/Memcache alternative. 24k+ github stars? - [Flexbox Froggy](https://flexboxfroggy.com/): A game for learning CSS flexbox - [mkcert](https://github.com/FiloSottile/mkcert): Locally gernated certs and automatically installs rootCA into chain of trust on local computer. - [Using Hugo(Go static site gen) and cloudflare for blog hosting](https://rednafi.com/misc/behind_the_blog/) - [Bake](https://github.com/EbodShojaei/bake): A Makefile linter - [Siyuan](https://github.com/siyuan-note/siyuan): Self-hosted knowledge management system - [Boardgame Lab](https://boardgamelab.app/) - [Boardgame io](https://github.com/boardgameio/boardgame.io): boardgame.io is an engine for creating turn-based games using JavaScript. ## RSS Readers / Feeds - 🔥[Feedi](https://github.com/facundoolano/feedi): An OSS a web feed reader with a minimal interface akin to a Mastodon or Twitter feed. Self hosted, mobile friendly, parsers for Reddit, Github, RSS. Local article reading, send to Kindle support. ## Study Apps - 🌟[Anki](https://apps.ankiweb.net/): Digital flash cards. Web app is free, mobile app is paided, but supports them. ## AI - [Reactive notebook for Python](https://marimo.io/) - [IDE For Datascience](https://github.com/zasper-io/zasper) - [Building an LLM Rig](https://sabareesh.com/posts/llm-rig/) - [Architecting a Real AI Application for Scale](https://philcalcado.com/2024/12/14/building-ai-products-part-i.html): An article on building an application architecture for a real AI application. ### RAG - [Rlama](https://rlama.dev/): The complete AI platform for creating RAG systems and intelligent agents. ### Audio - [Convert Ebooks to Audio with Kokoro](https://claudio.uk/posts/epub-to-audiobook.html): A guide on converting Ebooks into audio books with TTS - [smart-turn](https://github.com/pipecat-ai/smart-turn): This is an open source, community-driven, native audio turn detection model. - [Style TTS2](https://github.com/yl4579/StyleTTS2) - [Piper](https://github.com/rhasspy/piper): Fast local TTS. Voices are trained with [VITS](https://github.com/jaywalnut310/vits/) and exported to the onnxruntime. - [Kyutai TTS](https://kyutai.org/next/tts): low-latency high-quality TTS - [Kyutai STT](https://kyutai.org/next/stt): low-latency high-quality STT ### Visual - [EasyOCR](https://github.com/JaidedAI/EasyOCR): OCR and...it's easy - [DeepFace](https://github.com/serengil/deepface): DeepFace is a lightweight face recognition and facial attribute analysis (age, gender, emotion and race) framework for python. ### MCP - [Indepth Intro Into MCP](https://www.speakeasy.com/mcp/mcp-tutorial) ## Robotic Operating system ### Articles - [Recording Robot Data](https://www.polymathrobotics.com/blog/recording-robot-data) - [The math behind odometry](https://www.youtube.com/watch?v=vxSK2NYtYJQ&feature=youtu.be) ## Databases ### Postgres - [PGAssistant](https://github.com/nexsol-technologies/pgassistant): PgAssistant is an open-source tool designed to help developers understand and optimize their PostgreSQL database performance - [PGlite](https://pglite.dev/): A lightweight WASM Postgres - [Electric Sync Engine](https://electric-sql.com/blog/2024/12/10/electric-beta-release): Designed to be used in conjuntion with PGlite. Real-time partial replication of Postgres data into local apps and services. - [PgLocks](https://pglocks.org/): Shows all commands and locks in postgres - [Postgres Full Text Search](https://blog.vectorchord.ai/postgresql-full-text-search-fast-when-done-right-debunking-the-slow-myth) #### Articles - [Keyset Cursors, Not Offsets for Postgres Pagination](https://blog.sequinstream.com/keyset-cursors-not-offsets-for-postgres-pagination/) ### SQLite - [Litesync](https://litesync.io/en/sqlite-synchronization.html): Remote syncing of sqlite databases - [Rqlite](https://rqlite.io/): Distributed relational database built on SQLite - [How rqlite is Tested](https://philipotoole.com/how-is-rqlite-tested/): rqlite is a lightweight, open-source, distributed relational database written in Go, and built on SQLite and Raft #### Articles - [Sensible Sqlite defaults](https://briandouglas.ie/sqlite-defaults/) ## General Web - [Plain Vanilla](https://plainvanillaweb.com/index.html): An explainer for web development using only vanilla techniques. No tools, no frameworks — just HTML, CSS, and JavaScript. - [Linear Web's Redesign](https://linear.app/blog/how-we-redesigned-the-linear-ui) - [Umami](https://github.com/umami-software/umami): Alternative to Google Analytics - [Creduse API](https://doc.creduse.com/introduction.html): A Credit Management API. Could be useful for a subscription based business ### Testing / Automation - [SeleniumBase](https://github.com/seleniumbase/SeleniumBase): SeleniumBase is the professional toolkit for web automation activities. Built for testing websites, bypassing CAPTCHAs, enhancing productivity, completing tasks, and scaling your business. - 🌟 [Helium](https://github.com/mherrmann/helium):Helium is a Python library for automating browsers such as Chrome and Firefox. Very clean API. ### Auth - [What is OAuth2 Anyway](https://www.romaglushko.com/blog/whats-aouth2/): Roman's Blog on OAuth2 - [Tour of Web Auth](https://www.imperialviolet.org/tourofwebauthn/tourofwebauthn.html) ### CSS - [DaisyUI](https://daisyui.com/) Tailwind CSS Components - [Tips.io](https://tips.io/): AI tailwind generator. Almost didn't make the page. ### JS - [SPA like behavior with HTMX](https://htmx.org/essays/you-cant/) - [Konvajs](https://konvajs.org/): JavaScript Canvas 2d Library - [Breaking Up with Long Tasks](https://calendar.perfplanet.com/2024/breaking-up-with-long-tasks-or-how-i-learned-to-group-loops-and-wield-the-yield/): How I learned to group loops and wield the yield ## Linux - [Debian Packaging From Git](https://optimizedbyotto.com/post/debian-packaging-from-git/): Create new Debian packaging repository from the existing upstream project git repository - [httptap](https://github.com/monasticacademy/httptap): View the HTTP and HTTPS requests made by any linux program by running `httptap -- ` - [Using Raspberry Pi as a Real Web Server](https://mirawelner.com/posts/website_howto.html): thorough guide on hosting a real website on a Pi - [Digital Grove](https://www.rfleury.com/archive): source of articles with great debugging resources ## Architecture - [Awesome Stream Processing](https://github.com/risingwavelabs/awesome-stream-processing): A go to collection of stream processing examples ## Articles - 🌟[Discover the Indie Web](https://indieblog.page/all): A router/list for tons off self hosted blogs - [Blog Scroll](https://blogscroll.com/): Similar index of personal blogs - [Comprehensive List of Versioning Schemes in Open Source](https://nesbitt.io/2024/06/24/from-zerover-to-semver-a-comprehensive-list-of-versioning-schemes-in-open-source.html): From ZeroVer to SemVer - [An animated introduction to Fourier Series](https://www.andreinc.net/2024/04/24/from-the-circle-to-epicycles): Super detailed explaination of Fourier Series. - 🌟[The Notifier Pattern for Applications That Use Postgres](https://brandur.org/notifier) - [Postgres as Queue](https://leontrolski.github.io/postgres-as-queue.html) - [Color Concepts 101](https://developers.hp.com/system/files/Color_Concepts_101_0.pdf) - [Hater's Guide to Kubernetes](https://paulbutler.org/2024/the-haters-guide-to-kubernetes/) - [How I write HTTP services in Go after 13 years](https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years/) - [How ELF binaries are organized](https://jvns.ca/blog/2014/09/06/how-to-read-an-executable/) Explores the ELF binary file format - [Exploring Memtables](https://www.cloudcentric.dev/exploring-memtables/) - [An automatic indexing system for Postgres](https://pganalyze.com/blog/automatic-indexing-system-postgres-pganalyze-indexing-engine) - [The Many Problems of Celery](https://steve.dignam.xyz/2023/05/20/many-problems-with-celery/) - [16 UI Design Rules that Make a Big Impact](https://www.adhamdannaway.com/blog/ui-design/16-ui-design-rules) - [Deploying Pelican to Digital Ocean](https://djcurtis.me/deploying-pelican-static-blog-on-digital-ocean.html) - [The self-hosting guide to all the things](https://github.com/mikeroyal/Self-Hosting-Guide) - [Makefile tutor](https://github.com/clemedon/Makefile_tutor) - [The defininitive guide to graph problems](https://www.giulianopertile.com/blog/the-definitive-guide-to-graph-problems/) - [The bootstrapers guide to outside funding](https://microconf.com/the-bootstrappers-guide-to-outside-funding) - [The Missing Signals Manual for Python](https://bui.app/the-missing-manual-for-signals-state-management-for-python-developers/) - [The Prompt Engineering Playbook for Developers](https://addyo.substack.com/p/the-prompt-engineering-playbook-for) - [Atomics and Concurrency in C++](https://redixhumayun.github.io/systems/2024/01/03/atomics-and-concurrency.html) - [Loading Pydantic Models Without Running Out of Memory](https://pythonspeed.com/articles/pydantic-json-memory/): Provides a technique to reduce memory usage when processing large amounts (100s of MBs) of JSON using Pydantic. - [Owning My Own Data](https://emilygorcenski.com/post/owning-my-own-data-part-1-integrating-a-self-hosted-calendar-solution/): Author walks through the process of building a self hosted calendar that syncs with services that others use. - [Building and Autorouter](https://blog.autorouting.com/p/13-things-i-would-have-told-myself): Great demonstration of complex algorithm applications to a realworld piece of software - [So you wanna write Kubernetes controllers?](https://ahmet.im/blog/controller-pitfalls/): Under the hood look at what you should know before writing your own K8s controller ### Soft Skills - [Being Too Ambitious Is A Clever Form of Sabotage](https://maalvika.substack.com/p/being-too-ambitious-is-a-clever-form) - [Things you are allowed to do](https://milan.cvitkovic.net/writing/things_youre_allowed_to_do/) - [Ten Rules for Negotiating a Job Offer](https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/) - [Write Blog Posts Devs Will Acutally Read](https://refactoringenglish.com/chapters/write-blog-posts-developers-read/) - [Getting Clients as a Freelancer](https://crocspace.substack.com/p/freelancing-how-i-got-clients-part) - [How I Automated My Job Application Process](https://blog.daviddodda.com/how-i-automated-my-job-application-process-part-1) ## Books - [Cosmic Python](https://www.cosmicpython.com/book/preface.html) - [Postgres 14 Internals](https://edu.postgrespro.com/postgresql_internals-14_en.pdf) 548 pages of Postgres - [Python Asyncio: The Complete Guide](https://superfastpython.com/python-asyncio/) - [Elements of Robotics](https://link.springer.com/content/pdf/10.1007/978-3-319-62533-1.pdf)