Skip to content

thxbb12/awesome-computing-resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 

Repository files navigation

Awesome Computing Resources

A curated list of awesome computing/programming resources.

Contents

Artificial intelligence

  • scikit-learn - Simple and efficient machine learning tools in Python
  • huggingface - The platform where the machine learning community collaborates on models, datasets, and applications.
  • llm.c - LLM training in simple, raw C/CUDA
  • napkin - Turns your text into visuals so sharing your ideas is quick and effective
  • gamma - AI design partner for effortless presentations, websites, social media posts, and more
  • bolt - AI-powered web development platform which allows developers to build, run, edit, and deploy full-stack web apps directly from their browser without writing any code
  • ahaslides - The all-in-one AI platform for interactive and impactful presentations
  • heygen - AI Video Generator, no Camera Needed. HeyGen AI turns text to video in only a few minutes.
  • elevenlabs - Create the most realistic speech with our AI audio platform. Pioneering research in Text to Speech and AI Voice Generator.
  • teachablemachine - Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create ML models for your sites, apps, and more.

Bioinformatics

  • openms - OpenMS is an open-source C++ library for LC-MS data management and analysis (github here).

Blogs

  • Julia Evans - Julia Evans' blog (mostly systems topcis)
  • Christine Dodrill - Christine Dodrill's blog (web and backend services devops)
  • Mathieu Ropert - A blog about C++ with a bit of a French touch
  • The Overflow - The Stackoverflow Blog
  • Drew DeVault - Drew DeVault is the creator of the Hare language, founder of SourceHut, author of the Wayland book, etc.
  • confessions of a code addict - Passionate software engineer with a knack for turning complex ideas into simple solutions; insights and experiences from over a decade in the tech industry.
  • Brent's Website - Brent's Website (some Assembly required)
  • Ariadne's Space - Ariadne's Space, pulling at the threads of complexity...

Books

Bootloaders

  • POSIX-UEFI - Dependency-free POSIX compatibility layer and build environment for UEFI
  • The rEFInd Boot Manager - A boot manager for computers based on EFI and Unified EFI (UEFI).
  • bootboot - BOOTBOOT has the opposite philosophy than GRUB: a set of simple and small loaders which provide the same boot environment for your kernel on different 64-bits platforms.
  • easyboot - Easyboot is an all-in-one boot manager and bootable disk image creator that can load various OS kernels and Multiboot2 compliant kernels in various binary formats.
  • simpleboot - Easyboot's little brother, simpler, which loads a single kernel only.
  • limine - Modern, advanced, portable, multiprotocol bootloader and boot manager.
  • Managing EFI Boot Loaders for Linux - Resources on EFI boot, secure boot, boot loaders and managers.
  • UEFI boot - UEFI boot: how does that actually work, then?
  • Plop Boot Manager - The Plop Boot Manager is a small program to boot different operating systems.
  • The Syslinux Project - The SYSLINUX Project is a suite of lightweight MBR boot loaders for starting up PCs with the Linux kernel.
  • Linux on UEFI - Linux on UEFI: A Quick Installation Guide
  • GOP - Programming EFI Graphics Output Protocol (GOP) services
  • GNU-EFI - GNU-EFI is a very lightweight developing environment to create UEFI applications using a system's native GCC.
  • GRUB rescue on UEFI - GRUB rescue on UEFI based systems

C

Compilation

  • Godbolt - Compile some code and watch the generated assembly for different programming languages.
  • llvm backend cpu0 - Creating an LLVM Backend for the Cpu0 Architecture
  • emscripten - Emscripten is a complete compiler toolchain to WebAssembly, using LLVM
  • disasm.pro - Online dissassembler for many architectures
  • llvm backend - Writing an LLVM Backend
  • qbe - QBE is a compiler backend that aims to provide 70% of the performance of industrial optimizing compilers in 10% of the code.

Computer Graphics

  • scratchapixel - Mathematics and Physics for Computer Graphics
  • simple2d - Small, open-source graphics engine providing essential 2D drawing, media, and input capabilities (C)
  • orx - Open source, portable, lightweight, plugin-based, data-driven and extremely easy to use 2D-oriented game engine (C)
  • csfml - Simple and Fast Multimedia Library to ease the development of games and multimedia applications (C)
  • thebookofshaders - This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders
  • GPU arch explained - GPU architecture types explained (Immediate-Mode vs Tile-Based rendering)
  • raylib - raylib is a simple and easy-to-use library to enjoy videogames programming.
  • lodes computer gfx tutorial - Lode's Computer Graphics Tutorial
  • automatic1111 - Stable Diffusion AI is a latent diffusion model for generating AI images
  • iopaint - Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people, etc. from your pictures.

Courses

