Awesome-Reading-List
Collection of STEM articles and tidbits you can read over a lunch break.
https://github.com/EanNewton/Awesome-Reading-List
Last synced: 6 days ago
JSON representation
-
main() {
-
Python
- Numpy SIMD optimizations
- All You Need to Know About Python Asterisks - Use the `*` for more than just multiplication. (5 minutes, 2022).
- Borgs and Singletons - Is there a use case where we want all instances to share the same storage? Singletons in Python. (7 minutes, 2022).
- Borg Pitfalls - Python, in general, is a pass-by-reference language. What does that mean, and what do you need to look out for? (5 minutes, 2022).
- How vectorization speeds up your Python code - What “vectorization” means, and when it applies. (10 minutes, 2022).
- Python Type Hints are Turing Complete - Using Grigore's method to explain why Mypy sometimes enters an infinite loop, and why that is not a bug.
- PEP 3102
- PEP 570: Positional-only arguments
- Under the hood weirdness, Part 1
- Garbage Collection in Python: Things You Need to Know - Understanding how garbage collection works can help you write better and faster Python programs. (10 minutes, 2020).
- MyPy: Static Typing for Python
- Python Type Hints: How to type a context manager
- Debugging with GDB - Official Python wiki reference source for using `gdb`.
- Don't Let dicts Spoil Your Code - What’s wrong with dicts? Dicts are opaque. Dicts are mutable. (7 minutes, 2021).
- f-strings are more powerful than you might think - Let's take a tour of some awesome f-string features that you'll want to use in your everyday coding. (5 minutes, 2022).
- Extracting Text from HTML in Python: A very fast approach - When working on NLP problems, sometimes you need to obtain a large corpus of text. (3 minutes, 2019).
- Flake8: Style Guide Enforcement Checker - Quickstart guide to using Flake8 to enforce code styling.
- Folders.py - A programming language made in Python where the source code is the directory structure. (2021).
- On Code Isolation in Python
- Python Type Hints: How to use the overload decorator
- Python Type Hints: Avoiding the Boolean Trap
- Compiling Python Syntax to x86-64 Assembly For Fun and (zero) Profit - Using Python’s built-in AST module to parse a subset of Python syntax and turn it into an x86-64 assembly program. (8 minutes, 2017).
- How to Patch Python Bytecode - In standard Python, when executing a script, the raw source code is compiled into platform-independent bytecode which subsequently runs on Python's stack-based virtual machine. (3 minutes, 2017).
- Python Type Hints: Typeguard - See also [PEP 647](https://www.python.org/dev/peps/pep-0647/)
- Python Type Hints: Use Cases for types Module
- Neural Network from scratch - Building a simple neural network to explore the core concepts. (30 minutes, 2022).
- Optimatization Tricks of Tuples vs Lists
- All You Need to Know About Python Asterisks - Use the `*` for more than just multiplication. (5 minutes, 2022).
- Borgs and Singletons - Is there a use case where we want all instances to share the same storage? Singletons in Python. (7 minutes, 2022).
- Borg Pitfalls - Python, in general, is a pass-by-reference language. What does that mean, and what do you need to look out for? (5 minutes, 2022).
- How vectorization speeds up your Python code - What “vectorization” means, and when it applies. (10 minutes, 2022).
- PEP 3102
- PEP 570: Positional-only arguments
- Under the hood weirdness, Part 1
- Keyword-only arguments - To understand keyword-only arguments, we first have to clear up a common misunderstanding about Python positional and keyword arguments. (3 minutes, 2020).
- Python Type Hints are Turing Complete - Using Grigore's method to explain why Mypy sometimes enters an infinite loop, and why that is not a bug.
-
Design and UI
- Fueling the Creation of New Electronic Curbcuts - Unusual things happen when products are designed to be accessible to people with disabilities. (13 minutes, 1999).
- Collaborate with kindness: basic etiquette for Slack - Reduce notifications and minimize distractions with these best practices for channels and direct messages. (6 minutes, 2022).
- Trans-inclusive Design - Covers issues touching on content, images, forms, databases, IA, privacy, and AI—just enough to get you thinking. (12 minutes, 2019).
- On Names - You need to fix how your software and systems refer to people, because names change. (1 minute).
- Privacy By Design: What Needs to be Done, How to do It, and How to Sell It to your Boss - Could you imagine the outrage the public would experience if they found out that the postal service was holding their mail hostage and selling it to whoever was willing to pay? (21 minutes, 2018).
- Fueling the Creation of New Electronic Curbcuts - Unusual things happen when products are designed to be accessible to people with disabilities. (13 minutes, 1999).
-
Documentation
- Content Workflow Using GitHub and Markdown - We publish digital content. We write and create for the internet and screens. But our content workflow dates back to the days of desktop publishing. (25 minutes, 2018).
- Why I Use Markdown, & You Should Too - I once had to convert a Word document to a web page. Once. (4 minutes, 2016).
- Markdown - John Gruber's original spec for Markdown. (5 minutes, 2004).
- Writing on GitHub - GitHub Docs official guide to Markdown and editing.
- heyawhite/tech-writing-tools - This repository contains lists of suggested tools for technical writers. (2022).
- Hemingway App - The app highlights lengthy, complex sentences and common errors.
- How to Release a New Open Source Project - This is the process for how Zalando employees release a new open source project. (5 minutes).
- kylelobo/The-Documentation-Compendium - Various templates & tips on writing high-quality documentation that people want to read. (2021).
- Markdown Cheatsheet - A quick reference and showcase of *Markdown Here's* version of GitHub-flavored Markdown. (7 minutes, 2017).
- Markdown Tutorial - Learn Markdown in 10 minutes by doing.
- PharkMillups/beautiful-docs - A list of docs and other developer resources that myself and others find particularly useful, well-written, and otherwise "beautiful." May they serve to inspire you when writing and designing yours. (2022).
- Whos behind this website? A checklist for journalists - This checklist is meant to be used as a reporting tool to help journalists and researchers when trying to find out who published a website. (5 minutes, 2022).
- Content Workflow Using GitHub and Markdown - We publish digital content. We write and create for the internet and screens. But our content workflow dates back to the days of desktop publishing. (25 minutes, 2018).
- Why I Use Markdown, & You Should Too - I once had to convert a Word document to a web page. Once. (4 minutes, 2016).
- heyawhite/tech-writing-tools - This repository contains lists of suggested tools for technical writers. (2022).
-
Fun Stuff That Doesn't Quite Fit Elsewhere
- Crazy Eddie, the popular electronics chain that scammed America - On September 13, 1984, as stocks wavered through a bear market, a regional electronics chain held a hyped initial public offering.
- DARPA shows off 1.8 gigapixel surveillance drone - These 1.8 gigapixels are provided via 368 smaller sensors, which DARPA/BAE says are just 5-megapixel smartphone camera sensors. (3 minutes, 2013).
- Exploring the software that flies SpaceX - Steven Gerding, Dragon’s software development lead, speaks about the special challenges software development has for SpaceX’s many missions.
- Network Protocols in Orbit: Building a Space ISP - There are requirements that make software engineers sweat. Massive distribution to thousands of nodes. High reliability and availability. Multiple distinct platforms. Rapid network growth.
- The first Intel fab - A little history of Intel's early years. (3 minutes).
- How bad is QWERTY really? - One man's journey to deal with RSI.
- A few things I learned live streaming - “Thanks” to the pandemic, I’ve spent much more time figuring out how to deal with video and live streaming than I ever thought I would. It’s turned out to be a surprisingly rewarding experience.
- Amateurs vs Professionals - Why is it that some people seem to be hugely successful and do so much, while the vast majority of us struggle to tread water? The answer is complicated and likely multifaceted.
- How GPS works - Interactive website detailing how GPS actually works.
- Fun with File Formats - To help you satisfy your need for in-depth technical, and perhaps more than a bit nerdy, knowledge about all things digital file formats.
- How rocket engines are cooled - Gases inside an engines combustion chamber can reach ~3,500 K – which is about half as hot as the surface of the Sun – certainly above the melting point of most materials. Engines need to reach this temperature in order to function correctly, but how can they survive this?
- Roguelikes: The misnamed genre - Roguelikes aren’t about dungeons. They’re not about text-based graphics, or random artifacts, or permadeath.
- Secret military telephone buttons - The military has four extra telephone buttons that they don't tell us about.
- Crazy Eddie, the popular electronics chain that scammed America - On September 13, 1984, as stocks wavered through a bear market, a regional electronics chain held a hyped initial public offering.
- DARPA shows off 1.8 gigapixel surveillance drone - These 1.8 gigapixels are provided via 368 smaller sensors, which DARPA/BAE says are just 5-megapixel smartphone camera sensors. (3 minutes, 2013).
- Exploring the software that flies SpaceX - Steven Gerding, Dragon’s software development lead, speaks about the special challenges software development has for SpaceX’s many missions.
- Network Protocols in Orbit: Building a Space ISP - There are requirements that make software engineers sweat. Massive distribution to thousands of nodes. High reliability and availability. Multiple distinct platforms. Rapid network growth.
- 52 Things I learned in 2021 - For the last few years, I’ve been a fan of Tom Whitwell’s annual list of 52 things he learned during the past year.
- 52 things I learned in 2021 - 17) The battery in the new electric Hummer will weigh almost as much as an original Land Rover. 18) Most ransomware is designed not to install on computers that have Russian or Ukrainian language keyboards.
- Amish Hackers - Amish lives are anything but anti-technological. I have found them to be ingenious hackers and tinkers, the ultimate makers and do-it-yourselfers and surprisingly pro technology.
- Japan's paper culture - Why paper is so important in Japan.
- Mall Ninjas - It all started back at the end of the halcyon summer of 2001, and his posts have created a certain urban legend that many refer to as the Mall Ninja.
- Notes from the end of a very long life - With the death of Ruth Willig at 98, a Times series on a set of the oldest New Yorkers — chronicled over seven years in 21 articles — offers their lessons on living with loss.
- QArt Codes - Embedding images into QR codes.
- QR Codes in Japan - Photos and samples of different creative QR codes found around Japan.
- Terran Republic Interstellar Plotting System - TRIPS (the Terran Interstellar Plotter System) is intended to be a flexible stellar cartography system designed for the needs of SF fans and writers.
- Unusual Wikipedia Articles - These articles are verifiable, valuable contributions to the encyclopedia, but are a bit odd, whimsical, or something one would not expect to find in Encyclopædia Britannica.
- When SimCity got serious - Maxis didn’t want to make professional simulation games. But for two brief, strange years, they did.
-
Git / GitHub / GitLab
- Configuring issue templates for your respository - You can customize the templates that are available for contributors to use when they open new issues in your repository.
- Merging vs Rebasing - The `git rebase` command has a reputation for being magical Git voodoo that beginners should stay away from.
- Oh Shit, Git!?! - Git is hard: So here are some bad situations I've gotten myself into, and how I eventually got myself out of them in plain english. (3 minutes, 2022).
- jstrieb/github-stats - Pretty print your projects' most used languages.
-
Linux / Unix / BSD
- A Survey of UNIX init schemes - (June 2007) This document describes existing solutions that implement the init process and/or init
- casync - A Tool for Distributing File System Images - It combines the idea of the rsync algorithm with the idea of git-style content-addressable file systems, and creates a new system for efficiently storing and delivering file system images, optimized for high-frequency update cycles over the Internet.
- Create a user called '0day' and get root privs! - Curiously, if systemd encounters an invalid name in a unit file, like "0day," it will ignore the parameter and create the requested service. But it will run the unit with root privileges instead of rejecting it or adopting more restrictive permissions.
- How X Window Managers Work, and How to Write One (Part 1) - Basic Concepts.
- How X Window Managers Work, and How to Write One (Part 2) - Introduction, Setup & Teardown, Initialization, Event Loop.
- How X Window Managers Work, and How to Write One (Part 3) - Interaction with Application Windows.
- mkosi - A Tool for Generating OS Images - CLI mkosi stands for Make Operating System Image, and is a tool for precisely that: generating an OS tree or image that can be booted.
- Setting the record straight: containers vs Zones vs Jails vs VMs - The Design of Solaris Zones, BSD Jails, VMs and containers are very different.
- Stop writing shell scripts - Unless you are very careful from day one, any shell script above a certain complexity level is almost guaranteed to be buggy… and retrofitting the correctness features is quite difficult.
- Technical Reasons to choose FreeBSD over Linux - (2020) Survey of technical features in FreeBSD vs Linux operating systems at the time.
- The real motivation behind systemd - (2018) A mix between an OpEd and an inside historical look at systemd.
- mkosi - A Tool for Generating OS Images - CLI mkosi stands for Make Operating System Image, and is a tool for precisely that: generating an OS tree or image that can be booted.
- mkosi - GitHub Repo - Source code for above.
- No easter eggs in cURL - The maintainer of cURL explains why it contains no easter eggs, and why that is a good thing.
- Gentoo is Rice - Welcome, this page is dedicated to the Linux Community's greatest ambassadors, Gentoo users. Like the annoying teenager next door with a 90hp import sporting a 6 foot tall bolt-on wing, Gentoo users are proof that society is best served by roving gangs of armed vigilantes, dishing out swift, cold justice with baseball bats to those fucking ricer bastards.
- Making Mac OS X UNIX compliant - Someone asks, "What goes into making an OS to be Unix compliant certified?" and Terry Lambert, an Apple Kernel developer, answers.
- The growth of command line options: 1979 - present - On ubuntu 17, if you read the manpage for coreutils ls, you don’t get a nice summary of options, but you’ll see that ls has 58 options (including --help and --version).
- WirePlumber: The New PipeWire Manager - A session manager for PipeWire, an alternative to JACK or ALSA.
- dm-verity - Device-Mapper’s “verity” target provides transparent integrity checking of block devices using a cryptographic digest provided by the kernel crypto API.
- JACK Audio Connection Kit - Have you ever wanted to take the audio output of one piece of software and send it to another? How about taking the output of that same program and send it to two others, then record the result in the first program? Or maybe you’re a programmer?
- A Survey of UNIX init schemes - (June 2007) This document describes existing solutions that implement the init process and/or init
- The important UNIX idea of the Virtual File System - Then Sun came up with NFS and found themselves with a problem; their kernel needed to support two different filesystems at once, the BSD FFS/UFS for local disks and NFS for networked filesystems.
- Create a user called '0day' and get root privs! - Curiously, if systemd encounters an invalid name in a unit file, like "0day," it will ignore the parameter and create the requested service. But it will run the unit with root privileges instead of rejecting it or adopting more restrictive permissions.
- How X Window Managers Work, and How to Write One (Part 1) - Basic Concepts.
- How X Window Managers Work, and How to Write One (Part 2) - Introduction, Setup & Teardown, Initialization, Event Loop.
- How X Window Managers Work, and How to Write One (Part 3) - Interaction with Application Windows.
- Setting the record straight: containers vs Zones vs Jails vs VMs - The Design of Solaris Zones, BSD Jails, VMs and containers are very different.
- Technical Reasons to choose FreeBSD over Linux - (2020) Survey of technical features in FreeBSD vs Linux operating systems at the time.
- The real motivation behind systemd - (2018) A mix between an OpEd and an inside historical look at systemd.
- A cozy nest for your scripts - Take a peek at your ~/bin. How many scripts there have names like process or run or deploy? How many of them have you forgotten ever writing? (5 minutes, 2022).
- casync - A Tool for Distributing File System Images - It combines the idea of the rsync algorithm with the idea of git-style content-addressable file systems, and creates a new system for efficiently storing and delivering file system images, optimized for high-frequency update cycles over the Internet.
- debootstrap - CLI debootstrap is a tool which will install a Debian base system into a subdirectory of another, already installed system.
-
Mathematics
- High dimenionsal sphere spilling out of a high dimensional cube - Make a square, split each side into two halves, producing four cells. Put a circle into each cell such that it fills it completely. There is a small gap right in the middle of the square. Put a circle there again such that it touches the other four circles. The central circle is obviously inside the square, right? Yes, but only if the dimension you are in is D ≤ 9.
- Matrix multiplication - Online matrix calculator app.
- The Flaw of Averages - Consider the case of the statistician who drowns while fording a river that he calculates is, on average, three feet deep. If he were alive to tell the tale, he would expound on the “flaw of averages,” which states, simply, that plans based on assumptions about average conditions usually go wrong. (5 minutes, 2002)
- Matrix multiplication - Online matrix calculator app.
- High dimenionsal sphere spilling out of a high dimensional cube - Make a square, split each side into two halves, producing four cells. Put a circle into each cell such that it fills it completely. There is a small gap right in the middle of the square. Put a circle there again such that it touches the other four circles. The central circle is obviously inside the square, right? Yes, but only if the dimension you are in is D ≤ 9.
-
Network
- The Monstrosity Email has Become - The first and obvious problem with email is that it has been developed 40 years ago as a receiver-only protocol. (10 minutes, 2021).
- What's in a hostname? - You can spend a surprising amount of time chasing RFCs and finding out more than you ever thought you'd need to know about something as trivial as "hostnames". (15 minutes, 2021).
- How to Tell if a Problem is Caused by DNS - So here are a few tools I use to tell if a problem I’m having is caused by DNS, as well as a few DNS debuggging stories from my life. (8 minutes, 2021).
- Mess with DNS - Gives you a subdomain and DNS server to play with it online. (2022).
- The Cyber-Plumber's Handbook - The definitive guide to Secure Shell (SSH) tunneling, port redirection, and bending traffic like a boss. The book was first published in October 2018. (70 minutes, 2021).
- The Monstrosity Email has Become - The first and obvious problem with email is that it has been developed 40 years ago as a receiver-only protocol. (10 minutes, 2021).
- No, its not always DNS - In today's environment of always-on, always-available Internet connectivity, network troubleshooting has become somewhat of a lost art. (10 minutes, 2022).
- DNS does not propagate - I feel like the term "DNS propagation" is misleading, like you're not actually waiting for DNS records to "propagate", you're waiting for cached records to expire. (10 minutes, 2021).
- Is It DNS? - Quickly check if your problem is caused by DNS or not. (2022).
- SSH Bastion Hosts: Security best practices - Although it is relatively easy to deploy a bastion host in your infrastructure, securing a bastion host requires careful consideration from design to deployment. (10 minutes, 2022).
- DOS on Dope - An MVC web framework made and running entirely on Batch scripts. (2 minutes, 2010).
- Everything You Wanted to Know About UDP Sockets but were Afraid to Ask - Although UDP is simple in principle, there is a lot of domain knowledge needed to run things at scale. In this blog post we'll cover the basics: all you need to know about UDP servers to get started. (8 minutes, 2021).
- Fun with IP Address Parsing - In my quest to write a fast IPv4+6 parser, I wrote a slow-but-I-think-correct parser, to use as a base of comparison. In doing so, I discovered more cursed IP address representations that I was previously unaware of. Let’s explore together! (5 minutes, 2021).
- NVIDIA Cumulus and Sonic ethernet OS's - Open source network operating systems distributed by NVIDIA. (2022).
- SSH Bastion Hosts: Setting up - What is an SSH bastion and how is this different from an SSH jump server or an SSH proxy? (7 minutes, 2022).
-
Reverse Engineering & Hardware Hacking
- Fixing a Tiny Corner of the Supply Chain
- How to Make a CPU - A simple step by step picture guide to making your own CPU. (4 minutes, 2021).
- Mechanical Computing Systems Using Only Links and Rotary Joints
- Playstation Architecture: A practical analysis
- Playstation 2 Architecture
- Scan of the Month: Game Boy Compendium
- Systems Performance: Enterprise and The Cloud
- Teaching a cheap ethernet switch new tricks
- What is AT&T doing at 1111340002?
- Bypasssing early 2000's copy protection
- Make It Go Faster! How We Sped Up OS Provisioning On Bare Metal at Scale - Here’s how adding a few bits of simple logic in the OS provisioning process can eliminate tons of network and time overhead and prolong the life of your storage.
- Mechanical Computing Systems Using Only Links and Rotary Joints
- An Ancient Greek Astronomical Calculation Machine Reveals New Secrets
- Scan of the Month: Game Boy Compendium
- Scan of the Month: Game Boy Compendium
- Pixel Perfect: Fingerprinting Canvas in HTML5
- The Inside Story of the Outside Investigation of SoftRAM 95
- Fixing a Tiny Corner of the Supply Chain
- How to Make a CPU - A simple step by step picture guide to making your own CPU. (4 minutes, 2021).
- Playstation Architecture: A practical analysis
- Playstation 2 Architecture
- Scan of the Month: Game Boy Compendium
- Antenna Theory - This website will strive to make antennas understandable, without unnecessary complexity.
- Crazy Thin Deep-Insert ATM Skimmers - Here’s a look at some of the more sophisticated deep insert skimmer technology that fraud investigators have recently found in the wild. (5 minutes, 2022).
- Dumping Firmware with a 555
- I'm not a human: Breaking the Google reCAPTCHA
- Inside ReCaptcha
- Game Hacking - Free educational PDF, from "what is a computer?" to crafting game hacks.
- Ghost in the ethernet optic
- Reverse Engineering the M1
- The Structure of a Smartphone
-
Security
- 10 Stories of how we've compromised CI/CD pipelines
- Exploit Development: Browser Exploitation on Windows - CVE-2019-0567, A Microsoft Edge Type Confusion Vulnerability (Part 3)
- Exploit Development: No Code Execution? No Problem! Living The Age of VBS, HVCI, and Kernel CFG
- The curious case of the raspberry pi in the closet
- Counterfeit Fraud Prevention - Tips, Tools, and Techniques
- Outline of forgery
-
Software Development
- An Illustrated guide to Elliptic Curve Cryptography Validation
- Complexity is Killing Us
- Faster Auto-Complete Algorithm with a Pruning Radix Trie
- Faster Spelling Correction Algorithm
- Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion
- NaN boxing or how to make the world dynamic - Adding dynamic typing to C. (20 minutes, 2020).
- Practical Data Oriented Design
- Rethinking Errors
- Simple Stupid Funnel Algorithm
- The Joy of Concurrent Logic Programming
- The Science of Managing Our Digital Stuff
- VS Code vs JetBrains
- Tuple Spaces (or, Good Ideas Don't Always Win)
- Why not TOML?
- Procedural Worlds from tiles
- Some Obscure C Features
- Stop Celebrating Incompetence
- Terrain Erosion Generation 3 Ways
- Faster Auto-Complete Algorithm with a Pruning Radix Trie
- Faster Spelling Correction Algorithm
- NaN boxing or how to make the world dynamic - Adding dynamic typing to C. (20 minutes, 2020).
- Rethinking Errors
- The Science of Managing Our Digital Stuff
- Anatomy of a Great Library API
- The Joy of Concurrent Logic Programming
- VS Code vs JetBrains
- Worse is Better
- 1001 Representations of Syntax with Binding
- Don't be scared of functional programming
- Don't try to sanitize input, Escape output
- Falsehoods Programmers Believe About Names
- Fast Checksum Computation
- Falsehoods Programmers Believe About Time
- FizzBuzz at 55GB/s
- Long Division
- Progressive Growing of GANs
- Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion
- Algorithms - Provides descriptions of many algorithms and data structures especially popular in field of competitive programming.
- Bootstrapping a small math library
- Distinction between 3 data related paradigms
- Minimalism in Programming
- Practical Data Oriented Design
- Practical Reed-Solomon for Programmers - A practical primer on R-S error correction.
- Data Oriented Programming
- Minimalism in Programming Language Design
- More Falsehoods Programmers Believe About Time - You are getting time wrong and here's the how and why.
- Parallel curves of cubic Béziers - Finding a better approach to matching parallel curves.
- Practical Introduction to Functional Programming
- Random points on a sphere
- Re-reading Tanenbaum's critique of RPC 30 years later
- Simple Stupid Funnel Algorithm
- An Illustrated guide to Elliptic Curve Cryptography Validation
- Complexity is Killing Us
- Generate All the Things - Generating good data for testing.
-
System Development
- Modules, Monoliths, and Microservices
- Modules, Monoliths, and Microservices
- A Close Look at a Spinlock
- Welcome to Operating Systems - A free online operating systems book. Centered around: virtualization, concurrency, and persistence.
- Filesystem Links: Everything You Ever Wanted to Know
- Resources to learn distributed systems - A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable. (9 minutes, 2022).
- Designing Better File Organization Around Tags, Not Hierarchies
-
Vintage & Historical
- A Rational Design Process. How and Why to Fake It - (1986).
- Booting the IBM 1401
- Hercules: IBM S/370 and ESA/390 Emulator
- How To Code - (1993).
- WinWorld: Vintage Operating System Downloads
- Decades of Computing: Machines built to last
- Hercules: IBM S/370 and ESA/390 Emulator
- 10 Forgotten Image Formats
- A History of modern init systems - The subject of process management, supervision and init(8) for Unix-like systems is one plagued by a large degree of ahistoricity and “pop culture” explanations.
- A Short History of Objective-C
- Always more history
- Booting the IBM 1401
- Don't Touch: The Story of the U-Force - (37 minute video) All about the Nintendo U-Force and why you've never heard of it.
- A Rational Design Process. How and Why to Fake It - (1986).
- EXE Magazine interview with Anders Hejlsberg on Delphi - (1995).
- How To Code - (1993).
- Software Library: Screensavers
- Taking this Serially: RS-232 History
- Why do interviewers ask linked list?
- Why ISO was retired
-
Web
- My Blog is Hilariously Overengineered to the Point People Think it's a Static Site - Xe Iaso explains how he fully automated his stupid fast blog website.
- A Reality Where CSS and JavaScript Don't Exist..?
- My Blog is Hilariously Overengineered to the Point People Think it's a Static Site - Xe Iaso explains how he fully automated his stupid fast blog website.
- What's in a font? Website Typography Best Practices
- A Reality Where CSS and JavaScript Don't Exist..?
- What's in a font? Website Typography Best Practices
- How to Build a Low-Tech Website
- Why are Hyperlinks blue, revisted
- You can access a user's camera with just HTML - About the `capture` attribute.
- Breaking out of the Box - CSS is about styling boxes. In fact, the whole web is made of boxes, from the browser viewport to elements on a page. But every once in a while a new feature comes along that makes us rethink our design approach.
- HTTP://HTTP://HTTP://@HTTP://HTTP://?HTTP://#HTTP:// - Is a legitimate URL and here's why.
- Hot to build HTML forms right - A five part series on how to make actually usable and well designed web forms.
-
Databases
- Spending $5k to Learn How Database Indixes Work - How a simple design choice resulted in thousands of dollars in server costs per day. (4 minutes, 2021).
- UUID's and ULID's - What UUIDs and ULIDs are under the hood, and how to encode and use them. (15 minutes).
- Postgres Hashing - A technical overview of what hash indexes are and how they are implemented. (5 minutes, 2022).
- Re-introducing Hash Indexes in PostgreSQL - There is another type of index you are probably not using, and may have never even heard of. It is wildly unpopular, and until a few PostgreSQL versions ago it was highly discouraged and borderline unusable, but under some circumstances it can out-perform even a B-Tree index. (15 minutes, 2021).
- Twitter's Snowflake ID - Twitter needed something that could generate tens of thousands of ids per second in a highly available manner. This naturally led us to choose an uncoordinated approach. (3 minutes, 2010).
- UUID to UTF-8 in Ruby - Ruby script to Convert a UUID to UTF-8 encoding to visually shorten.
- Spending $5k to Learn How Database Indixes Work - How a simple design choice resulted in thousands of dollars in server costs per day. (4 minutes, 2021).
- Data Denormalization is Broken - Why it’s impossible to write good application-layer code for everyday business logic. (20 minutes, 2016).
- The Ultimate SQLite Extension Set - Something like a standard library in Python or Go, only for SQLite. (3 minutes, 2021).
-
Food and Cooking
- One of the most famous Victorian dishes is a lie - Brown Windsor soup was reportedly a favorite of the Queen. The only problem? It may not have existed. (6 minutes, 2022).
- Healthy Soil is the real key to feeding the world - Agricultural myths hinder recognizing the potential to restore degraded soils to feed the world using fewer agrochemicals. (5 minutes, 2022).
-
What's New?
- C Isn't A Programming Language Anymore - I wouldn’t [mind] if C was actually a programming language. Unfortunately, it’s not, and it hasn’t been for a long time. (20 minutes, 2022).
- 93% of Paint Splatters are Valid Perl Programs - In this paper, we aim to answer a long-standing open problem in the programming languages community: is it possible to smear paint on the wall without creating valid Perl? (2 minutes, 2019).
-
Linux Class
- Wizardly Tips for Vim - A fast way to benefit from vim's power. Ideally you should read a good book and the `:h` section. But if you're in a hurry this should serve you well.
- rclone: From Basics to Encryption - Your zero-to-hero guide getting started with rclone.
- Get Hardware Info - How to find your hardware specs.
- Quick Grep - Cheatsheet for grep, the CLI tool for searching text.
- Text Processing Recipes - Linux text processing reference & recipes. Featuring: `vim, tr, cat, tac, sort, shuf, seq, pr, paste, fmt, cut, nl, split, csplit, sed, awk, grep` and regex.
- X11: Disable Cursor - When working with touch-screen interfaces or embedded systems you often don't want or need the mouse cursor.
- chroot - On Unix-like operating systems chroot is an operation that changes the apparent root directory for the current running process and its children.
- How Brace Expansion Works - What's the deal with those {funky} commands you sometimes see?
- How to use dig - The CLI tool for finding DNS.
- Simple awk - A quick reference to the AWK scripting language.
- Wizardly Tips for Vim - A fast way to benefit from vim's power. Ideally you should read a good book and the `:h` section. But if you're in a hurry this should serve you well.
- Hard & Soft Links - What are the different types of file links and when should you use them?
- Special Characters in BASH - Why do you sometimes see characters like ~ or * in commands? What do they mean?
- Useful Sed - Useful sed tips, techniques and tricks for daily usage.
-
DevOps / SRE
- The hows and whys of effective production-readiness reviews - How to build production readiness reviews (PRR) with emphasis on context and psychological safety. (19 minutes, 2022).
- A Few Ops Lessons - A few lessons in operations that we all (eventually) (have to) learn, often the hard way. Why things are the way they are, or what the lessons mean is left to the reader to interpret, agree, or disagree with. (6 minutes, 2020).
- How complex systems fail - The seminal treatise by Richard Cook. Being a Short Treatise on the Nature of Failure; How Failure is Evaluated; How Failure is Attributed to Proximate Cause; and the Resulting New Understanding of Patient Safety. (8 minutes).
-
Microsoft
- Fantastic Rootkits and Where to Find Them - In this first part, we will focus on some implementation examples of basic rootkit functionality and the basics of kernel driver development. (20 minutes, 2022).
- Windows 8: Show/Hide Administrative Tools
- Windows 10: System Requirements
- Robocopy: Documentation - The official Microsoft docs for all `robocopy` options.
- Windows 10 Hotkeys
- Robocopy: Pros and Cons to the /j option - Robocopy has a `/j` option for unbuffere I/O. What (if any) downsides are there? Any reason this isn't enabled by default? (1 minute, 2016).
- Why Pinball was removed from Windows Vista - Windows XP was the last client version of Windows to include the Pinball game that had been part of Windows since Windows 95. (2 minutes, 2012).
- How to Download Outlook Emails - Step-by-step with pictures, how to export a user's Outlook mailbox. (2021).
-
Places to Find Things
- arXiv - Cornell University's archive of free distribution service and an open-access archive for 2,000,301 scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics.
- Library Thing MDS - Find books by selecting narrowing topics of interest.
- Library Genesis - A shadow library website for scholarly journal articles, academic and general-interest books.
-
Videos
-
Encryption
- CryptoPals - A set of 48 practical programming exercises that Thomas Ptacek and his team at Matasano Security have developed as a kind of teaching tool (and baited hook). This is a different way to learn about crypto than taking a class or reading a book.
- DRM is not to prevent copyright violations - The purpose of DRM is to give content providers leverage against creators of playback devices. (5 minutes, 2013).
- Extracting Randomness from Text - While the running key cipher can be broken easily, BookPad offers a level of security comparable to that of a one-time-pad. In this article, I try to explain why in layman’s terms. (20 minutes, 2016).
- Snake Cipher - Using this cipher is so much like playing the old “snake” video game, I’ve called it just that: Snake. (10 minutes, 2016).
-
-
Reference materials
-
Algorithm & Logic References
- Mitchell's Best Cadidate
- Hirschberg
- Ralston's Second Order Method
- Runge-Kutta Method - See Also: [Visualizing the Runge-Kutta Method](https://www.haroldserrano.com/blog/visualizing-the-runge-kutta-method)
- Euler Method
- Midpoint Method
- Poisson Disk Sampling
- Reed-Solomon
- Mitchell's Best Cadidate
- Aho-Corasick
- Berlekamp-Welch
- Bresenham's Line Algorithm
- Damerau-Levenshtein
- Huen's Method
- Lamports Bakery
- Mersenne Twister
- De Morgan's Law
- Delaunay Triangulation
- Stochastic Rounding
-
Lists
- Trailblazers - A list of startups attempting to solve meaningful problems.
- Awesome Docs - A curated list of awesome documentation tools. (2022).
- Papers We Love - Papers from the computer science community to read and discuss.
- The Book of Secret Knowledge - Tools and resources aimed towards System and Network administrators, DevOps, Pentesters, and Security Researchers.
- Trailblazers - A list of startups attempting to solve meaningful problems.
- Awesome Falsehoods - Everything you know is a lie.
- Hacker Laws - Laws, Theories, Principles and Patterns that developers will find useful. (2022).
- Awesome Documentation Tools - Curated list of documentation tools in different languages. API, Architecture, Library and X Documentation. (2018).
- Awesome Self-Reference
- Awesome GitHub Profile Readmes - This repository contains best profile readme's for your reference.
- Awesome Project Boilerplates - Curated list of boilerplates and templates to enhance productivity. Boilerplates for mobile and web apps.
- Awesome SRE - A curated list of awesome Site Reliability and Production Engineering resources.
- Awesome Guidelines - A set of style guides, practices, and methods for each aspect of a program written in that language.
- Awesome Markdown Editors - A collection of awesome markdown editors and (pre)viewers for Linux, Apple macOS, Microsoft Windows, the World Wide Web and more. (2022).
- Awesome Regex - A curated collection of awesome Regex libraries, tools, frameworks and software. The goal is to build a categorized community-driven collection of very well-known resources.
- Dan Craswell's Distributed Systems Reading List - All about distributed systems.
-
Standards
- PEP 0 - Index of Python Enhancement Proposals (PEPs).
- The Base16, Base32, and Base64 Data Encodings
- The HTTP QUERY Method
-
Hardware
-
RFC
-
Data Structures References
-
Organizations
- Write the Docs - Write the Docs is a global community of people who care about documentation.
- Open Compute Project
- Electronic Frontier Foundation - The leading nonprofit defending digital privacy, free speech, and innovation.
-
Programming Languages
Categories
Sub Categories
Software Development
54
Python
36
Linux / Unix / BSD
32
Reverse Engineering & Hardware Hacking
31
Fun Stuff That Doesn't Quite Fit Elsewhere
28
Vintage & Historical
20
Algorithm & Logic References
19
Lists
16
Documentation
15
Network
15
Linux Class
14
Web
12
Databases
9
Microsoft
8
System Development
7
Security
6
Design and UI
6
Mathematics
5
Git / GitHub / GitLab
4
Encryption
4
Data Structures References
4
Standards
3
Places to Find Things
3
DevOps / SRE
3
Organizations
3
What's New?
2
RFC
2
Food and Cooking
2
Hardware
1
Videos
1
Keywords
awesome
8
awesome-list
7
documentation
3
readme-template
2
python
2
resources
2
docs
2
list
2
devops
2
programming
2
postal-addresses
1
papers
1
time
1
typography
1
bsd
1
cheatsheets
1
guidelines
1
hacking
1
hacks
1
howtos
1
linux
1
lists
1
manuals
1
one-liners
1
pentesters
1
search-engines
1
security
1
security-researchers
1
sysops
1
async
1
asyncio
1
git-scraping
1
github
1
github-actions
1
github-api
1
github-stats
1
profile
1
meetup
1
python3
1
readme-md
1
availability
1
capacity-planning
1
alerting
1
incident-response
1
theory
1
monitoring
1
on-call
1
post-mortem
1
postmortem
1
production
1