Sunday, January 13, 2013

Science Beacon

I was reading about the 10,000 Year Clock, which is an interesting and romantic idea.  But I can imagine a lot of things that could go wrong in 10,000 years, mostly involving changes in culture. The clock could be looted like the tombs of ancient Egypt, it could be take by a wealthy art collector like the Elgin Marbles, destroyed by religious fanatics like the Buddhist statues of Afghanistan, or dismantled and put on display in a museum by future people who don't share or understand the philosophy of the project.

Geodetic Satellite

If I was going to build a long-lived machine, I would do something that specifically addresses the danger of future cultural failure.  Build a dense satellite, a sphere of tungsten perhaps, and put it into a 6000 km orbit, like a geodetic satellite that will stay in orbit for millions of years.  In the surface, embed solar batteries with thick quartz micrometeorite shields.  In the core, put robust solid state electronics that transmits a repeating radio signal containing a key scientific knowledge, like a summation of Feynman Lectures in Physics, text and diagrams preserving foundational ideas like the theory of atoms, mechanics, biological evolution, and so on.

This would act as a beacon and a guardian of scientific knowledge that could survive global disasters, both natural and man-made -- a meteor strike that devastates our population, or a purge of science by some future religious or eco-political movement.  None of them could stop people from eventually finding a beacon in the sky that puts them back on the road to truth, progress and enlightenment.

Monday, November 12, 2012

LOLCAT of Mass Destruction

Anthropologists have claimed that our minds are designed for small communities, where we know about 150 people. Now a billion people are on Facebook, each organized into a network where every individual is in contact with about 150 people they more or less know.  Information flows on this new topology happed onto the internet.  Yeah, it could have been done better, but this may be the most interesting thing that has happened in human history.

For the majority of practical people, it will be amazingly helpful, with wonders yet to unfold. If they keep control of things, the social network could make the world a better place, more democratic, more peaceful, more educated.


But there is that minority of people who are fundamentally political, millions of them all thinking about how they can exploit the social network to launch a wildly successful political mass movement.  Is there a fatal meme?  Will someone invent or modify a religion or reactionary political movement that will sweep across a billion people and cause a catastrophy?
 

Monday, January 23, 2012

Life Forms On Venus? Probably Not

In a recent paper, a highly respected and pioneering planetary scientist in Russia has suggested that images from the Venera-13 lander might show life forms on the surface of Venus. Dr. Leonid Ksanfomality did important work on the spectroscopy of Venus and Mars from spacecrafts in the 1970s and 1980s, and he was the first to discover that lightning was common in the atmosphere of Venus.
His latest paper has raised eyebrows throughout the planetary science community: "Venus as a Natural Laboratory to Find Life at High Temperature: Events on the Planet". In it, he claims three particular examples of mysterious objects: a moving disk shaped form, a "scorpion" shaped object, and a moving black object. I would like to present an alternative theory for these objects, which I believe is more likely. First a quick review of the camera and telemetry system of Venera-13. A broader discussion of that mission can be found here: http://www.mentallandscape.com/V_Venera11.htm
Nearing Venus, on Feb 28, 1982, the massive Venera-13 separated into a landing vehicle and a large flyby spacecraft. These encountered the planet on March 1, where the lander set down at 03:57:21 UTC. It drilled into the surface to analyze the rocks, and several minutes later, a cycloramic camera began to scan the surface through a thick quartz window. A photomultipler tube, highly sensitive and very low-noise, detected light, which was converted into 9-bit digital video.
The digital video from each of two cameras was sent to the flyby spacecraft on a meter band channel at a data rate of 3072 bits/sec. This was then relayed to the Earth via a large parabolic antenna. In a typical style of redundant design, two entirely different radio systems were used for the interplanetary transmission. On a decimeter band, the digital video was passed unchanged, as a pulse-code modulated (PCM) signal. That is, pixel values were sent as a sequence of binary numbers (with convolution error-correction code). This is also how American spacecraft transmitted data.
On a centimeter band, an older Soviet radio system sent the data using a pulse magnetron to encode the data as variable spacing between powerful microwave impulses. 512 numbers per second were transmitted, each representing 6 bits of data and parity, encoded orthogonally into 128 possible pulse spacings. This scheme is usually called Pulse-position modulation (PPM), and in Russian VIM (Vremya Impulsnoi Modulyatsii).