Conferences

  • fosdem - FOSDEM talks archives. Free and Open source Software Developers' European Meeting (FOSDEM) is a non-commercial, volunteer-organized European event centered on free and open-source software development.

Containers

Distributed Computing

  • openfaas - Serverless Functions Made Simple
  • raft - The Raft Consensus Algorithm
  • raft go - Golang implementation of the Raft consensus algorithm

Documentation

  • tldr pages - Simplified and community-driven man pages.

Editors

  • zettlr - Zettlr: A Markdown editor for the 21st century

Education

  • AMC - Create and manage multiple choice questionnaires (MCQ), with automated marking.

Embedded Systems

  • TinyGo - A Go compiler for microcontrollers
  • MicroPython - Implementation of Python 3 for microcontrollers which includes a small subset of the Python standard library
  • elinux - Embedded Linux Wiki
  • FreeRTOS - FreeRTOS is a real-time operating system for microcontrollers
  • uC-OS3 - µC/OS-III is a highly portable, ROMable, scalable, preemptive, real-time, deterministic, multitasking kernel for CPU, MPU and DSP.
  • embedded - The resource for everything embedded systems designers and developers need to do their jobs
  • build an embedded Linux system - So you want to build an embedded Linux system?
  • synthos - Synthesize your own optimized, custom real time operating system (RTOS)
  • BBC microbit - The BBC micro:bit is a pocket-sized computer that introduces you to how software and hardware work together
  • BBC microbit hardware - Detailed description of the BBC micro:bit's hardware
  • linux emb yocto - Linux embarqué avec Yocto Project
  • Linux Yocto Cooker Imbriqué - Imbriquer des systèmes Linux avec Yocto Cooker
  • U-Boot programming - U-Boot programming tutorial
  • rauc - Safe and secure software updates for embedded Linux
  • Linux userspace examples - Repository providing Linux application examples for common communication protocols: SPI, I2C, UART
  • Zephyr project - Zephyr is a small RTOS for connected, resource-constrained and embedded devices supporting multiple architectures.
  • NuttX - Apache NuttX is a highly scalable RTOS featuring small footprint and standards compliance (UNIX, POSIX, ANSI).

Emulation

  • advanced qemu - Advanced configuration for QEMU
  • DOSBox-X - Open-source DOS/Win3.x/Win9x emulator for running DOS/windows applications and games. It is much more flexible and provides more features than DOSBox.
  • dosbox-x options - DOSBox-X's Command-Line Options

Encoding

  • unicode - The Absolute Minimum Every Software Developer Must Know About Unicode in 2023.

Filesystems storage

  • qemu ceph rbd perf - Performance tuning of QEMU on Ceph rbd storage
  • ceph rbd snapshots - Ceph rbd snapshots
  • ceph cheatsheet - Ceph Cheatsheet
  • ext4 explained - Ext4 filesystem explained: data blocks, super blocks, inode structure
  • ntfs cluster alloc - Disk Cluster Allocation Behavior in Windows and NTFS
  • seaweedfs - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files!
  • btrfs - BTRFS official documentation
  • timeshift - System restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots.
  • vectorvfs - VectorVFS transforms your Linux filesystem into a vector database by leveraging the native VFS extended attributes

Games

  • bevy - A refreshingly simple data-driven game engine built in Rust
  • godot - Godot is a cross-platform, free and open-source game engine
  • armory - Armory is an open-source 3D game engine with full Blender integration
  • ogre - OGRE is a scene-oriented, flexible, open-source 3D engine
  • o3de - O3DE is an open-source, multi-platform 3D engine
  • panda3d - Panda3D is an open-source, completely free-to-use engine for realtime 3D games
  • phaser - Phaser is a free and fast 2D game framework for making HTML5 games
  • doomgeneric - Doom is already portable but with doomgeneric it is possible with just a few functions

Golang

  • awesome-go - A curated list of awesome Go frameworks, libraries and software
  • go-101 - Go 101 is a series of books on Go programming
  • echo - Echo is a high performance, extensible, minimalist Go web framework
  • chi - A lightweight, idiomatic and composable router for building Go HTTP services
  • gin - The fastest full-featured web framework for Go
  • webrpc - webrpc is a schema-driven approach to writing backend services for modern Web apps and networks
  • go documentation - Official Go documentation
  • Effective Go - Effective Go short book
  • Go by Example - Go by Example is a hands-on introduction to Go using annotated example programs
  • Resty - Simple HTTP and REST client library for Go
  • Req - Simple Go HTTP client with Black Magic
  • Fyne - Cross platform GUI in Go inspired by Material Design
  • gotk3 - Go bindings for GTK3
  • golang tutorials - Golang tutorial series
  • go for C dev - Go for C programmers
  • Organizing Go code - Organizing Go code
  • Golang Goroutine Scheduler - Understanding the Golang Goroutine Scheduler GPM Model
  • tview - Terminal UI library with rich, interactive widgets (even "graphics")
  • reflection go - Reflection in Go: Use cases and tutorial
  • common go mistakes - 100 Common Go Mistakes
  • slice gotchas - Why appending to slice in Golang is dangerous? Common Slice Gotchas

