Poet warriors monkeys? Or Code peasants (码农) according to the Chinese.
Ciro Santilli claims to be one of them.
Much like a pianist plays his piano, a software engineer plays his computer.
This section groups conjectures that are famous, solved or unsolved.
They are usually conjectures that have a strong intuitive reasoning, but took a very long time to prove, despite great efforts.
This technique has managed to determine protein 3D structures for proteins that people were not able to crystallize for X-ray crystallography.
It is said however that cryoEM is even fiddlier than X-ray crystallography, so it is mostly attempted if crystallization attempts fail.
By looking at Figure 1. "A cryoEM image", you can easily understand the basics of cryoEM.
We just put a gazillion copies of our molecule of interest in a solution, and then image all of them in the frozen water.
Each one of them appears in the image in a random rotated view, so given enough of those point of view images, we can deduce the entire 3D structure of the molecule.
Ciro Santilli once watched a talk by Richard Henderson about cryoEM circa 2020, where he mentioned that he witnessed some students in the 1980's going to Germany, and coming into contact with early cryoEM. And when they came back, they just told their principal investigator: "I'm going to drop my PhD theme and focus exclusively on cryoEM". That's how hot the cryo thing was! So cool.
Elliptic curve point addition is the group operation of an elliptic curve group, i.e. it is a function that takes two points of an elliptic curve as input, and returns a third point of the elliptic curve as its output, while obeying the group axioms.
The operation is defined e.g. at en.wikipedia.org/w/index.php?title=Elliptic_curve_point_multiplication&oldid=1168754060#Point_operations. For example, consider the most common case for two different points different. If the two points are given in coordinates:then the addition is defined in the general case as:with some slightly different definitions for point doubling and the identity point.
This definition relies only on operations that we know how to do on arbitrary fields:and it therefore works for elliptic curves defined over any field.
Just remember that:means:and that always exists because it is the inverse element, which is guaranteed to exist for multiplication due to the group axioms it obeys.
The group function is usually called elliptic curve point addition, and repeated addition as done for DHKE is called elliptic curve point multiplication.
Visualisation of elliptic curve point addition
. Source. The BBC 1979-1982 adaptations of John Le Carré's novels are the best miniseries ever made:They are the most realistic depiction of spycraft ever made.
Some honorable mentions:
- Futurama
- S02E15 The Problem With Popplers, see also: animal rights. There has to be prior art on this idea, there has to, can someone please point it out?
- S06E09 A Clockwork Origin
- Rick and Morty before it turned to shit on season 3 had some genius moments:
- S02E04 Total Rickall
- Rick and Morty A Life Well Lived
Bibliography:
- BritishTODO:
- Porterhouse Blue
- Oranges are Not the Only Fruit
- The Prisoner
Too many fun skit videos for Ciro Santilli's taste, but does have some serious derivations in quantum electrodynamics.
This is a good approach. The downside is that while you are developing the implementation and testing interactively you might notice that the requirements are wrong, and then the tests have to change.
One intermediate approach Ciro Santilli likes is to do the implementation and be happy with interactive usage, then create the test, make it pass, then remove the code that would make it pass, and see it fail. This does have a risk that you will forget to test something, but Ciro finds it is a worth it generally. Unless it really is one of those features that you are unable to develop without an automated test, generally more "logical/mathematical" stuff. This is a sort of laziness Driven Development.
List of handbooks open as of 2022 at: www.maths.ox.ac.uk/members/students/undergraduate-courses/teaching-and-learning/handbooks-synopses Kudos, e.g. unlike the physics course of the University of Oxford which paywalled them. 2022 one: www.maths.ox.ac.uk/system/files/attachments/UG%20Handbook%202022.pdf
The Oxford mathematics Moodle has detailed course listings, and most PDFs are not paywalled.
E.g. the 2024 course:
- Year 1: everything seems mandatory:
- Michaelmas Term
- Introduction to University Mathematics
- Introduction to Complex Numbers
- Linear Algebra I
- Analysis I
- Introductory Calculus
- Probability
- Geometry
- Hilary Term
- Linear Algebra II
- Groups and Group Actions
- Analysis II
- Dynamics
- Fourier Series and Partial Differential Equations
- Multivariable Calculus
- Trinity Term
- Groups and Group Actions
- Analysis III
- Statistics and Data Analysis
- Constructive Mathematics
- Michaelmas Term
- Year 2:
- Mandatory big courses:
- Linear Algebra
- Differential Equations 1
- Metric Spaces and Complex Analysis
- long options:
- Rings and Modules
- Integration
- Topology
- Differential Equations 2
- Numerical Analysis
- Probability
- Statistics
- Fluids and Waves
- Quantum Theory
- short options
- Number Theory
- Group Theory
- Projective Geometry
- Integral Transforms
- Calculus of Variations
- Graph Theory
- Mathematical Modelling in Biology
- Mandatory big courses:
- Year 3: pick any 8 courses. Does not say which courses exist in PDF but we can get them from courses.maths.ox.ac.uk/course/index.php?categoryid=814 of the Oxford mathematics Moodle:
- Michaelmas
- B1.1 Logic (2024-25)
- B2.1 Introduction to Representation Theory (2024-25)
- B3.2 Geometry of Surfaces (2024-25)
- B3.5 Topology and Groups (2024-25)
- B4.1 Functional Analysis I (2024-25)
- B5.2 Applied Partial Differential Equations (2024-25)
- B5.3 Viscous Flow (2024-25)
- B5.5 Further Mathematical Biology (2024-25)
- B6.1 Numerical Solution of Partial Differential Equations (2024-25)
- B6.3 Integer Programming (2024-25)
- B7.1 Classical Mechanics (2024-25)
- B8.1 Probability, Measure and Martingales (2024-25)
- B8.4 Information Theory (2024-25)
- B8.5 Graph Theory (2024-25)
- BO1.1 History of Mathematics (2024-25)
- BOE Other Mathematical Extended Essay (2024-25)
- BSP Structured Projects (2024-25)
- Hilary
- B1.2 Set Theory (2024-25)
- B2.2 Commutative Algebra (2024-25)
- B2.3 Lie Algebras (2024-25)
- B3.1 Galois Theory (2024-25)
- B3.3 Algebraic Curves (2024-25)
- B3.4 Algebraic Number Theory (2024-25)
- B4.3 Distribution Theory (2024-25)
- B4.2 Functional Analysis II (2024-25)
- B5.1 Stochastic Modelling of Biological Processes (2024-25)
- B5.4 Waves and Compressible Flow (2024-25)
- B5.6 Nonlinear Dynamics, Bifurcations and Chaos (2024-25)
- B6.2 Optimisation for Data Science (2024-25)
- B7.2 Electromagnetism (2024-25)
- B7.3 Further Quantum Theory (2024-25)
- B8.2 Continuous Martingales and Stochastic Calculus (2024-25)
- B8.3 Mathematical Models of Financial Derivatives (2024-25)
- B8.6 High Dimensional Probability (2024-25)
- SB3.1 Applied Probability (2024-25)
- BO1.1 History of Mathematics (2024-25)
- BOE Other Mathematical Extended Essay (2024-25)
- BSP Structured Projects (2024-25)
- Michaelmas
- Year 4: pick any 8 courses (up to 10 if you're crazy). Does not say which courses exist in PDF but we can get them from courses.maths.ox.ac.uk/course/index.php?categoryid=814 of the Oxford mathematics Moodle:
- Michaelmas
- C1.1 Model Theory (2024-25)
- C1.4 Axiomatic Set Theory (2024-25)
- C2.2 Homological Algebra (2024-25)
- C2.4 Infinite Groups (2024-25)
- C2.7 Category Theory (2024-25)
- C3.1 Algebraic Topology (2024-25)
- C3.3 Differentiable Manifolds (2024-25)
- C3.4 Algebraic Geometry (2024-25)
- C3.7 Elliptic Curves (2024-25)
- C3.8 Analytic Number Theory (2024-25)
- C4.1 Further Functional Analysis (2024-25)
- C4.3 Functional Analytic Methods for PDEs (2024-25)
- C5.2 Elasticity and Plasticity (2024-25)
- C5.5 Perturbation Methods (2024-25)
- C5.7 Topics in Fluid Mechanics (2024-25)
- C5.11 Mathematical Geoscience (2024-25)
- C5.12 Mathematical Physiology (2024-25)
- C6.1 Numerical Linear Algebra (2024-25)
- C6.5 Theories of Deep Learning (2024-25)
- C7.1 Theoretical Physics (C6) (2024-25)
- C7.5 General Relativity I (2024-25)
- C8.1 Stochastic Differential Equations (2024-25)
- C8.3 Combinatorics (2024-25)
- CCD Dissertations on a Mathematical Topic (2024-25)
- COD Dissertations on the History of Mathematics (2024-25)
- Hilary
- C1.2 Gödel's Incompleteness Theorems (2024-25)
- C1.3 Analytic Topology (2024-25)
- C2.3 Representation Theory of Semisimple Lie Algebras (2024-25)
- C2.5 Non-Commutative Rings (2024-25)
- C2.6 Introduction to Schemes (2024-25)
- C3.2 Geometric Group Theory (2024-25)
- C3.5 Lie Groups (2024-25)
- C3.6 Modular Forms (2024-25)
- C3.9 Computational Algebraic Topology (2024-25)
- C3.10 Additive Combinatorics (2024-25)
- C3.11 Riemannian Geometry (2024-25)
- C3.12 Low-Dimensional Topology and Knot Theory (2024-25)
- C4.6 Fixed Point Methods for Nonlinear PDEs (2024-25)
- C4.9 Optimal Transport & Partial Differential Equations (2024-25)
- C5.1 Solid Mechanics (2024-25)
- C5.4 Networks (2024-25)
- C5.6 Applied Complex Variables (2024-25)
- C6.2 Continuous Optimisation (2024-25)
- C6.4 Finite Element Method for PDEs (2024-25)
- C7.1 Theoretical Physics (C6) (2024-25)
- C7.4 Introduction to Quantum Information (2024-25)
- C7.6 General Relativity II (2024-25)
- C7.7 Random Matrix Theory (2024-25)
- C8.2 Stochastic Analysis and PDEs (2024-25)
- C8.4 Probabilistic Combinatorics (2024-25)
- C8.7 Optimal Control (2024-25)
- CCD Dissertations on a Mathematical Topic (2024-25)
- COD Dissertations on the History of Mathematics (2024-25)
- Michaelmas
diff3
conflict is basically what you always want to see, either by setting it as the default as per stackoverflow.com/questions/27417656/should-diff3-be-default-conflictstyle-on-git:git config --global merge.conflictstyle diff3
git checkout --conflict=diff3
With this, conflicts now show up as:
++<<<<<<< HEAD
+5
++||||||| parent of 7b0f59d (6)
++3
++=======
+ 6
++>>>>>>> 7b0f59d (6)
7b0f59d
is the SHA-2 of commit 6.instead of the inferior default:
++<<<<<<< ours
+5
++=======
+ 6
++>>>>>>> theirs
We can also observe the current tree state during resolution:so we understand that we are now at 5 and that we are trying to apply our commit
* b4ec057 (HEAD, master) 5
* 0b37c1b 4
| * fbfbfe8 (my-feature) 7
| * 7b0f59d 6
|/
* 661cfab 3
* 6d748a9 2
* c5f8a2c 1
6
So it is much clearer what is happening:and so now we have to decide what the new code is that will put both of these together.
- master changed the code from
3
to5
- our feature changed the code from
3
to6
Let's say we decide it is
5 + 6 = 11
and continue rebasing:git add .
git rebase --continue
We now reach:and the tree looks like:So we understand that:and after resolving that one we now reach:
++<<<<<<< HEAD
+11
++||||||| parent of fbfbfe8 (7)
++6
++=======
+ 7
++>>>>>>> fbfbfe8 (7)
* ca7f7ff (HEAD) 6
* b4ec057 (master) 5
* 0b37c1b 4
| * fbfbfe8 (my-feature) 7
| * 7b0f59d 6
|/
* 661cfab 3
* 6d748a9 2
* c5f8a2c 1
- after the previous step we added commit 6 on top of 5
- now we are adding 7 on top of the new 6 (which we decided would contain
11
)
* e1aaf20 (HEAD -> my-feature) 7
* ca7f7ff 6
* b4ec057 (master) 5
* 0b37c1b 4
* 661cfab 3
* 6d748a9 2
* c5f8a2c 1
Many/most microcontroller boards have analog-to-digital converters built into them, it is very convenient. E.g. it is the case for the Raspberry Pi Pico.
Unlisted articles are being shown, click here to show only listed articles.