Here are examples of two versions of transmitted video signal. The first is sent by PCM, generally a very clear signal, but single-bit errors create a familiar "salt & pepper" noise which gets more intense later in the transmission as the signal from the flyby spacecraft apparently weakens. The second image is sent by PPM and is rather strange. The noise takes the form of light speckles, but there is no sign of errors in low order bits. Even near the end of transmission, the noise characteristics remain unchanged. My own analysis found that I could systematically undo most of this noise, making these bad looking images actually a useful source of good data.
One of the objects Dr. Ksanfomality claims might be a lifeform is the "scorpion", which is indicated by the orange arrow. But his object does not appear in the simultaneously transmitted PCM signal.
To better understand this phenomenon, let us plot the corresponding pixel values in PCM and PPM versions (with log intensity). Along the diagonal, we see the hoped-for case where both pixels have the same value. The horizontal smear around this diagonal is the result of the "salt & pepper" noise contained in the PCM signal. However, the noise in the PPM signal is far from random, resulting in a geometrically patterned constellation of points. We would expect errors in pulse-position modulation to take the form of small errors in the pulse spacing, creating low-order bit errors. But these are passed through an orthogonal code that is designed to separate those values and make error correction easier. It is quite possible that the geometrical pattern is the result of that coding.
Noise in the PPM images tends to occur along isophotes, curves of constant brightness. And this explains why it follows subtle countours and develops into interesting structures. The "scorpion" and "disk" are probably the result of this phenomenon. However, Dr. Ksanfomality also points out a third unusual feature that changes over time, a dark shape next to the Prop-V sensor, a scientific experiment that drilled into the surface to measure the physical consistency of the rock.

Here are my own processed versions of two images taken about 15 minutes apart, which show a change in the shadow on the near side of the drill (under the smaller disk at the end of the framework). In my own research, I calculated a new and more accurate camera response function, so it is fairly clear that a shadow appears in the early image and then seems to be gone in the second image. But in the Russian versions of this image, the shadow is almost black, and this appears to be the object Dr. Ksanfomality named the "black rag".
While this is not an object that moved, it is still an interesting question to ask why the shadow disappeared. The illumination on the surface of Venus is thought to be a uniform glow from the perminantly cloudy sky. However, a few years ago, Grieger and Ignatiev analyzed spectral data from the Venera-13 lander, made during its descent, and they found evidence of a near-surface cloud layer. Could a passing low-altitude cloud have caused a change in the distribution of illumination?
I hope this controversy will kindle a rewnewed interest in the mysteries of the planet Venus and lead to new missions. The Soviet Union landed on Venus 10 times, and nobody has attempted it again since the twin landers of the 1985 Vega mission.

Wednesday, February 24, 2010

Heavy Interplanetary Ship

In 1962, Sergey Korolev, the head of the Soviet rocket program, wrote a report entitled "A Plan for the Mastery of Mars and Venus". In the previous two years, his team had made several unsuccessful attempts to send "automatic stations" to Mars and Venus. Now he tasked Maksimov's design team with the problem of sending men on orbital missions to the nearby planets.


Gleb Maksimov had designed Luna-3 and Venera-1. The Mars-1 spacecraft was an example of his modular spacecraft system, able to perform photographic fly-bys of Mars or Venus or to deliver a landing capsule. Although very young at the time, Maksimov had earned the respect of Korolev's team and the academic scientists who designed experiments for planetary probes.



Maksimov's manned spacecraft design became known as TMK, the heavy interplanetary ship (Tyazhely Mezhplanetny Korabl ). The 75 ton spacecraft would have to be assembled in space from pieces launched by the as yet unbuilt N-1 moon rocket.



