-
Notifications
You must be signed in to change notification settings - Fork 0
Recommended reading
Piotr Dybowski edited this page Jul 17, 2018
·
3 revisions
-
An Introduction to Cryptographic Hash Functions
- Very short intro.
- Hashing functions, rainbow tables, salt
-
An Illustrated Guide to Cryptographic Hashes
- Brief explanation with command-line examples and diagrams.
- Hashing passwords, digital signatures, collisions, collision resistance, weaknessess in SHA-1 and MD5.
-
Don’t Hash Secrets
- Hashing and salting. Why a hash on its own is not a good signature (you can easily get a hash of the original input with stuff added at the end). HMAC.
-
Hash Collisions and the Birthday Attack
- Hash collisions, birthday paradox, finding two passwords that hash to the same value (birthday attack).
-
Ethereum White Paper
- General explanation of the blockchain and comparison with Bitcoin.
-
Ethereum: A secure decentralised generalised transaction ledger (yellow paper)
- Highly technical explanation of ethereum internals.
-
Ethereum Documentation
- User guide. Explains history, usage, existing clients, communities, etc.
-
Ropsten To Kovan To Rinkeby: Ethereum’s Testnet Troubles
- Ethereum testnets, past and present: Morden, Ropsten, Kovan, Rinkeby.
-
Technical Introduction to Events and Logs in Ethereum
- Use cases for events: returning values from smart contracts, asynchronous triggers with data, cheaper form of storage.
- Events and logs are the same mechanism, just on different levels of abstraction.
-
The Ethereum-blockchain size will not exceed 1TB anytime soon
- Pruning modes and sync modes in ethereum clients.
- Analysis of disk space requirements in real conditions in various modes.
-
Golem Crowdfunding Whitepaper
- High level explanation of how system is meant to work in its various iterations.
-
Golem Architecture
- Short article explaining how golem will work.
-
A Probabilistic Nanopayment Scheme for Golem
- Paper describing one of the proposed nanopayment systems for Golem (the one based on lottery).
- Django documentation
-
Django Migrations and How to Manage Conflicts
- Conflicts between migrations and resolving them: merge, rollback+remigration, manual modification. Data migrations.
-
Understanding HTTP content negotiation
- How
Content-Type
andAccept
headers should be used in communication over HTTP.
- How
- CPython documentation
- In Python, what is the purpose of
__slots__
and what are the cases one should avoid this?
- Socket programming HOWTO
- (General, Optional) Concurrency is not paralellism
- AsyncIO for the Working Python Developer
- (Optional) Introduction to
asyncio
asyncio
TCP client & server example- Unit Testing AsyncIO code
pytest-asyncio
pytest-asyncio
examples
-
Myths about /dev/urandom
- Long explanation of the differences between
/dev/random
and/dev/urandom
.
- Long explanation of the differences between
-
Extended File Attributes Rock!
- Tutorial that explains setting and reading extended file attributes in Linux.
- Docker documentation
-
Memory inside Linux containers
- Explains why
free
andtop
do not report memory correctly in Docker containers and why Java applications always need to have explicit memory limits set.
- Explains why
- Kubernetes docs
-
Spinning Up Your First Kubernetes Cluster on GKE
- Short tutorial with screenshots.
-
Kubernetes - Understanding Resources
- Resource types (memory, CPU), setting resource limits, difference between
requests
andlimits
, namespace resource limits.
- Resource types (memory, CPU), setting resource limits, difference between
-
Kubernetes Ingress
- Short article with code examples.
- Ingress vs
LoadBalancer
, ingress resources, Traefik.
- The Differences Between Kubernetes and Openshift
- Google Cloud SQL vs Cloud DataStore vs BigTable vs BigQuery vs Spanner
- Using Helm to deploy to Kubernetes
-
Bash Hackers Wiki > Parameter expansion
- Reference with extensive examples.
- Overview of all the syntax variants for referring to variables (
$var
,${var}
,${var#pattern}
and so on).
-
Why not use “which”? What to use then?
- Use
command -v
ortype
instead. - History of
which
, how it works in various shells and its status today.
- Use
- The #! magic, details about the shebang/hash-bang mechanism on various Unix flavours
-
GNU Make Manual (single page)
- Extensive manual.
Everything you need to know to use
Make
.
- Extensive manual.
Everything you need to know to use
-
Rules of Makefiles
- 6 rules of thumb for creating good
Makefile
s.
- 6 rules of thumb for creating good
-
Recursive Make Considered Harmful
- Paper that explains why having a single global
Makefile
leads to a more maintainable build system than having a separateMakefile
in each nested subdirectory.
- Paper that explains why having a single global
- Implementing non-recursive make
- nginx documentation
-
Using DNS for Service Discovery with NGINX and NGINX Plus
- DNS resolution in NGINX,
SRV
records. - Using DNS for service discovery, 5 methods, 2 usable only with NGINX Plus.
- DNS resolution in NGINX,
-
Yii 1.1: X-Sendfile - serve large static files efficiently from web applications
- Explains the mechanism behind
X-Accel-Redirect
header. Yii framework is used as an example but the same concepts apply with Django.
- Explains the mechanism behind
-
How to Serve Protected Content With Django (Without Bogging Down Your Application Server)
- Shows how to efficiently serve large files from Django by using
X-Accel-Redirect
. - NGINX and Django code examples.
- Shows how to efficiently serve large files from Django by using
- Redis documentation
-
Redis’ reliable queue pattern
- Using Redis as a reliable message queue,
BRPOPLPUSH
.
- Using Redis as a reliable message queue,