A collection of resources that I found useful and interesting across various domains.
- Javascript
- Node.js
- Webpack
- React, Redux
- Elm
- Security
- Crypto
- Rails
- Python
- Docker
- Algorithms
- Internet
- Git
- Linux
- OS Dev
- C
- Ruby
- Haskell
- Go
- Lua
- Elixir
- Database
- Blockchain, Bitcoin
- Machine Learning
- Tor
- Functional Programming
- OAuth
- Docs
- Awesome Lists
- Regex
- Useful Command Line Tools
- Good Resources
- More
- Books
- Papers
- Courses
- Want to learn JS in 2015
- How it feels to learn JS in 2016
- Learning JS in 2017
- Objects in javascript
- Javascript : The Curious Case of Null >= 0
- What is a Promise?
- Lazy, composable, and modular JavaScript
- Advanced JS
- Looking into assembly code of coercion
- How are the Event Loop, Callback Queue, and Javascript’s single thread connected?
- Philip Roberts: What the heck is the event loop anyway?
- The Curious Case of Mobx State Tree
- The Dao of Immutability
- Composing Software **
- What is the Difference Between Class and Prototypal Inheritance?
- What is a Closure?
- Two Pillars of Javascript
- Circular dependencies in JavaScript
- Hoisting in Javascript
- Async-Await
- Await and Async Explained with Diagrams and Examples
- How are the Event Loop, Callback Queue, and Javascript’s single thread connected? *
- Concurrent marking in V8
- JavaScript engine fundamentals: Shapes and Inline Caches *
- Understanding V8’s Bytecode
- How to Fix the ES6
class
keyword - The Modern JavaScript Tutorial
- Elements of JavaScript Style
- The JavaScript Encyclopedia
- Javascript Debugging
- Javascript 3D Game Engines
- Headless Chromium
- Rich JavaScript Applications – the Seven Frameworks
- Angular vs. React vs. Vue: A 2017 comparison
- Object-oriented Programming in vanilla JavaScript
- Modern JavaScript Cheatsheet
- Types in Javascript
- Essential Image Optimization *
- Why does Google prepend while(1); to their JSON responses?
- Under the hood ReactJS
- Thinking in React
- Redux
- React.js Conf 2015 - Immutable Data and React
- Full Stack Redux Tutorial
- Paul O Shannessy - Building React From Scratch
- React Implementation Notes
- React Internals
- Blind SQL Injection Exploit
- SSL Strip
- SQL Injection
- Binary Exploitation
- SQL Attack Constraint Based
- Buffer Overflow Attack
- DNS Reconnaissance – DNSRecon
- What is a DDoS Attack?
- SSRF
- CTF Wiki
- Sites to practice InfoSec Skills
- Write-ups for CTF's - (Refer only if you are really stuck solving CTF questions)
- CVE-2016-4484: Cryptsetup Initrd root Shell
- Securing API with OAuth 2.0
- CTF Field Guide
- Owasp
- How To Become A Hacker
- Modern CSRF
- Buffer Overflow
- Why shouldn't we roll our own?
- Sometimes HTTP > HTTPS
- Tale of a DDoS
- Security list for fun and profit
- Radare 2 Book
- Project Zero
- What “hacking” competitions/challenges exist?
- SQL Injection Cheat Sheet
- Shodan
- Kerberos: The Network Authentication Protocol
- Reverse Shell Cheat Sheet *
- How to securely hash passwords?
- Use bcrypt
- Beware of strncpy() and strncat()
- A SELF-STUDY COURSE IN BLOCK-CIPHER CRYPTANALYSIS
- https://insomnihack.ch/wp-content/uploads/2016/01/Hacking_like_in_the_movies-Teaser.pdf
- https://www.vulnhub.com/
- https://sakurity.com/
- https://io.netgarage.org/
- Cipher Tools
- Crypto Challenges
- So, You Want To Learn To Break Ciphers
- Alice & Bob : A History of The World’s Most Famous Cryptographic Couple
- Implementing AES
- A Stick Figure Guide to the Advanced Encryption Standard (AES)
- https://cryptoservices.github.io/archives/
- https://www.tutorialspoint.com/cryptography/index.htm
- RoR Tutorial
- Developing Games With Ruby
- APIs on Rails
- Predicting Test Failures
- XSS and Rails
- What makes Rails a framework worth learning in 2017
- Python Memory Management
- Making Photos Smaller
- PDF Diff
- The Python Language Reference
- Automate the Boring Stuff with Python
- Docker Internals
- Understanding Docker Internals
- Docker Secure Deployment
- Docker Curriculum
- Docker Cheatsheet#F
- Complexity of Python Operations
- Essentials of Machine Learning Algorithms
- Heap Algorithm
- Data Structures
- https://github.com/coells/100days
- Linked lists are still hard
- Know Thy Complexities!
- Understanding Dijkstra's Algorithm
- How to think in graphs
- Apache vs Nginx
- Nginx Web Server Security Hardening
- Secure Nginx with SSL Certificate
- Web Cache - Everything you need to know
- The C10K problem
- Cache Docs
- 10 Tips for 10x Application Performance
- nginx
- IPFS
- HTTP
- Analysis of HTTP Performance
- Capturing HTTP Packets
- FTP: File Transfer Protocol
- HTTP is obsolete. It's time for the Distributed Web
- How does SSL/TLS work?
- Locust
- Web Bloat
- Let's code a TCP/IP stack
- Paper review. IPFS: Content addressed, versioned, P2P file system
- Load Balancing
- What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?
- The future of the open internet
- What happens when...
- A New Internet for Decentralized Apps
- How Wi-Fi Works
- Let 'localhost' be localhost
- Nothing To Hide**
- Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing
- How Does the Internet Work?
- EFAIL
- The Law of Leaky Abstractions
- http://toolboard.org/web-development-and-design-tools/
- http://youbroketheinternet.org/
- How WebSocket server handles multiple incoming connection requests?
- A cartoon intro to DNS over HTTPS
- Don't publicly expose .git
- Making Commit in past
- A Successful Git Branching Model
- Git in 2016
- Oh shit, git!
- Git from the inside out
- YOU'RE USING GIT WRONG
- What’s Wrong With Git? - Git Merge 2017
- Git Aliases of the Gods!
- High-level Problems with Git and How to Fix Them
- Git Submodules
- Git from the bottom up
- Advanced Git Commands You Will Actually Use
- Git Memo
- Commit Often, Perfect Later, Publish Once: Git Best Practices
- Rebase with history -- implementation ideas
- Git team workflows: merge or rebase?
- GIT introduction – .git directory
- Linux Kernel Exploitation
- Kernel Map
- Linux Insides
- Dirty Cow
- Bash Guide for Beginners
- Bash Guide
- Bash Shell Scripting
- Writing a Unix Shell
- Writing Shellcode
- Shellcoding
- Linux Bridge
- chmod Tutorial
- Linux Tracing Systems
- File System Hierarchy
- UNIX / LINUX Cheat Sheet
- Linux tracing systems
- BPF: Tracing and More
- Automate linux system maintenance tasks
- Orphan vs Zombie vs Daemon Processes
- Interactive Vim Tutorial
- Vim Galore
- Rute User's Tutorial and Exposition
- Explaining Dirty COW local root exploit - CVE-2016-5195
- inetd Vs xinetd in linux
- Vim Cheatsheet
- Shellcoding for Linux and Windows Tutorial
- Writing Shellcode
- Creating a bash completion script
- Linux Firewall Tutorial: IPTables Tables, Chains, Rules Fundamentals
- The Lost Art of the Makefile**
- rm -rf remains
- Containers in 500 lines
- What happens when you start a process on Linux?
- Security Tips for Linux Servers
- The Unix and Internet Fundamentals HOWTO **
- Simplify Your Life With an SSH Config File
- How does the system shutdown of a linux kernel work internally?
- Documentation extracted from the Linux kernel
- The Linux Kernel documentation
- Three kinds of memory leaks
- Linux PAM
- The Unix and Internet Fundamentals HOWTO
- The Definitive Guide to Linux System Calls *
- Using PAM
- grep your way to freedom
- Iptables
- Running Untrusted Programs in Linux
- The real power of Linux executables
- Writing a simple rootkit for linux
- Do sudo and .profile/.bashrc enable trivial privilege escalation?
- x86 Assembly Guide *
- The Linux Kernel Module Programming Guide
- Operating Systems Lecture Notes
- Kernel 101 – Let’s write a Kernel
- Kernel development
- Computer architecture for network engineers
- Building a simple Kernel
- Lightweight HTTP Server
- Understanding C by learning assembly **
- gdb Debugging Full Example (Tutorial): ncurses
- GDB: The GNU Project Debugger
- Smashing The Stack For Fun And Profit
- GNU Make: A Program for Directing Recompilation
- NCURSES Programming HOWTO
- Make your own build system
- Malloc tutorial
- Let's Build a Compiler, by Jack Crenshaw
- Back to Basics
- The GNU C Library
- Tearing apart printf() **
- Ruby Programming
- * in Ruby
- Metaprogramming in Ruby
- Visualizing Your Ruby Heap
- 7 Deadly Sins of Ruby Metaprogramming
- Ruby vs. The World
- Official Documentation
- How to learn Haskell
- Fighting spam with Haskell *
- Huge list of videos, talks, courses for Haskell programming language
- Happy Learn Haskell Tutorial
- Some Notes About How I Write Haskell
- Learn You a Haskell for Great Good!
- Tour of Go
- Go by example
- RESTful routing in Go
- Effective Go
- Go Programming Video
- Go for Javascript Developers
- Network Programming with Go
- Interfaces in Go
- How Goroutines Work
- Concurrency is not Parallelism *
- Building Web Apps with Go
- MVC Framework for Go
- A lightweight MVC framework
- Why I Love Golang
- Why Go
- Resources for new Go programmers
- A Million WebSockets and Go
- The Way of the Gopher
- The Case For Go
- TCP/IP Networking in Go
- 5 things about programming I learned with Go
- Profiling Go
- Learning Go as a Node.js Developer
- HTTPS and Go
- Applied Go
- Hello Go!
- Concurrency in golang and a mini Load-balancer
- Golang Has Generics
- Golang channels tutorial
- Programming in Lua (first edition)
- Nginx image processing server with OpenResty and Lua
- Learn Lua in 15 Minutes
- Creation of a complete game with Lua and LÖVE
- Secure PostgreSQL
- Sharding
- SQL vs NoSQL
- What are Master and Slave databases?
- Principles of Sharding for Relational Databases
- Build a simple database
- Five ways to paginate in Postgres, from the basic to the exotic
- One Giant Leap For SQL: MySQL 8.0 Released *
- MongoDB is to NoSQL like MySQL to SQL — in the most harmful way
- [https://eng.uber.com/mysql-migration/](Why Uber Engineering Switched from Postgres to MySQL)
- Bitcoin Resources
- Blockchain: the revolution we’re not ready for
- How Bitcoin Transaction Works
- How Bitcoin Works Under the Hood
- Bitcoin Wiki
- Bitcoin, Ethereum, Blockchain, Tokens, ICOs
- Using the raw Bitcoin protocol
- Bitcoin mining the hard way
- EthList: The Crowdsourced Ethereum Reading List
- CryptoEconomics
- Emails from Satoshi Nakamoto to Hal Finney
- Quantifying Decentralization
- Building Blockchain in Go
- The Blockchain Dictionary
- Bitcoin Resources
- Is CPU mining even worth the Ether?
- Nativecoin - build your own crypto-currency
- Research problems: Ten ways to discover Tor bridges
- Selected Papers in Anonymity
- Onion Router
- Handling bot attacks against a Tor hidden service
- Anti-Censorship & Transparency - Roger Dingledine
- What is Functional Programming ?
- Functional Programming Jargon
- What is a Functional Composition
- What is Pure function ?
- Functional Programming
- So You Want to be a Functional Programmer
- Practical Functional Programming
- Mostly Adequate Guide to Functional Programming *
- An Introduction to OAuth 2
- The OAuth 2.0 Authorization Framework RFC
- OAuth 2 Client
- OAuth 2.0 Server
- Ruby vs Python
- Weapon of Mass Destruction
- MooTools
- Developer resources for desktop apps
- Will JavaScript frameworks take over Rails ?
Curated list of good resources shared on github
- Awesome Security
- Awesome Reversing
- Awesome Sec talks/videos
- Awesome Docker
- Awesome Python
- Awesome Courses
- Awesome Hacking
- Awesome Ruby
- Awesome Microservices
- Awesome Go
- Awesome REST
- Awesome Cheatsheet
- Awesome Guidelines
- GitHub Cheat Sheet
- Awesome Security Gists
- Awesome Web Security
- https://github.com/Hack-with-Github/Awesome-Hacking
- tldr
- Rofi: A window switcher, application launcher and dmenu replacement
- fd: A simple, fast and user-friendly alternative to find
- SCM breeze: Adds numbered shortcuts to the output git status, and much more
- Pass: Simple password manager using gpg and ordinary unix directories
- peerflix
- https://lemire.me/blog/
- http://arjunsreedharan.org/
- https://jvns.ca/
- https://githubengineering.com/
- http://nullprogram.com/index/
- https://zwischenzugs.com/
- https://mkdev.me/en/posts
- http://www.uliaea.ca/
- https://blog.cloudflare.com/
- https://blog.cryptographyengineering.com
- http://prog21.dadgum.com/
- https://increment.com/programming-languages/ *
- https://blog.filippo.io/
- https://notes.shichao.io/
- Introduction to Distributed System Design
- Raft: Understandable Distributed Consensus
- Password storage in source control
- Global Variables are Bad
- Difference b/w Integration and Unit Tests
- The language of choice
- Learn Anything
- Programmer Competency Matrix
- Markdown Cheatsheet
- Lecture Search
- Hacker's guide to Neural Networks
- CppCon 2015: Greg Law "Give me 15 minutes & I'll change your view of GDB"
- Return to the Source
- Front End Checklist
- A list of everything that could go in the of your document
- Collecting All Cheat Sheets
- Explain Shell
- Design Patterns *
- Ask HN: “Write your own” or “Build your own” software projects
- Software Testing Anti-patterns *
- How Tor Works
- http://openmymind.net/
- http://goyalankit.com/
- https://www.codingforentrepreneurs.com/
- https://www.freecodecamp.com/map
- https://www.learnenough.com/
- https://learnxinyminutes.com/
- https://learncodethehardway.org/
- https://codingsec.net/2016/04/books-artificial/
- https://blog.rpis.ec/
- https://libgen.pw
- A Practical Introduction to Container Terminology
- NSA dump password & Message to Trump released by “TheShadowBrokers”
- Setting up a queue service: Django, RabbitMQ, Celery on AWS
- A Programmable Programming Language
- Constructors Considered Mildly Confusing
- ON-LINE MAN-COMPUTER COMMUNICATION
- Hacker101
- The three types of programmers
- Clojure - the perfect language to expand your brain?
- Leaving Clojure for Ruby
- If Programming languages were harry potter characters
- International Journal of Proof-of-Concept or Get The Fuck Out
- An Introduction to Hashing in the Era of Machine Learning
- https://www.ocf.berkeley.edu/~wwu/riddles/intro.shtml
- http://www.alexkras.com/i-tried-to-virtually-stalk-mark-zuckerberg/
- https://briansteffens.github.io/2017/07/03/google-sheets-virtual-machine.html
- https://github.com/jwasham/google-interview-university
- https://blog.ycombinator.com/ycs-2017-summer-reading-list/
- Beauty of Programming *
- A Mathematician’s Lament