A subsequent version would include crew quarters and a hydroponic greenhouse to supply food and oxygen and artificial gravety generated by the rotation of the spacecraft around the longitudinal axis. The ZBTK (Closed Biological-Technical Complex) was developed and ground tested, wth several Russian scientists spending a year inside a sealed environment -- long before the infamous Biosphere experiments in the west.



The ship was to be propelled by the YaERD-2200, an 8.5 ton-thrust electro-plasma engine. With a specific impulse 20 times higher than chemical rocket engines, the craft would be able to travel to Mars or Venus, enter orbit, leave orbit and return to Earth. The thrust was relatively low, and the craft would begin by spirally out from low earth orbit, the crew flying up and getting onboard once the ship was safely above the Van Allen radiation belts.

Ion engines were an idea that appeared earlier than many people realize. Robert Goddard had built experimental ion engines as early as 1916, before the first flight of a liquid-fueled rocket. In 1964, the Soviet Mars probe Zond-2 had tested the first plasma engines in space. Russia developed the technology of Hall-effect acceleration of plasma, still used today for satellite orientation and on the European SMART-1 lunar probe.



The YaERD-2200 engine would have been powered by a 2200 kilowatt nuclear reactor, using thermionic emission to generate electricity directly from incandescent uranium oxide fuel elements. The Russians later did develop smaller thermionic reactors such as Topaz-1, which was orbited and tested in combination with ion engines. The program became controversial after a nuclear satellite reentered the atmosphere and crashed in Canada.



Today, the technology of building large, long-lasting structures in low earth orbit is much better understood. A perminent mobile laboratory, powered by nuclear fission and ion propulsion could be built and used to roam the solar system. But many technical problems remain, including the protection of the crew during solar radiation outbursts.

Recently, the American astronaut Buzz Aldrin has been calling for work to begin on an a modern version of the TMK concept, which he calls the Exploration Module or XM.

Sunday, February 14, 2010

1.0 Apples

Ever notice that floating point numbers are plural? You say "I have 1 apple", but "I have 1.0 apples" (i.e., "one point zero apples").

Thursday, October 08, 2009

Megacycles: The Screen Play


(define Time 0.5)

;
; sky dome
;
(define SKY (surface BLEND_TURBULENCE SURF_CONSTANT BUMP_FLAT SURF_CONSTANT BUMP_FLAT 0 1))

(define (skyDome) (scale 30 30 30 (move 0 3985 0
(scale 20 20 20 (shade SKY (rgb 0.1 0.3 0.9) (rgb 0.9 0.9 0.9)
(scale 0.05 0.05 0.05 (diff
(scale 4100 4100 4100 (sphere))
(scale 4000 4000 4000 (sphere))
))
))
)))


;
; quadric robot with parameterized joins
;

