6 ms·
Something to be aware of as a computer person coming into biology: Biology only _looks_ like it has logical constructs, abstraction layers, and general computat
by roughly 3y ago
Something to be aware of as a computer person coming into biology: Biology only _looks_ like it has logical constructs, abstraction layers, and general computational frameworks. When you start working with it, you'll find everything is messier than you expected and everything interacts with everything at every level. There are no abstractions, there are no actual boundaries, and your outputs are subject to evolutionary pressures even when sitting in a flask. Many an engineer has washed aground on the rocky shores of biological indeterminism - it's not a machine, no matter how much it kind of looks like one when you squint at it.
- dullcrisp 3y agoSo just like my codebase then
- alexchamberlain 3y agoComputers only look like they have windows, digital signals and logic gates. It's all just pixels, noisy voltages and imperfect silicon.
- jakeinspace 3y agoSure, but because of the transistor’s nonlinearity (cutoff and saturation regions, for mosfet at least), we get digital logic. Digital logic means that errors don’t accumulate, and that prevents complexity from infecting everything in the computer. We can put neat little abstraction boxes around parts of the SoC, and then do the same with our software. Digital computers are only noisy compared to the simplest processes, like a low rate transmission line. Compared to biological or chemical processes, a digital computer is just ludicrously low-noise, because noise doesn’t propagate unless there is a major fault.
- mgfist 3y agoSounds like many a codebases I've worked on haha
- munificent 3y agoThe I think about it is like this: Code is read and maintained by humans, so it is under selection pressure to be comprehensible by human minds. Reality has no such constraint. If the biological processes of some animal lead to inscrutable irreducibly complex "spaghetti code" but the animal is slightly more likely to produce offspring... the complexity wins. The natural world doesn't care whether or not we can understand it. (There is, of course, a natural selection pressure going the other direction. Brains that understand the natural world do seem to often be generally more likely to produce offspring, so there's evolutionary pressure for minds to understand the world, but not for the world to be understood by minds.)
- bossyTeacher 3y ago> Brains that understand the natural world do seem to often be generally more likely to produce offspring I would argue that the evolutionary pressure only applies to a limited level of understanding of the physical world. Think how many kids people like Stephen Hawkings have and how many poorly educated people have.
- sjfjsjdjwvwvc 3y agoOn the other hand I would argue that evolutionary pressure works differently for modern humans in the 20th century and beyond than it did for the majority of human evolution. Sure uneducated people now often have more kids due to less contraception options/knowledge and as old age insurance. But then again rich people have more kids than middle class because of well more money and everything that comes with it. In any case all of this is anecdotal and emotion based because there is not much good data on this. Or maybe there is?
- bossyTeacher 3y ago> rich people have more kids than middle class Do they? I am pretty sure that the vast majority of the human population is poor and not just "I can't afford an iPhone poor" but "I have no food on the table" poverty. The rich are but a tiny minority. In terms of reproduction, poor people win easily. Last time I check, rich people are more likely to be highly educated compare to anyone else and education is a predictor of reproduction rate (more education and less reproduction and less education and more reproduction).
- sjducb 3y agoAs a biologist who moved into software engineering I love working with actual machines. You can think of a design, build it and have it work as you expect. You can’t do that in biology. The reason is that we “understand” how computers work. Our understanding of biology is nowhere near that level. A high percentage of established knowledge is wrong or so incomplete that it’s not useful for designing new systems. This is hard for engineers or even scientists from physics and chemistry to accept.
- roughly 3y agoI think another reason is that biological systems are _fantastically_ complicated - for example, we're finding that the spatial distribution of molecules within the cell affect enzymatic processes in ways that may have implications for alzheimer's and dementia. For another, there's various bacterial communities where, if you want to trace the enzymatic pathway for a particular product, you're jumping between species in the community, and not just once - that particular product is the result of multiple distinct enzymatic pathways in multiple different organisms (and whatever else exists in the environment outside the cell). I've been a software engineer for 20 years now, I don't underestimate the complexity of computer systems or software - I think the number of people in the world who could really accurately describe every part of every system involved in showing you this note to you is maybe ten - but we've got nothing on biological systems.
- sjducb 3y agoI agree that biology is fantastically complicated. When I say we “understand” everything that matters about a computer; I don’t mean one person understands. I mean each important part is understood by at least one person. Together humanity understands everything important about a computer.
- afhfah834 3y ago[dead]
- pezo1919 3y agoWondering if there would be an "easier" way to express something in biology/evolution, then the evolution would (already) compressed it like that. Maybe by definition: current existing things in evolution are not "more compressable" (for us) without losing meaning? (Their meaning could be estimated though through -leaky- abstractions?)
- bossyTeacher 3y agoI would argue that it is only messy because we are looking at the wrong level of abstraction with an incorrect computational model. At the end of the day, if it has inputs and produces outputs, it is a computing device (i.e. a computer).
- __loam 3y agoSeems like an overly broad definition. A pizza oven has inputs and outputs but you would probably struggle to find someone willing to call it a computer.
- bossyTeacher 3y agoDoes it? A button is not equivalent to an input anymore than pulling down a level that initiates a process that culminates in the lighting of a candle.
- BenjiWiebe 3y agoYou put pizzas in and get pizzas out.
- bossyTeacher 3y agoJust because you placed an object x inside an object y does not make y a computer -_- Computing is about data
- __loam 3y agoWe're using the definition you gave.
- bossyTeacher 3y agoI said input though not "anything"
- SilasX 3y agoYep -- there was a thread a while about whether a biologist could reverse-engineer a radio, and I made the comment that electronics are designed to keep the various functions nicely decoupled, while biological systems aren't/don't, because they optimize for something else, leading them to bleed state across the entire system: https://news.ycombinator.com/item?id=32048972 https://news.ycombinator.com/item?id=32048972 (Also links to previous discussions on this theme.)
- ilamont 3y agoThe assumption that biological systems can be easily programmed or engineered has led to a lot of wasted Silicon Valley capital, misguided movements like "biohacking" and outright fraud, ranging from bogus supplements to devices promising better physical or mental health (search for "quwave defender" on Amazon or Google for one particularly noxious example).
- foobarian 3y agoSo, basically like the legacy code base at any large enterprise :D
- codethief 3y agoYears ago, someone here on HN compared evolution of the DNA to the evolution of large-scale code bases. This really stuck with me. One example that was brought up was: There is no single region in the DNA that's responsible for the human eye. More generally: The mapping between phenotype and genotype tends to be fuzzy and the individual role and impact of genes is often unclear. Now in a somewhat similar way, in large code bases the mapping between features and code can also become fuzzy, and the role of a single line of code can be surprising. There can be side effects and a ton of implicit/hidden dependencies across the code base, maybe even spooky action at a distance. As a result, product features will no longer be confined to individual code files or modules. Rather, their exact logic will spread out all across the code base, and a single line of code can affect many features at once.
- Affric 3y agoBiology being my first love I think what really leads non-biology based scientists, engineers, designers, artists, and people generallyastray is that they can’t liberate their mind from their top down all seeing perspective. Teleological matter are the machines you get when the vast majority of the form cannot be designed.