# EPF Dev Update #1
- (10/17) Completed Rustlings
- (10/17) Learned Golang
- (10/24) Making CLI Tools
- (10/24) Review execution layer fundamentals
- (10/24) Narrowed down project ideas to two choices
- (10/24) Writing a lecture for a public workshop on the EVM w/ Developer DAO
The last two weeks have been pretty eventful!
## (10/17)
I played a little catch-up with lower level languages (Rust and Go) that are frequently used in developing Ethereum clients and related tooling.
- Rust is a big adjustment relative to Golang, error handling and the borrow checker haunt me a little bit -- crates help with this a bit. The memory safety baked into Rust makes it attractive.
- Go feels pretty similar to Solidity, so it makes me feel quite comfortable.
## (10/24)
This week I realized I had a workshop to teach on the fundamentals of the EVM, so I did a bit of review and read the GETH implimentation. Some resources that I really enjoy on the topic come from:
- [Noxx's substack](https://substack.com/profile/80455042-noxx)
- [Mastering Ethereum (A. Antonoupolus)](https://github.com/ethereumbook/ethereumbook)
- [Peter Robinson's Lecture](https://www.youtube.com/watch?v=RxL_1AfV7N4&t=1s)
- [Ethereum Illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)
- [Go-Ethereum Github](https://github.com/ethereum/go-ethereum/tree/master/core/vm)
I also had an opportunity to learn how to make CLI tools due to Rust's [awesome resources](https://rust-cli.github.io/book/index.html)
The two project ideas are both awesome in their own way, the first is a bit ambitious.
My first idea is an Ethereum-centric linux distro with the goal of:
- Bolstered security for hot keys
- Easy setup for EL + CL clients, choose your own pairings (Light -> Heavy)
- Baked in dev tooling
My second idea is to help with:
- EOF (Ethereum Object Formatting),
- Testing / Benchmarks
## Next Steps:
This upcoming week I will settle on my project and begin a deep dive! I'm leaning towards EOF + testing.
To-do:
[Ipsilon's Post](https://notes.ethereum.org/@ipsilon/evm-object-format-overview)
[EIP-3540](https://eips.ethereum.org/EIPS/eip-3540)
[EIP-3541](https://eips.ethereum.org/EIPS/eip-3541)
[EIP-3670](https://eips.ethereum.org/EIPS/eip-3670)
[EIP-4200](https://eips.ethereum.org/EIPS/eip-4200)
[EIP-2938](https://notes.ethereum.org/@axic/account-abstraction-with-eof)
[EIP-3690](https://eips.ethereum.org/EIPS/eip-3690)
[EIP-4750](https://eips.ethereum.org/EIPS/eip-4750)
[Fun with merkle trees](https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/)
[RLP Serialization](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/)
[Simple Serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/)