(define (Robot L_SHOULDER L_ELBOW R_SHOULDER R_ELBOW L_HIP L_KNEE R_HIP R_KNEE)
(bound (union
(bound (union ; head and trunk
(move 0 210 0 (rotate 20 '(0 0 1) (scale 32 48 32 (sphere))))
(move 0 160 0 (scale 20 40 20 (sphere))) ; neck
(move 0 120 15 (scale 30 40 55 (sphere))) ; chest and shoulders
(move 0 120 -15 (scale 30 40 55 (sphere)))
(move 0 80 0 (scale 30 80 50 (sphere))) ; abdomen and hip
(move 0 -50 0 (scale 35 35 55 (sphere)))
(move 0 34 0 (scale 25 25 35 (sphere)))
(move 0 17 0 (scale 25 25 35 (sphere)))
(move 0 0 0 (scale 25 25 35 (sphere)))
(move 0 -17 0 (scale 25 25 35 (sphere)))
))

; left arm
(bound (move 0 130 70 (rotate L_SHOULDER '(0 0 1) (union
; forearm and hand
(move 0 -110 0 (rotate L_ELBOW '(0 0 1) (union
(move 0 0 0 (scale 13 20 13 (sphere)))
(move 0 -50 0 (scale 12 50 12 (sphere)))
(move 0 -100 0 (scale 10 10 10 (sphere)))
(move 0 -120 0 (scale 12 25 6 (sphere)))
)))
; upper arm
(move 0 -55 0 (scale 23 55 16 (sphere)))
(move 0 -10 -10 (rotate -35 '(1 0 0) (scale 22 33 22 (sphere))))
))))

; right arm
(bound (move 0 130 -70 (scale 1 1 -1 (rotate R_SHOULDER '(0 0 1) (union
; forearm and hand
(move 0 -110 0 (rotate R_ELBOW '(0 0 1) (union
(move 0 0 0 (scale 13 20 13 (sphere)))
(move 0 -50 0 (scale 12 50 12 (sphere)))
(move 0 -100 0 (scale 10 10 10 (sphere)))
(move 0 -120 0 (scale 12 25 6 (sphere)))
)))
; upper arm
(move 0 -55 0 (scale 23 55 16 (sphere)))
(move 0 -10 -10 (rotate -35 '(1 0 0) (scale 22 33 22 (sphere))))
)))))

; left leg
(bound (move 0 -50 30 (rotate L_HIP '(0 0 1) (union
(move 0 -160 0 (rotate L_KNEE '(0 0 1) (union ; calf and foot
(move 0 0 0 (scale 20 20 20 (sphere)))
(move 0 -75 0 (scale 20 75 20 (sphere)))
(move 0 -150 0 (scale 20 12 12 (sphere)))
(move 20 -160 0 (scale 45 10 20 (sphere)))
)))
(move 0 -80 0 (scale 30 80 27 (sphere))) ; thigh
))))

; right leg
(bound (move 0 -50 -30 (scale 1 1 -1 (rotate R_HIP '(0 0 1) (union
(move 0 -160 0 (rotate R_KNEE '(0 0 1) (union ; calf and foot
(move 0 0 0 (scale 20 20 20 (sphere)))
(move 0 -75 0 (scale 20 75 20 (sphere)))
(move 0 -150 0 (scale 20 12 12 (sphere)))
(move 20 -160 0 (scale 45 10 20 (sphere)))
)))
(move 0 -80 0 (scale 30 80 27 (sphere))) ; thigh
)))))
))
)

;
; robot riding a unicycle
;
(define PI 3.14159265358979323846)
(define RTD 57.29577951308232087721)
(define (S angle)
(sin (* angle RTD))
)
(define (C angle)
(cos (* angle RTD))
)
(define (A angle)
(/ (atan angle) RTD)
)
(define (sqr x)
(* x x)
)

(define (unicyclist time)
(let* (
(s (* PI (- 2 time))) ; pedal angle (0-2 PI)
(f (* 0.8 (S s))) ; foot(z)
(g (* 0.8 (C s))) ; foot(y)
(h (- 5.33333 1)) ; height of hip joint
(l 2.66667) ; length of thigh (and calf)
(d (sqrt (+ (sqr (- h g)) (sqr f)))); dist foot to hip
(v (sqrt (- (sqr l) (/ (sqr d) 4)))); knee-chord dist
(a (A (* 2 (/ v d)))) ; internal angle
(k (* -360 (/ a PI))) ; knee angle (with thigh)
(c (A (/ f (- g h)))) ; external angle
(j (* 180 (/ (+ a c) PI))) ; hip angle

(s (+ s PI)) ; pedal angle (1-3 PI)
(f (* 0.8 (S s))) ; foot(z)
(g (* 0.8 (C s))) ; foot(y)
(h (- 5.33333 1)) ; height of hip joint
(l 2.66667) ; length of thigh (and calf)
(d (sqrt (+ (sqr (- h g)) (sqr f)))); dist foot to hip
(v (sqrt (- (sqr l) (/ (sqr d) 4)))); knee-chord dist
(a (A (* 2 (/ v d)))) ; internal angle
(n (* -360 (/ a PI))) ; knee angle (with thigh)
(c (A (/ f (- g h)))) ; external angle
(m (* 180 (/ (+ a c) PI))) ; hip angle

(le (+ 15 (* 15 (C (* (+ time 1) PI))))) ; left elbow
(ls (* 20 (C (* (+ time 1) PI)))) ; left shoulder
(re (+ 15 (* 15 (C (* time PI))))) ; right elbow
(rs (* 20 (C (* time PI)))) ; right shoulder
)
(move 0 -0.13662 0 (scale 0.5 0.5 0.5 (union
(move 0 -6.1666667 0 (scale 0.016667 -0.016667 -0.016667
(rotate 90 '(0 1 0)
(shade SURF_PLASTIC (rgb 1.5 0.65 .1)
(Robot ls le rs re j k m n)
)
)
))
(move 0 -1 0 (rotate 90 '(0 1 0)
(scale 1.27324 1.27324 0.1
(move 0 0 1 (cylinder))
)
))
)))
)
)

