Artificial gene synthesis Updated 2025-07-16
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:
Multicellular questions:
Apparently achieved for the first time in 2021: www.jcvi.org/research/first-self-replicating-synthetic-bacterial-cell by the J. Craig Venter Institute.
WikiLeaks Updated 2025-07-16
List of data breaches Updated 2025-07-16
Eat Just Updated 2025-07-16
Tearjerker Updated 2025-07-16
CC BY Updated 2025-07-16
CC BY-SA Updated 2025-07-16
This one strikes the right balance between restriction and permissions. NC and ND are simply too restrictive.
TODO where does the SA boundary end? E.g.:
- software: opensource.stackexchange.com/questions/173/what-do-i-need-to-share-if-i-include-cc-by-sa-artwork-in-my-software/11323#11323
- video game:
- website: graphicdesign.stackexchange.com/questions/68805/using-cc-by-sa-3-0-images-in-website-does-share-alike-affect-my-websites-lice/145124#145124
- book: academia.stackexchange.com/questions/48375/using-images-with-cc-by-sa-license-in-slides-or-a-thesis
- music in a podcast: opensource.stackexchange.com/questions/7022/using-cc-by-sa-music-in-a-podcast
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:TODO source.
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.
The GNU project does not like it either www.gnu.org/licenses/license-list.en.html#CC-BY-NC:
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.
Counter-Strike: Global Offensive Updated 2025-07-16
Coronavirus Replication Cycle Updated 2025-07-16
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?
Dan Kaminsky Updated 2025-07-16
Len Sassaman Updated 2025-07-16
DEF CON Updated 2025-07-16
Kinesis Advantage 2 keyboard Updated 2025-07-16
SymPy Updated 2025-07-16
It also has serious applications obviously. www.sympy.org/scipy-2017-codegen-tutorial/ mentions code generation capabilities, which sounds super cool!
Let's start with some basics. fractions:outputs:Note that this is an exact value, it does not get converted to floating-point numbers where precision could be lost!
from sympy import *
sympify(2)/3 + sympify(1)/27/6We can also do everything with symbols:outputs:We can now evaluate that expression object at any time:outputs:
from sympy import *
x, y = symbols('x y')
expr = x/3 + y/2
print(expr)x/3 + y/2expr.subs({x: 1, y: 2})4/3How about a square root?outputs:so we understand that the value was kept without simplification. And of course:outputs outputs:gives:
x = sqrt(2)
print(x)sqrt(2)sqrt(2)**22. Also:sqrt(-1)II is the imaginary unit. We can use that symbol directly as well, e.g.:I*I-1Let's do some trigonometry:gives:and:gives:The exponential also works:gives;
cos(pi)-1cos(pi/4)sqrt(2)/2exp(I*pi)-1Now for some calculus. To find the derivative of the natural logarithm:outputs:Just read that. One over x. Beauty. And now for some integration:outputs:OK.
from sympy import *
x = symbols('x')
print(diff(ln(x), x))1/xprint(integrate(1/x, x))log(x)Let's do some more. Let's solve a simple differential equation:Doing:outputs: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:it just blows up:Sad.
y''(t) - 2y'(t) + y(t) = sin(t)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)))Eq(f(x), (C1 + C2*x)*exp(x) + cos(x)/2)diffeq = Eq(f(x).diff(x, x)**2 + f(x), 0)NotImplementedError: solve: Cannot solve f(x) + Derivative(f(x), (x, 2))**2Let's try some polynomial equations:which outputs:which is a not amazingly nice version of the quadratic formula. Let's evaluate with some specific constants after the fact:which outputsLet's see if it handles the quartic equation:Something comes out. It takes up the entire terminal. Naughty. And now let's try to mess with it:and this time it spits out something more magic:Oh well.
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)FiniteSet(-b/(2*a) - sqrt(-4*a*c + b**2)/(2*a), -b/(2*a) + sqrt(-4*a*c + b**2)/(2*a))sol.subs({a: 1, b: 2, c: 3})FiniteSet(-1 + sqrt(2)*I, -1 - sqrt(2)*I)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)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)ConditionSet(x, Eq(a + b*x + c*x**2 + d*x**3 + e*x**4 + f*x**5, 0), Complexes)Let's try some linear algebra.Let's invert it:outputs:
m = Matrix([[1, 2], [3, 4]])m**-1Matrix([
[ -2, 1],
[3/2, -1/2]]) Hadron Updated 2025-07-16
Big O notation family Updated 2025-07-16
P (complexity) Updated 2025-07-16
There are unlisted articles, also show them or only show them.