Why eclipses move west to east

Filed under: science — jlm @ 16:52

I observed the recent eclipse from a local park, where a bunch of people had gathered, and there was confusion about why the moon appeared on the lower side of the sun’s disk, rose over the course of the eclipse, and left off the top side, which was a west-to-east direction. (Here in North America, the sun was in the western sky for the eclipse. In Asia, the moon’s disk still moves west-to-east, but as it was in the eastern sky, that started above the sun and ended below.) This is due to a few astronomical facts: The earth’s rotation, the earth’s orbit, and the moon’s orbit are all around axes that point in roughly the same direction; the moon orbits the earth more frequently than the earth orbits the sun, the earth revolves even more frequently; and the moon’s shadow moves across the earth faster than the surface moves from the earth’s rotation. (An eclipse lasts shorter than a day, which is shorter than a month, which is shorter than a year.) Because the axes all roughly align, everything is moving in the same direction, west to east. Because we on the earth’s surface are moving west-to-east with the earth’s rotation, we see everything that revolves more slowly than the earth’s rotation as moving east-to-west in the sky. If the earth weren’t rotating, then we’d see the moon and sun move west to east in the sky, taking a month and year to complete their circuits. The disk of the moon moves through the sky over 12 times as fast as the disk of the sun, so relative to the sun we see it moving west to east.

At the park, I tried explaining this by pointing to the sky and moving my arms along west-east trajectories, but perhaps some diagrams will help. Looking down from above the north pole:
[Earth and moon]
We see how the moon is moving west-to-east through space, but as the earth is rotating west-to-east with such a higher angular velocity, its disk moves east-to-west through our sky.

Now, when an eclipse happens, the moon’s shadow falls on the earth:
[Eclipse in Pacific Ocean]
Because the moon only needs to pass through a tiny fraction of its orbit to sweep its shadow from one edge of the earth to the other, its shadow moves quicker than the earth’s rotation, so its west-to-east motion overtakes the earth’s surface’s, and we perceive the eclipse as starting to the west and moving east (in this case, starting in Asia and moving east over the North Pacific to North America).