(define figure (def-prim (unicyclist Time)))
;
; generate peano-curve maze with recursive instancing
; D. P. Mitchell 90/06/09.
;

;
; Unit cell of peano-curve maze is slab with origin at O
; and three figures beginning at R0, R1, and R2. There are
; three varieties, where R2 goes forward, turns left, or
; turns right. The final location of R2 will then be F, L,
; or R respectively. The cycle time is 2 seconds.
;
; -2 2 6 10 14
; -2 +---------------------------L---+
;
; 0 O R0 R1 R2 F ----> Z axis
;
; 2 +---------------------------R---+
;

(define eF (def-prim
(bound (union
(move 0 32 6 (scale 2 32 8 (cube)))
(move 0 0 2 (velocity 0 0 2 (figure)))
(move 0 0 6 (velocity 0 0 2 (figure)))
(move 0 0 10 (velocity 0 0 2 (figure)))
))
))

(define eR (def-prim
(bound (union
(move 0 32 6 (scale 2 32 8 (cube)))
(move 0 0 2 (velocity 0 0 2 (figure)))
(move 0 0 6 (velocity 0 0 2 (figure)))
(move 2 0 10 (spin 45 '(0 1 0) (move -2 0 0 (figure))))
))
))

(define eL (def-prim
(bound (union
(move 0 32 6 (scale 2 32 8 (cube)))
(move 0 0 2 (velocity 0 0 2 (figure)))
(move 0 0 6 (velocity 0 0 2 (figure)))
(move -2 0 10 (spin -45 '(0 1 0) (move 2 0 0 (figure))))
))
))

;
; first order peano curves are just made out of edges
;
(define (clock1 turn) (def-prim (bound (union
(eR)
(move 0 0 12 (rotate 90 '(0 1 0) (eR)))
(move 12 0 12 (rotate 180 '(0 1 0) (turn)))
))))

(define clock1R (clock1 eR))
(define clock1F (clock1 eF))
(define clock1L (clock1 eL))

(define (counter1 turn) (def-prim (bound (union
(move 12 0 0 (eL))
(move 12 0 12 (rotate -90 '(0 1 0) (eL)))
(move 0 0 12 (rotate -180 '(0 1 0) (turn)))
))))

(define counter1R (counter1 eR))
(define counter1F (counter1 eF))
(define counter1L (counter1 eL))

;
; higher order peano curves are build out of edges and
; lower order curves
;
; six curves are needed at each order, three going clockwise
; and three counterclockwise and the figures turning left, right
; or going straight as they leave the curve.
;
(define (clockWise size quad1 edge1 quad2 edge2 quad3 edge3 quad4)
(def-prim (bound (union
(move 0 0 size (rotate 90 '(0 1 0) (quad1)))
(move 0 0 size (edge1))
(move 0 0 (+ 12 size) (quad2))
(move size 0 (+ 12 size) (rotate 90 '(0 1 0) (edge2)))
(move (+ 12 size) 0 (+ 12 size) (quad3))
(move (+ 12 size size) 0 (+ 12 size) (rotate 180 '(0 1 0) (edge3)))
(move (+ 12 size size) 0 0 (rotate -90 '(0 1 0) (quad4)))
)))
)

(define (counterWise size quad1 edge1 quad2 edge2 quad3 edge3 quad4)
(def-prim (bound (union
(move 0 0 size (rotate 90 '(0 1 0) (quad1)))
(move 0 0 (+ 12 size) (rotate 180 '(0 1 0) (edge1)))
(move 0 0 (+ 12 size) (quad2))
(move (+ 12 size) 0 (+ 12 size) (rotate -90 '(0 1 0) (edge2)))
(move (+ 12 size) 0 (+ 12 size) (quad3))
(move (+ 12 size size) 0 size (edge3))
(move (+ 12 size size) 0 0 (rotate -90 '(0 1 0) (quad4)))
)))
)

(define (oddPeanos size primitives) (let
(
(cR (car primitives))
(cF (car (cdr primitives)))
(cL (car (cdr (cdr primitives))))
(ccR (car (cdr (cdr (cdr primitives)))))
(ccF (car (cdr (cdr (cdr (cdr primitives))))))
(ccL (car (cdr (cdr (cdr (cdr (cdr primitives)))))))
)
(list
(clockWise size ccF eR cF eF cR eF ccR)
(clockWise size ccF eR cF eF cR eF ccF)
(clockWise size ccF eR cF eF cR eF ccL)
(counterWise size cR eF ccL eF ccF eL cF)
(counterWise size cF eF ccL eF ccF eL cF)
(counterWise size cL eF ccL eF ccF eL cF)
)
))

(define (evenPeanos size primitives) (let
(
(cR (car primitives))
(cF (car (cdr primitives)))
(cL (car (cdr (cdr primitives))))
(ccR (car (cdr (cdr (cdr primitives)))))
(ccF (car (cdr (cdr (cdr (cdr primitives))))))
(ccL (car (cdr (cdr (cdr (cdr (cdr primitives)))))))
)
(list
(clockWise size ccR eF cL eL cF eR ccR)
(clockWise size ccR eF cL eL cF eR ccF)
(clockWise size ccR eF cL eL cF eR ccL)
(counterWise size cR eL ccF eR ccR eF cL)
(counterWise size cF eL ccF eR ccR eF cL)
(counterWise size cL eL ccF eR ccR eF cL)
)
))

(define (peano n size odd even primitives)
(if (= n 1)
;
; return clockwise forward version
;
(let ((curve (car (cdr primitives)))) (curve))
(peano
(- n 1)
(+ 12 size size)
even odd ; swap even and odd
(even size primitives)
)
)
)

(define (peanoCurve n)
(peano n 12 oddPeanos evenPeanos
(list clock1R clock1F clock1L
counter1R counter1F counter1L
)
)
)

(define (peanoSize n)
(if (= n 0)
0
(+ 12 (* 2 (peanoSize (- n 1))))
)
)

(define CHECKER (surface MASK_CHECKER SURF_MATTE BUMP_FLAT SURF_MATTE BUMP_FLAT
0 0))

(globals (rgb 0 0 0) 0.05 0.0)

(render (cine 256 256 1) (union
(move -100 -4000 -1000 (light 4400))
; (move -4000 -1000 -1000 (light 250))
(move 6 -14 6 (rotate 45 '(0 1 0) (rotate -10 '(1 0 0) (move 0 0 -50
(scale 12 12 40 (camera))
))))

(scale 2 2 2
(move 0 0.125 0 (scale 0.5 0.5 0.5 (peanoCurve 5)))
)
))

Tuesday, October 06, 2009

50th Anniversary of First Photos of the Far Side of the Moon

50 years ago today, Luna-3 took the first photographs of the far side of the Moon in 1959. They were shot on film, developed automatically onboard, and then scanned and transmitted by radio.



http://www.mentallandscape.com/L_Luna.htm