5 ms·
Classic. By the way, the same applies to software: If any developer can say they're "full-stack" without further specification (i.e, they're full-stack everyth
by qwertyuiop924 10y ago
Classic.
By the way, the same applies to software: If any developer can say they're "full-stack" without further specification (i.e, they're full-stack everything) with a straight face, than they should be punished by being given $200 or less of electronic components and a processor of their choice, and asked to make a webapp. No external libraries, that's cheating. Maybe give them an assembler if you start feeling sorry for them.
- smaddox 10y agoAm 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.
- shuntress 10y agoThat's insane. They should also have to manufacture the processor themselves and 'electrical components' themselves. Don't forget all the material that goes in to the keyboard and screen. And how are they going to generate an electricity to power it once they have it set up?
- soreal 10y agoI think you're misunderstanding the meaning of 'stack' in "full-stack". The 'stack' in full-stack refers to a solution stack. You can read about them here: https://en.wikipedia.org/wiki/Solution_stack https://en.wikipedia.org/wiki/Solution_stack The terminology full-stack is meaningful to discern between an expert at one part of the stack and someone who knows how to set up and manage all parts of the stack. For example, consider the LAMP stack: Linux Apache MySql PHP A Full-Stack developer is someone who knows enough Linux to set up an Apache server and MySql database, enough MySql to create a database, enough PHP to render a decent web page. On the other hand, a frontend developer knows the gritty details about how to render a beautiful and performant webpage that works on IE6, iPhones on 2G and your 4k monitor.
- qwertyuiop924 10y agoI said if you say "full-stack" and don't qualify it, thus implying that you're a full-stack everything.
- novembermike 10y agoOnly if the listener is an idiot.
- qwertyuiop924 10y agoCute. Short, witty, and to the point, with humourous undertones, but maintaining the barbs of the insult, as the implications rapidly become clear. However, such a quick, "fuck that guy, amirite?" type insult is so common that it's become boring, especially amongst programmers, who have gotten a lot of practice insulting each other over the internet in the past however-many decades: our culture has adjusted accordingly, and the bar has been raised on effective insults. You can tell what is an ineffective insult, because the recipient will immediately turn around and mock you. You know, like I'm doing now. Overall, I rank this insult a pitiful 3/10.
- gridspy 10y ago
- wyldfire 10y ago$200? All they need is butterflies. http://xkcd.com/378/ http://xkcd.com/378/
- qwertyuiop924 10y agoBut Butterflies have no IO support, which is mandatory in webapps.
- detaro 10y agoI would call a hurricane a type of "output". And your house might be "input" to it.
- qwertyuiop924 10y agoBut I'm pretty sure hurricanes aren't HTTP/1.1 compliant.
- pjc50 10y agoI have occasionally said this about myself as a joke, as I think I'm one of the few people that's actually worked on every element of that stack at some point in my career. Including a restricted subset of TCP/IP in Verilog. I mean, if you really want to make it a challenge then don't give them a processor, give them some large sheets of acetate and some coloured tape. (I was going to include a picture of the 6502 rubylith for that last para, but found this amazing anecdote instead: https://hardware.slashdot.org/comments.pl?sid=1939704&cid=34787752 https://hardware.slashdot.org/comments.pl?sid=1939704&cid=34... )