Code Monkey home page Code Monkey logo

awesome-reading-list's Introduction

Awesome Reading List

Awesome GitHub last commit lint CC0

"First – I’m very tired of posts that complain about how people are “wrong” about how a given piece of technology works without explaining why it’s helpful to be “right”." --Julia Evans

Articles, blog posts, web apps, videos, and other tidbits of STEM related awesomeness that can be read over a lunch break. Curated and opinionated, I have and continue to add things over time when I find them particularly useful, unique, or entertaining. Never stop learning.

Contents

BUY ME A COFFEE

I love teaching others and seeing the community grow. Time is limited but donations will allow me to to help the community more. How useful was this to you? If it was I would be humbly grateful for your donation.🙏

PayPal - to help me help you better.

Thank you! May you be rich as Crassus and happy as Buddha! :)


main() {

This list is loosely organized into categories, not everything fits neatly and I have in cases chosen arbitrarily. Articles within sections are organized alphabetically. All links to other lists can be found under Reference Materials.

The format for an entry is:

- Article Link - A brief description. (time to read, publication date).

The time to read is based on the median between a reading speed of 183 words per minute (wpm) and 234 wpm from The Read Time.

Contributions are welcomed, please read the guidelines for doing so.

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).

Databases

  • Data Denormalization is Broken - Why it’s impossible to write good application-layer code for everyday business logic. (20 minutes, 2016).
  • 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).
  • 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).
  • The Ultimate SQLite Extension Set - Something like a standard library in Python or Go, only for SQLite. (3 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's and ULID's - What UUIDs and ULIDs are under the hood, and how to encode and use them. (15 minutes).
  • UUID to UTF-8 in Ruby - Ruby script to Convert a UUID to UTF-8 encoding to visually shorten.

Design and UI

Rule #0: Be awesome to one another and party on.

DevOps / SRE

  • 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).
  • 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).

Documentation

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).

Food and Cooking

Fun Stuff That Doesn't Quite Fit Elsewhere

  • 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.
  • 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.
  • 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.
  • 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.
  • 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 bad is QWERTY really? - One man's journey to deal with RSI.
  • How GPS works - Interactive website detailing how GPS actually works.
  • 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?
  • The first Intel fab - A little history of Intel's early years. (3 minutes).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • jstrieb/github-stats - Pretty print your projects' most used languages.
  • 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).

Linux / Unix / BSD

  • 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).
  • A Survey of UNIX init schemes - (June 2007) This document describes existing solutions that implement the init process and/or init scripts in Unix-like systems. These solutions range from the legacy and still-in-use BSD and SystemV schemes, to recent and promising schemes from Ubuntu, Apple, Sun and independent developers.
  • 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.
  • debootstrap - CLI debootstrap is a tool which will install a Debian base system into a subdirectory of another, already installed system.
  • dm-verity - Device-Mapper’s “verity” target provides transparent integrity checking of block devices using a cryptographic digest provided by the kernel crypto API.
  • 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.
  • 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.
  • 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?

Linux Class

More focused on learning practical *nix skills than the above section.

  • chroot - On Unix-like operating systems chroot is an operation that changes the apparent root directory for the current running process and its children.
  • Get Hardware Info - How to find your hardware specs.
  • Hard & Soft Links - What are the different types of file links and when should you use them?
  • 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.
  • Quick Grep - Cheatsheet for grep, the CLI tool for searching text.
  • rclone: From Basics to Encryption - Your zero-to-hero guide getting started with rclone.
  • Simple awk - A quick reference to the AWK scripting language.
  • Special Characters in BASH - Why do you sometimes see characters like ~ or * in commands? What do they mean?
  • 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.
  • Useful Sed - Useful sed tips, techniques and tricks for daily usage.
  • 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.
  • X11: Disable Cursor - When working with touch-screen interfaces or embedded systems you often don't want or need the mouse cursor.

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)

Microsoft

Network

  • 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).
  • 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).
  • 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).
  • Is It DNS? - Quickly check if your problem is caused by DNS or not. (2022).
  • Mess with DNS - Gives you a subdomain and DNS server to play with it online. (2022).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).

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 Genesis - A shadow library website for scholarly journal articles, academic and general-interest books.
  • Library Thing MDS - Find books by selecting narrowing topics of interest.

Python

Reverse Engineering & Hardware Hacking

Security

Software Development

System Development

Videos

Vintage & Historical

Web

}


Reference materials

Algorithm & Logic References

Data Structures References

Hardware

Lists

  • Awesome Docs - A curated list of awesome documentation tools. (2022).
  • Awesome Documentation Tools - Curated list of documentation tools in different languages. API, Architecture, Library and X Documentation. (2018).
  • Awesome GitHub Profile Readmes - This repository contains best profile readme's for your reference.
  • Awesome Guidelines - A set of style guides, practices, and methods for each aspect of a program written in that language.
  • Awesome Falsehoods - Everything you know is a lie.
  • 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 Project Boilerplates - Curated list of boilerplates and templates to enhance productivity. Boilerplates for mobile and web apps.
  • Awesome Self-Reference
  • Awesome SRE - A curated list of awesome Site Reliability and Production Engineering resources.
  • 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.
  • Hacker Laws - Laws, Theories, Principles and Patterns that developers will find useful. (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.

Organizations

Standards

RFC

Follow

Who else should we be following!?

Contributing

Contributions of any kind welcome, just follow the guidelines!

Contributors

Thanks goes to these contributors!

awesome-reading-list's People

Contributors

eannewton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.