Graphs charts diagrams

  • asciiflow - ASCIIFlow is a client-side only web based application for drawing ASCII diagrams. Git repository here.

GUI

  • nuklear - A single-header ANSI C immediate mode cross-platform GUI library.
  • raylib-nuklear - Nuklear immediate mode GUI for raylib

Hacks

  • destreamer - destreamer, save Microsoft Stream videos for offline enjoyment
  • pihole - Block ads for all devices inside your network with a Raspberry Pi
  • pihole setup - How To Set Up Pi-hole
  • yt-dlp - A feature-rich command-line audio/video downloader

Hardware

  • piper - The Piper Computer Kit is the ultimate DIY computer-building experience. Build a REAL computer from start to finish.
  • how dram works - How does Computer Memory Work?
  • tiny tapeout - Tiny Tapeout is an educational project that makes it easier and cheaper than ever to get your designs manufactured on a real chip!

History

  • Pessimists Archive - Pessimists Archive is a project to jog our collective memories about the hysteria, technophobia and moral panic that often greets new technologies, ideas and trends

Jokes

  • scigen - An Automatic Computer Science Paper Generator
  • turnoff us - webcomic that explores the worlds of programming, operating systems, and tech professional life
  • xkcd - A webcomic of romance, sarcasm, math, and language

Languages

  • Language benchmarks Programming language and compiler benchmarks.
  • Hare language - Hare is statically-typed systems programming language designed to be simple, stable, and robust.
  • Zig language - Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.
  • V language - V is a statically typed compiled programming language designed for building maintainable software.

Linux

  • Linux Kernel Monkey Log - Greg Kroah-Hartman's blog (Linux kernel maintainer)
  • Linux Kernel in a Nutshell - The "Linux kernel in a nutshell" free book from O'Reilly
  • Greg K-H's Linux Stuff - Greg K-H's Linux Stuff (slides, talks, udev, hotplug, usb, etc.)
  • NixOS - NixOS is a GNU/Linux distribution that aims to improve the state of the art in system configuration management (reliable and atomic upgrades, rollbacks, etc.)
  • Guix - Guix is a GNU/Linux distribution that supports transactional upgrades, rollbacks, unprivileged package management, etc.
  • vramfs - VRAM based file system for Linux
  • Linux kernel teaching - Collection of lectures and labs on the Linux kernel
  • Grml Live Linux - Debian based Linux Live system
  • Slax - Slax is a compact, fast, modern and customizable Linux distro that can be generated into an ISO image.
  • cubic - Cubic is a GUI wizard to create a customized Live ISO image for Ubuntu and Debian based distributions.
  • monogon - Monogon OS is open-source, secure, API-driven, minimal, based on Linux and Kubernetes, with a clean userland rebuilt entirely from scratch in pure Go and eliminates decades worth of legacy code and unnecessary complexity.
  • mkusb - mkusb is a simple, safe tool to create a bootable drive from an iso image or a compressed image file.
  • ubuntu-autoinstall-generator-tools - A script to generate a fully-automated ISO image for installing Ubuntu onto a machine without human interaction.
  • binfmt_misc - Kernel feature that allows you to invoke almost every program by simply typing its name in the shell (e.g. compiled Java or Python programs).

Networking

  • IPFS - A peer-to-peer hypermedia protocol designed to make the web faster, safer, and more open
  • sshuttle - Transparent proxy server that works as a poor man's VPN. Forwards over ssh.

Operating systems

  • Genode - The Genode OS Framework is a tool kit for building highly secure special-purpose operating systems
  • Plan9 - Plan 9 from Bell Labs is a distributed OS designed to make a network of heterogeneous and geographically separated computers function as a single system
  • Inferno - Inferno was created to bring ideas of Plan to a wider range of devices and networks
  • Inferno doc - Inferno documentation
  • HelenOS - HelenOS is a portable microkernel-based multiserver operating system designed and implemented from scratch
  • Serenity OS - SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core
  • x86-bare-metal-examples - Dozens of minimal operating systems to learn x86 system programming
  • Rust RISC-V OS - The Adventures of OS: Making a RISC-V Operating System using Rust
  • OS in Rust - Writing an OS in Rust
  • managarm - Pragmatic microkernel-based OS with fully asynchronous I/O
  • tilck - A Tiny educational Linux-Compatible kernel
  • AxleOS - Axle OS is a hobby microkernel and userspace
  • egos-2000 - With only 2k lines of code, egos-2000 implements every component of an OS for education; it supports RISC-V boards and QEMU.
  • Debian Live - The Debian Live project produces the framework used to build live systems based on Debian
  • gopher-os - A proof of concept OS kernel written in Go
  • Multicians - Presents the story of the Multics OS for people interested in the system's history
  • Little book OSdev - The little book about OS development is a practical guide to writing your own x86 operating system.
  • Bredan mult-tasking - Tutorial describing how to implement software multi-tasking and task switching for x86.
  • Unix clone in a month - Writing a Unix clone in about a month.
  • osdev-notes - A book that explore how to write an Operating System from scratch.
  • darwin-xnu - Apple’s Darwin OS and XNU Kernel Deep Dive
  • osle - https://shikaan.github.io/osle/
  • Asterinas - Asterinas adopts the novel framekernel OS architecture, which unleashes the full power of Rust to bring the best of both monolithic kernels and microkernels.
  • Ghostery - Powerful and easy-to-use privacy browser extension, block ads and trackers.
  • uBlock Origin - Open-source wide-spectrum content blocker with CPU and memory efficiency.

