Building an e-bike battery from some random trash is a terrible idea. You won't electrocute yourself, but you are very likely to burn down your house when one of these cells randomly decides to ignite.
I'm a senior software developer interested in low-level, performance, algorithms. I built a custom computer (including a CPU) from scratch and a C11 compiler for it. Please hit me up with jobs in Rust, C or C++.
For though-hole components which I use with my breadboard and for small bolts, nuts and washers I have glued together a few dozen matchboxes and inscribed them with component description.
For SMD resistors/capacitors I use an organizer box. Components within a certain range go into the same compartment together. For example, I have three compartments for resistors: ≤1k, 1k..≤10k, >10k.
SMD ICs are all in one box, each type in its own plastic bag, inscribed.
I also have a registry of everything I have. When I buy or use something, I update the registry.
If you have a public HTTP server somewhere, you can check its access logs. You'll find a lot requests which try to exploit remote code execution vulnerabilities of some CMS or router firmware.
You can replace the controller board all together, the electrical interface should not be that hard. You have to spin the spindle, jiggle the heads and send/receive the data. The main problem I see here is that modern hard drives have enormous, unimaginable information density. There must be so many tricks how they achieve that (and do that reliably!). You have to re-trace the steps the hard drive industry has made in the last 50 years.
I have a CS/applied math background, my main job is software development, so I don't have problems with the software part. If you are interested in compiler design specifically, you can find a lot to read or to watch online.
When building my system, I was inspired by 8 bit retro computers like ZX Spectrum. Their architecture is straightforward and easy to understand.
Electronics just fascinates me, but I can't really point out a single source which gave me the insight. A lot of playing around with transistors, microcontrollers, logic gates gives the intution how to design stuff.
I'm sending my long frames out to the network and no OS I have has any problem with that. I've read somewhere that long frames are actually used by some routers to store metadata after the packet.