At least that’s the normal case. These axes aren’t quite aligned: As the earth’s axis is tilted some 23 degrees, it’s possible for a polar eclipse to occur “north” of the north pole or “south” of the south pole:
[Antarctic eclipse, side view]
Here the shadow is still moving “west” to “east”, as they would be defined by an observer away in space, but our reference for east and west is the earth’s 23-degree-tilted surface, so reversed, and we’d consider such an eclipse to be moving from east to west. Looking down from above the southern hemisphere:
[Antarctic eclipse, view from south
Here we see that the moon is still moving west to east like always, and the shadow follows the moon, but because it passes over the south pole, it goes from moving with the earth’s rotation to against it, so we observe it moving east to west on the earth’s surface.


RSS death, the Javascript trap, and SaaS

Filed under: web — jlm @ 12:34

I read this recent post by Vambenepe on the campaign to kill RSS, and it bothered me. RSS/Atom is what makes a dynamically updating web usable, and here it as an open, decentralized protocol was being replaced by closed SaaS offerings under central control. For a reason I wasn’t sure of, it reminded me of Stallman’s anti-SaaS essay “The JavaScript Trap” from some time ago. That essay didn’t sit right with me: Because your software comes from a webserver on demand, instead of being pre-installed locally, doesn’t make it or what it does any more or less free, and Stallman’s solution of blocking javascript not tagged as being under a free-software license is impractical. And indeed, in the years since, we’ve seen plenty of open source javascript code written and published, coexisting alongside a vibrant ecosystem of proprietary javascript code, just like we have with client application software.

But it finally gelled: The problem with SaaS is that it welds the data to the code.

Let me explain using “traditional” software applications as an example. You have documents you edit in Microsoft Word. These documents are .doc files which are on your disk drive and you can do anything to them that you can do with any other file: Copy it, delete it, encrypt it, archive it to tape, attach it to an email, etc. All outside of Word. If Microsoft does something to annoy you, you can even edit the documents in WordPerfect or AbiWord or OpenOffice or anything else which understands the .doc file format, which there are plenty of because file formats aren’t protectable as intellectual property.

Contrast this with the SaaS situation: You can’t give a WebDAV address to Google Docs for a document you want to edit in that webapp, and have it open and save to that file. You can’t manipulate your Docs files at all, except through the webapp. The only way you can (eg) attach it to an email is to be using Google’s email webapp, and hope that Google’s programmers have provided integration between them (at time of writing, they haven’t).

In short, if you want to use Google’s word processor, you have to use Google for its data store. You can’t say “I love Google Docs’ UI, but I prefer to use Amazon for data storage.” SaaS leverages control or preference of one aspect (the code) into use of another aspect (the data). Why should the SaaS provider have custody of your files? You can store your data with any number of hosts, and the “cloud” lets you access that data from any client machine. But not if you want to access a webapp. Then it’s only if your data is hosted with the SaaS provider. And that’s the real Javascript trap.

Update: Seems Steve Wozniak has some concerns along these lines, about you not controlling data you upload to a cloud store.

Update 2: Now Wired is sounding this alarm, with the focus on data security.


Fun with metafunctions

Filed under: math — jlm @ 23:14

In mathematics, a function is a mapping from one set (the domain) onto another (not necessarily distinct) set (the range). Now, you can cause all kinds of weirdness if you let elements of these sets be functions themselves. Like, you can define a function k from integers to functions from integers to integers, which are the “constant” functions of that integer: if j = k(x) for some x in Z, then j(y) = x for all y in Z. j is a function which carries the x inside it, waiting to be applied to an argument, which is ignored and now the hidden x emerges. Written more densely, k(x)(y) = x for all x, y in Z.

But mathematics doesn’t allow you to do what’d be the most fun: Calling a function on itself. This is because you’d have to include a function in its own domain, and you get to an infinite regress, because the formal definition of the function includes specifying its domain which contains the function whose formal definition includes its domain … and you can’t build such a thing in set theory.

Okay, suppose I try to get around this problem by introducing a set Σ containing non-function elements which maps 1:1 to the functions from Σ to the integers Z. This can’t work because Σ has to be “bigger” than itself. So, suppose Σ only maps to a few of these functions. This seems like it should do, and I can just declare that any several functions I’m interested in have mappings to Σ, and functions obtained by Cantor diagonalization simply won’t. Let a be the function that maps (some of the functions from Σ to Z) onto Σ and b be its inverse.

Neither a nor b is a function from Σ to Z, so I can’t apply a(a) or b(b), so my attempts at self-applying need to be more subtle.
Let’s define a function from Σ to Z, and declare it to be a element of a’s domain:
    f(ξ) = b(ξ)(ξ) + 1
here ξ is a element of Σ, so b(ξ) is a function from Σ to Z, and b(ξ)(ξ) an integer, so it seems to work out.

I declared f to be in a’s domain, so a(f) exists and is an element of Σ, let’s call it θ.
Now I can finally achieve something close to application-on-itself with f(a(f)) = f(θ).
What can we say about this? Well, its value depends on b(θ)(θ).
But b is the inverse of a, so b(θ) = f, and so b(θ)(θ) = f(θ). But we defined f so that f(ξ) and b(ξ)(ξ) could never have the same value!

See what fun functions of functions returning functions are.


Haiku proof

Filed under: math — jlm @ 12:01

Product of all primes
Incremented won’t factor
Thus a larger prime.

I wonder if it’ll catch on…


Berkeley library fire

Filed under: biking, sfba — jlm @ 13:39

I just got home from biking to the Berkeley Central Library, to find the police and fire department there, the library closed off. The BFD was non-urgently sweeping water out the doors, while the evacuated library building had its fire alarm still going. So, it looks like there was a fire there, extinguished by the sprinklers. It didn’t look like there were any injuries, but I worry about the damage to the books, hopefully it won’t be significant.


More links, less commentary

Filed under: biking, misc — jlm @ 20:12

I seem to be bereft of interesting prose to spout, so here’s a link dump instead.

File-sharing based Kopimi (as in, “copy me”) recognized as a religion in Sweden. Interview with the founder.

Witness some software management failure recorded in a bug log.

Growing up in postindustrial Wales.

How the Dutch got their bike paths — they fought hard for them.

African development’s killer app: Cell phones.

Enjoy, peeps.


Gitmo warden: “Close Gitmo”

Filed under: politics — jlm @ 19:59

Ten years ago, M.P. Col. Terry Carrico became the first commander of Camp X-ray, the Guantánamo Bay detention camp. Now out of the military, he talks to the media about the camp he opened.

Carrico also says plainly that he believes it is wrong to keep people indefinitely without trial based on secret evidence.

America should be a nation where this never happens. That we will not imprison people without trial should be woven throughout our identity of what it means to be American. Gitmo is an open wound, self-inflicted, on our very national identity. It’s been bleeding for ten years. We must close it, or lose what being American is.

More: Story from an innocent who spent over 7 years at the camp before being released via habeas corpus. This is what we’ve done. Let’s change. Ten years is long enough to know that this experiment has failed.


With Iraq, it’s the 1980s all over again

Filed under: politics — jlm @ 21:36

While visiting family over the Xmas break, I came across this article from the New York Times republished in the Sacramento Bee.

BAGHDAD – The Obama administration is moving ahead with the sale of nearly $11 billion worth of arms and training for the Iraqi military despite concerns that Prime Minister Nouri al-Maliki is moving to consolidate authority, create a one-party Shiite-dominated state and abandon the U.S.-backed power-sharing government.
While the United States is eager to beef up Iraq’s military, at least in part as a hedge against Iranian influence, there are also fears that the move could backfire if the Baghdad government ultimately aligns more closely with the Shiite theocracy in Tehran than with Washington.

Well, how about that. Just substitute Obama with Reagan, al-Maliki with Saddam Hussein, and swap Shiite for Sunni and enjoy the déjà vu.


Kentucky Board of Education smacks down creationist school superintendent

Filed under: politics, science — jlm @ 17:50


That is one awesome response letter. Hard to believe it came from a bureaucracy. I just hope the Board in Frankfort can exert more influence over the schools than Line the Hart County local.


Recommended software: disper

Filed under: linux — jlm @ 12:23

One of the common use cases for laptops is to plug into an external display at a docking station or with a projector, and unplug and use the internal display, then plug into another external display, then later back to the internal display, and keep on cycling like this. Unfortunately, Linux distributions haven’t supported switching displays very easily.

Enter disper to save the day. This is a command-line (and so easily scriptable) tool to switch the display in use. For example, to make only the internal display active, run disper -s. For only the external display, disper -S. And to toggle between them, disper --cycle-stages='-s:-S' -C. So when I want to bind one of the special laptop function keys to alternate between external-display-active-only and internal-display-active-only in Gnome, I run gnome-keybinding-properties, add a custom shortcut to run disper --cycle-stages=-s:-S -C, and bind that to XF86LaunchA. Voilà, with one keypress I can switch between the laptop’s screen and the projector. Other flags to disper let you activate both displays, etc.

Powered by WordPress