Lecture 7
---------
SYMBIOSIS
Biology questions - what seemed particularly confusing?
- swallowing but not digesting?
- eukaryotic vs prokaryotic cells
- endosymbiosis
- microtubules, basal body
- how did prokaryotic cells cooperate?
cells are encapsulated by membranes
- polar/non-polar structures
**---------
^^^ a fat molecule in a membrane (phospolipid)
the ** is the polar head, the ---- is the nonpolar body
polar = has a bit of a charge
nonpolar = neutral (no charge)
Water has a "dipole moment", i.e., has a partial charge
O ---
/ \
H H +++
H has one electron in its outer shell
O has 6
but O wants 8 electrons
- and oxygen is very attractive to electrons
So in a collection of H2O molecules, they will "stick" to each other,
forming structures
Oil & water don't mix because oil is made up of hydrophobic molecules, so they want to be away from water (because they are neutral)
*---- ----* <---- this is a membrane
H2O *---- ----* H2O
*---- ----*
*---- ----*
*---- ----*
*---- ----*
*---- ----*
What happens when one membrane touches another?
- they merge!
phagocytosis
- one cell enveloping another (to eat it)
how is this possible? remember the cytoskeleton
prokaryotes vs eukaryotes
- prokaryotes were the first cells
- basically, bacteria
- very small, no organelles, no nucleus
- DNA is in rings, not chromosomes
- only one membrane, dividing inside and outside
eukaryotic cells are thousands of times larger
- many internal membranes
- many internal structures, "organelles"
- DNA in chromosomes
- VERY complex structures, mix of DNA & proteins
Lynn Margulis says eukaryotic cells are symbiotic combinations of prokaryotic cells
Large software systems are evolved, not designed
Evidence
- large software projects (mostly) fail
- especially when they are to replace existing systems
- how can you say code is designed when nobody understands so much code?
Large code bases don't have requirements
- they just exist, and they either work or they don't
If you add code to your program, why do you trust it to work as it should?
- documentation
- author's reputation
- community validation (is it widely used by others)
- your experience
- one you start using it
How much of the above comes from the code itself?
So how do living systems incorporate code?
Now, we do run untrustworthy code all the time
- on the web
- how is this okay?
- we sandbox the code!
But sandboxing is more of a goal rather than a mechanism
- but we have lots of ways of isolating code
- idea is the limit the effects of the downloaded code
What's a membrane except the cell's sandbox?
- well, a mechanism for sandboxing
But what about if we want to do things that aren't permitted inside the sandbox?
- we give permission and pray it works