Skip to content

Instantly share code, notes, and snippets.

@snarkyboojum
Last active February 19, 2022 02:21
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save snarkyboojum/691a4da672104ebd056b40bce1de0aec to your computer and use it in GitHub Desktop.
Save snarkyboojum/691a4da672104ebd056b40bce1de0aec to your computer and use it in GitHub Desktop.
Tinkering todo list
Blockchain:
- Read through Ethereum 1.0 and 2.0 whitepapers
- Read Uniswap v2 and v3 whitepapers
- Read about proof of stake and proof of staked authority consensus systems
- Build a blockchain analysis and visualisation tool
- Analyse Etherum history and draw conclusions about scale / adoption / gas fees / congestion
- Analyse PoSA models and look at scale / congestion / cost characteristics
- Design a scalable blockchain with general compute capability
Computational neuroscience:
- Work through 'Theoretical Neuroscience', https://www.amazon.com.au/Theoretical-Neuroscience-Computational-Mathematical-Modeling/dp/0262541858
- Build libraries in Rust to implement computational models in TNCMM (above)
- Implement on scalable blockchain (above)
Fixing:
- Fix Flamegraph-rs to work properly on Windows 10 with dtrace
Crypto:
/- Finish AES-128 decrypt
/- Build an SHA-512 implementation
/- Build a HMAC-SHA512 implementation
/- Build a PBKDF2 implementation based on the HMAC-512 work
/ Build a GCM mode for AES-128
- https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
- https://tools.ietf.org/html/rfc5116
/- Build a SHA-256 implementation
(Optional)
- Build a SHA-384 implementation
- Build an AES-256 implementation (and get GCM mode working for it too)
This should complete implementations for the TLS_AES_128_GCM_SHA256 and TLS_AES_256_GCM_SHA384 cipher suites
/- Build an HKDF function
- https://tools.ietf.org/html/rfc5869
- Implement the X25519 key exchange algorithm (default on Chrome for example)
- https://tools.ietf.org/html/rfc8410
- https://tools.ietf.org/html/rfc7748
- https://cryptography.io/en/latest/hazmat/primitives/asymmetric/x25519/
- https://cr.yp.to/ecdh/curve25519-20060209.pdf
- Implement the secp256r1 (NIST P-256) key exchange algorithm? :|
- https://www.ietf.org/rfc/rfc5480.txt
- Implement rsa_pkcs1_sha256, rsa_pss_rsae_sha256 and ecdsa_secp256r1_sha256 digital signatures
- Get the DH 1.3 handshake working
- https://blog.cloudflare.com/rfc-8446-aka-tls-1-3/
- Look at implementing TLSv3
- https://tools.ietf.org/html/rfc8446
Graphics:
/- Build a simple ray tracer - https://raytracing.github.io/books/RayTracingInOneWeekend.html
- Build a Vulkan renderer in Rust (really basic)
- Build an OpenGL renderer in Rust (really basic)
Astronomy:
- Make FITS parser more complete
- Build a "plate solver in Rust", e.g. astrometry solver
- Build a GOTO solution in Rust
General tinkering/learning:
- Work through https://docs.rust-embedded.org/discovery
- Using, https://au.mouser.com/ProductDetail/STMicroelectronics/STM32F3DISCOVERY
- and, https://www.sparkfun.com/products/9873
Maths / number theory:
- Pi generator, and then a program looking for self locating numbers, and then loops through Pi.
- https://www.youtube.com/watch?v=W20aT14t8Pw
- Maybe use https://en.wikipedia.org/wiki/Chudnovsky_algorithm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment