Artificial gene synthesis Updated 2025-07-16
Using de novo DNA synthesis to synthesize a genes to later insert somewhere.
Note that this is a specific application of de novo DNA synthesis, e.g. polymerase chain reaction primers is another major application that does not imply creating genes.
Species bootstrapping from DNA Updated 2025-07-16
Synthesizing the DNA itself is not the only problem however.
You then have to get that DNA into a working living form state so that normal cell processes can continue:
WikiLeaks Updated 2025-07-16
Eat Just Updated 2025-07-16
CC BY Updated 2025-07-16
CC BY-NC-SA Updated 2025-07-16
Too restrictive. People should be able to make money from stuff.
The definition of "commercial" could also be taken in extremely broad senses, making serious reuse risky in many applications.
Notably, many university courses use it, notably MIT OpenCourseWare. Ciro wonders if it is because academics are wary of industry, or if they want to make money from it themselves. This reminds Ciro of a documentary he watched about the origins of one an early web browsers in some American university. And then that university wanted to retain copyright to make money from it. But the PhDs made a separate company nonetheless. And someone from the company rightly said something along the lines of:
The goal of universities is to help create companies and to give back to society like that. Not to try and make money from inventions.
TODO source.
The GNU project does not like it either www.gnu.org/licenses/license-list.en.html#CC-BY-NC:
This license does not qualify as free, because there are restrictions on charging money for copies. Thus, we recommend you do not use this license for documentation.
In addition, it has a drawback for any sort of work: when a modified version has many authors, in practice getting permission for commercial use from all of them would become infeasible.
en.wikipedia.org/wiki/Creative_Commons_NonCommercial_license#Defining_%22Noncommercial%22 also talks about the obvious confusion this generates: nobody can agree what counts as commercial or not!
In September 2009 Creative Commons published a report titled, "Defining 'Noncommercial'". The report featured survey data, analysis, and expert opinions on what "noncommercial" means, how it applied to contemporary media, and how people who share media interpret the term. The report found that in some aspects there was public agreement on the meaning of "noncommercial", but for other aspects, there is wide variation in expectation of what the term means.
COVID-19 Updated 2025-07-16
COVID happens in two stages:
  • viral infection
  • inflammatory phase, where the body takes over, and sometimes harms itself. It seems that people are not generally contagious at this point?
This distinction is one of the reasons why separating the virus name (SARS-CoV-2) from the disease makes sense: the disease is much broader than the viral infection.
Dan Kaminsky Updated 2025-07-16
A superstar security researcher with some major exploits from in the 2000's.
Len Sassaman Updated 2025-07-16
DEF CON Updated 2025-07-16
SymPy Updated 2025-07-16
This is the dream cheating software every student should know about.
It also has serious applications obviously. www.sympy.org/scipy-2017-codegen-tutorial/ mentions code generation capabilities, which sounds super cool!
The code in this section was tested on sympy==1.8 and Python 3.9.5.
Let's start with some basics. fractions:
from sympy import *
sympify(2)/3 + sympify(1)/2
outputs:
7/6
Note that this is an exact value, it does not get converted to floating-point numbers where precision could be lost!
We can also do everything with symbols:
from sympy import *
x, y = symbols('x y')
expr = x/3 + y/2
print(expr)
outputs:
x/3 + y/2
We can now evaluate that expression object at any time:
expr.subs({x: 1, y: 2})
outputs:
4/3
How about a square root?
x = sqrt(2)
print(x)
outputs:
sqrt(2)
so we understand that the value was kept without simplification. And of course:
sqrt(2)**2
outputs 2. Also:
sqrt(-1)
outputs:
I
I is the imaginary unit. We can use that symbol directly as well, e.g.:
I*I
gives:
-1
Let's do some trigonometry:
cos(pi)
gives:
-1
and:
cos(pi/4)
gives:
sqrt(2)/2
The exponential also works:
exp(I*pi)
gives;
-1
Now for some calculus. To find the derivative of the natural logarithm:
from sympy import *
x = symbols('x')
print(diff(ln(x), x))
outputs:
1/x
Just read that. One over x. Beauty. And now for some integration:
print(integrate(1/x, x))
outputs:
log(x)
OK.
Let's do some more. Let's solve a simple differential equation:
y''(t) - 2y'(t) + y(t) = sin(t)
Doing:
from sympy import *
x = symbols('x')
f, g = symbols('f g', cls=Function)
diffeq = Eq(f(x).diff(x, x) - 2*f(x).diff(x) + f(x), sin(x)**4)
print(dsolve(diffeq, f(x)))
outputs:
Eq(f(x), (C1 + C2*x)*exp(x) + cos(x)/2)
which means:
To be fair though, it can't do anything crazy, it likely just goes over known patterns that it has solvers for, e.g. if we change it to:
diffeq = Eq(f(x).diff(x, x)**2 + f(x), 0)
it just blows up:
NotImplementedError: solve: Cannot solve f(x) + Derivative(f(x), (x, 2))**2
Sad.
Let's try some polynomial equations:
from sympy import *
x, a, b, c = symbols('x a b c d e f')
eq = Eq(a*x**2 + b*x + c, 0)
sol = solveset(eq, x)
print(sol)
which outputs:
FiniteSet(-b/(2*a) - sqrt(-4*a*c + b**2)/(2*a), -b/(2*a) + sqrt(-4*a*c + b**2)/(2*a))
which is a not amazingly nice version of the quadratic formula. Let's evaluate with some specific constants after the fact:
sol.subs({a: 1, b: 2, c: 3})
which outputs
FiniteSet(-1 + sqrt(2)*I, -1 - sqrt(2)*I)
Let's see if it handles the quartic equation:
x, a, b, c, d, e, f = symbols('x a b c d e f')
eq = Eq(e*x**4 + d*x**3 + c*x**2 + b*x + a, 0)
solveset(eq, x)
Something comes out. It takes up the entire terminal. Naughty. And now let's try to mess with it:
x, a, b, c, d, e, f = symbols('x a b c d e f')
eq = Eq(f*x**5 + e*x**4 + d*x**3 + c*x**2 + b*x + a, 0)
solveset(eq, x)
and this time it spits out something more magic:
ConditionSet(x, Eq(a + b*x + c*x**2 + d*x**3 + e*x**4 + f*x**5, 0), Complexes)
Oh well.
Let's try some linear algebra.
m = Matrix([[1, 2], [3, 4]])
Let's invert it:
m**-1
outputs:
Matrix([
[ -2,    1],
[3/2, -1/2]])
Hadron Updated 2025-07-16
Big O notation family Updated 2025-07-16
This is a family of notations related to the big O notation. A good mnemonic summary of all notations would be:

There are unlisted articles, also show them or only show them.