Four short links: 1 Dec 2020
AlphaFold, Purpose-First Programming, 2000 to 2020, and 3D in DNA
- AlphaFold — This is astonishing: protein-folding solved by Google’s DeepMind. Figuring out what shapes proteins fold into is known as the “protein folding problem”, and has stood as a grand challenge in biology for the past 50 years. In a major scientific advance, the latest version of our AI system AlphaFold has been recognised as a solution to this grand challenge by the organisers of the biennial Critical Assessment of protein Structure Prediction (CASP). And from Science: The organizers even worried DeepMind may have been cheating somehow. So Lupas set a special challenge: a membrane protein from a species of archaea, an ancient group of microbes. For 10 years, his research team tried every trick in the book to get an x-ray crystal structure of the protein. “We couldn’t solve it.” But AlphaFold had no trouble. It returned a detailed image of a three-part protein with two long helical arms in the middle. The model enabled Lupas and his colleagues to make sense of their x-ray data; within half an hour, they had fit their experimental results to AlphaFold’s predicted structure. “It’s almost perfect,” Lupas says. “They could not possibly have cheated on this. I don’t know how they do it.” Far more useful (and to me, more impressive) than AlphaGo.
- Purpose-First Programming — Some students resist the cognitively-heavy tasks of simulating program execution. The secret to teaching those folks to program may be “purpose-first programming”: She used Github repositories and expert interviews to identify a few programming plans (just like Elliot Soloway and Jim Spohrer studied years ago) that were in common use in a domain that her participants cared about. She then taught those plans. Students modified and combined the plans to create programs that the students found useful. Rather than start with syntax or semantics, she started with the program’s purpose. Very reminiscent of the late 90s Perl and PHP copy-and-change coding boom that got orders of magnitude more people programming than were coming through CS courses at the time.
- Conversations with The Year 2000 — Paul Ford is a genius.
’00: How does HTML work now?
’20: It’s pretty simple, you define app logic as unidirectional dataflow, then fake up pseudo-HTML components that mirror state, and a controller mounts fake-page deltas onto the browser surface.
’00: How do you change the title?
’20: You can’t.
- cube3d.dna — A raytracer implemented in DNA. How to deploy: (1) Synthesize the oligonucleotides from the cube3d.dna file. (2) Arrange the test tubes as shown in the diagram below. (3) Don’t forget to provide the initial concentrations according to the table below. (4) Use a pipette to encode the position (row and column) of each tube to start the computation.