4 ms·
I oscillate between that feeling and the realization that in software, you usually stay on a layer without never really minding the numerous layers under yours,
by Iv 7y ago
I oscillate between that feeling and the realization that in software, you usually stay on a layer without never really minding the numerous layers under yours, that work flawlessly despite huge complexity.
Transistors don't misfire, CPUs don't miss an operation, firmware invisibly and reliably handle all the internal packets of the motherboard, the screen refreshes millions of pixels every 16 ms. All of this relies on the work of thousands if not millions of people who have never meet each other but whose piece of work communicate flawlessly with each other.
- sjwright 7y ago> Transistors don't misfire, CPUs don't miss an operation (And if they do, that's usually solved by procurement, warranty or is otherwise someone else's problem.)
- cm2187 7y agoAnd all this wonder of technology ruined because a “developper” built a SQL injection vulnerability in the script that runs at the very top!
- SmellyGeekBoy 7y ago> Transistors don't misfire, CPUs don't miss an operation, firmware invisibly and reliably handle all the internal packets of the motherboard, the screen refreshes millions of pixels every 16 ms. All of this relies on the work of thousands if not millions of people who have never meet each other but whose piece of work communicate flawlessly with each other. I don't get it. Is this supposed to be sarcasm?
- rpmisms 7y agoI think it's just a slightly optimistic view of reality.
- jmts 7y agoAs an embedded software engineer, my only response to this is that sometimes I'm surprised anything works at all. Bugs in silicon do exist. Often there's nothing a supplier can do about it. Either you find a different part or find a workaround at a higher level.
- avip 7y agoIn the grand scheme of things, things that work (s.a life) are an unexplainable outlier.
- candiodari 7y agoEven for life one wonders. If you look at life's history. Life gets created, gets to the point where we pretty much have modern bacteria, single celled organisms. That took somewhere between 100 and 300 million years. They conquered the planet and ... And then nothing. There was variation in the cells, sure, but not really all that much (also we can't really tell). As far as we can tell no multicellular life, no great advances, nothing, other than continued existence. No spreading further. No evolution towards more complexity. Muddling along at best. Total pause at worst. 900 million years of it. Maybe more. Why ?
- avip 7y agoAgreed. For a ~2.5 billion years project, the deliverable is not that impressive.
- HeWhoLurksLate 7y agoBut the fact that you're here, conversing on something worldwide is insane.
- phkahler 7y agoThe next major step in evolution was sexual reproduction. That allows different advantageous mutations to be combined into a single organism. In other words, it allows features to evolve in parallel rather than relying on a single lineage to get everything right.
- phreenet 7y ago> Bugs in silicon do exist. Often there's nothing a supplier can do about it. I learned this the hard way with my 1U Intel Atom C2000 series server. Completely bricked due to a bug in the CPU.
- pjc50 7y agoAs others have mentioned, there's a big gulf between "works well enough that you don't notice the problems very often" and "never fails". Screens work OK in the happy normal path, but as soon as you look into things like DisplayPort chaining and HDMI-CEC you find all sorts of incompatibilities. > Transistors don't misfire, CPUs don't miss an operation This relies on a lot of testing. We throw the misfiring ones away at the factory. This may be over half the chips: https://www.pcgamesn.com/amd/zen-2-ryzen-3000-cpu-yield-70-percent https://www.pcgamesn.com/amd/zen-2-ryzen-3000-cpu-yield-70-p... (AMD are doing well at 70% pass rate but Intel are throwing away more than half their dies!) In aerospace or high-alpha-radiation environments, people can use "lockstep" processors (e.g. TI Hercules) that can cope with misfires.
- e_proxus 7y agoI'm pretty sure that e.g. on such a big ship we saw in the video above there are plenty of "misfirings" on a lower level of abstraction: pipes need to be replaced, computers or electronics not working correctly, out of date life saving equipment that needs to be replaced etc. In the end, I feel it's quite comparable to software running on layers of layers of abstraction being maintained by the respective experts in their fields (testing, CPU designers, driver implementers, OS maintainers, etc.).
- Iv 7y agoI never said the work on every layer is easy! Quite the contrary! I know how painful it is to write realtime software so I am in awe that firmware can be written well enough so that you can rely on them as much as we do!
- noonespecial 7y ago>Transistors don't misfire, CPUs don't miss an operation, firmware invisibly and reliably handle all the internal packets of the motherboard Copy and manipulate any large data set on standard desktop and then on a server with ECC ram and compare the results. All that stuff happens and we go through a lot on the high end to mitigate it.
- bzbarsky 7y ago> CPUs don't miss an operation Unfortunately, once you deploy your software at scale you discover that some CPUs do in fact miss operations. See https://bugs.chromium.org/p/chromium/issues/detail?id=968683 https://bugs.chromium.org/p/chromium/issues/detail?id=968683 for example, which has also been observed in Firefox crash telemetry (e.g. see https://bugzilla.mozilla.org/show_bug.cgi?id=1593228 https://bugzilla.mozilla.org/show_bug.cgi?id=1593228 and https://bugzilla.mozilla.org/show_bug.cgi?id=1553380#c2 https://bugzilla.mozilla.org/show_bug.cgi?id=1553380#c2 and so forth). Now CPUs do mostly work; we're talking about single-digit numbers of crashes per day across the thousands of people who run Firefox nightlies. But I wouldn't want to trust a plane's avionics to this particular CPU model, for sure.