People

Programming

  • programming books - Programming books (huge number of resources on many programming languages)
  • LeetCode - LeetCode is the best platform to help you enhance your skills, expand your knowledge and prepare for technical interviews.
  • meson build - Meson is an open source build system meant to be both extremely fast, and as user friendly as possible
  • ttt-bench - Benchmark comparing the speed of many languages on a Tic-Tac-Toe solver
  • Benchmarks Game Compare the performance of many languages across many tests
  • ncurses howto - NCURSES Programming HOWTO
  • wizard zines - Programming zines by Julia Evans

Repositories

  • sourcehut - SourceHut is a 100% open source, not owned by company, git forge.

Research papers

  • google research - Papers published by Google Research in a wide range of fields.

Rust

Search engines

Security

Shell

  • fzf - A command-line fuzzy finder.
  • oh-my-zsh - Manage ZSH configuration with plugins.
  • z - Jump in directories based on 'frecency'.
  • explainshell.com - Write down a command-line to see the help text that matches each argument.
  • tldr - Simplified man pages with examples.
  • bat - Syntax highlighting cat
  • shellsheck - finds bugs in your shell scripts.
  • shfmt - A shell parser, formatter, and interpreter (sh/bash/mksh)

Systems

Text editors

  • Textidote - Correction tool for LaTeX: spelling, grammar, etc.
  • Basic Markdown Syntax - Basic Markdown Syntax
  • Typst - Typst is a new open-source typesetting system that is powerful and easy to learn, inspired by LaTeX
  • Polylux - Polylux: package for Typst to create presentation slides
  • Touying - Touying is a powerful and efficient package for creating presentation slides in Typst
  • Quarto - An open-source scientific and technical publishing system
  • presenterm - Create presentations in markdown format and run them from your terminal

Tools

  • osboxes.org - OS images ready to use with VirtualBox or VMware.
  • gitignore.io - Create useful .gitignore files for your project.
  • Cool, but obscure unix tools - A little collection of cool unix terminal/console/curses tools
  • ImHex - A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM

Virtualization

  • ARM virtualization - An in-depth look into the ARM virtualization extensions
  • QuickEmu - Quickly create and run highly optimised desktop virtual machines with just two commands
  • Firecracker - Secure and fast microVMs for serverless computing
  • NOVA - Research project aimed at constructing a secure virtualization environment with a small trusted computing base
  • NOVA microhypervisor - Source code of the NOVA microhypervisor
  • NoVM - novm is a legacy-free, type 2 hypervisor written in Go. Its goal is to provide an alternate, high-performance Linux hypervisor for cloud workloads.
  • xen guide - Xen Project Beginners Guide
  • xen modes - Xen Modes: What Color Is Your Xen?
  • Ravada - Free, easy-to-use & deploy VDI solution. Ravada is an open-source project that allows users to connect to a virtual desktop.
  • MMU virt via Intel EPT - MMU Virtualization via Intel EPT: Implementation
  • hypervisor-from-scratch - Series of tutorials about implementing an hypervisor
  • vmm from scratch - Hypervisor from scratch using Intel VT-x
  • embvm-core - Embedded Virtual Machine Core Project
  • virtio driver - Virtio driver implementation example
  • hypervisor - A very simple hypervisor using the KVM API (Patrick Dumais)
  • KVM hypercall - A Deep Dive in KVM Hypercall
  • Nanos - Nanos is a new kernel designed to run one and only one application in a virtualized environment
  • spice-gtk-tutorial - Tutorial for creating a VM Viewer with Spice-GTK
  • go-spice - Pure Go implementation of the Spice protocol
  • Hypervisor-From-Scratch - Mmulti-part series of tutorials "Hypervisor From Scratch"
  • vbox - VirtualBox source code (mirror)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published