4 ms·
Am I allowed to reinvent my own protocols? How much time do I have? Will you cover my living expenses in the mean time? If so, sign me up. Edit: I guess you sa
by smaddox 10y ago
Am I allowed to reinvent my own protocols? How much time do I have? Will you cover my living expenses in the mean time? If so, sign me up.
Edit: I guess you said no external libraries, not no manuals/specs. That makes it less fun.
- qwertyuiop924 10y agoYeah, it's got to be a webapp, so that means implementing actual TCP/IP and Ethernet. And you'll probably want to implement a compiler for an HLL (even a rudimentary) one, at some point, before you lose your mind. Then you'll have to implement at least some percentage of the HTTP spec, because you're writing a webapp, remember? However, you don't have to implement an FS or a display module (but you'll probably want to implement a serial monitor). But yeah, if I had the time, I might consider doing this (after I finish my Z80 SBC and actually learn more electronics (the Z80 SBC is a popular enough project that I don't have to do all the circuits myself. And I can do the bare minimum)). This probably doesn't reflect well on me.
- smaddox 10y agoWhy stop at hardware, though? I can imagine the book title now: "FULL Stack: From Electrons to 'Electron'". The first chapter would review basic quantum mechanics and semiconductor physics, MOSFETs, and CMOS gates. The second chapter would review digital logic design and computer architecture. The third chapter would move into compiler and OS theory and design. The fourth chapter would briefly diverge to discuss microwave and fiber optic transmission lines, and the fifth chapter would return to discuss network architectures and communication protocols. The sixth and last chapter would tie it all together with a MVP implementation.
- qwertyuiop924 10y agoThat would be awesome. I would absolutely write this, but I don't have the requisite knowledge. So unless you're willing to wait quite a long time, or for someone else (or, more likely, several someone elses) to pony up, you'll have to make do with NAND2Tetris.
- smaddox 10y agoIf someone would pay me to, I would love to write it. I would definitely need several reference books, but there's nothing in there I couldn't handle given enough time. I could even imagine some people on this site being interested enough to purchase it. I hadn't seen NAND2Tetris before, thanks for that.
- abtinf 10y agoSeriously, it would be enormously fun and educational to do this. A weeklong guided vacation where you start with a pile of electronics and end up with a basic web app.
- qwertyuiop924 10y agoWell, I would start by assembling a Z80 (or 6502)-based machine (because I know the toolchain, it's widely available, and something like an atmel's got so much built in that it almost defeats the point). Then, I would cheat (slightly), by speaking SLIP or PPP down a serial line to a router of some sort, thus avoiding the CAT5e problem. But no more cheating! From there on out, the chip will receive no external assistance of any sort. Or you could just use a newer chip, and avoid this sort of problem altogether.