Last active
February 19, 2022 02:21
-
-
Save snarkyboojum/691a4da672104ebd056b40bce1de0aec to your computer and use it in GitHub Desktop.
Tinkering todo list
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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