This is the third installment in my once-in-a-while newsletter, The Magical Universe. If you dig it, you can subscribe here!
Magical thing no. 3: Axial Precession!
I was reading about the star Vega recently, and I came across a sentence that sounded kind of strange. It said: “Vega was the northern pole star around 12,000 BCE and will be so again around the year 13,727.”
Huh. I thought “The North Star” was the north star. It’s called Polaris, that literally means “the pole star.” What could cause a star, whose position is so reliable that it has been used for navigation since Late Antiquity[link], to change its place?
Well, news to me, it turns out that while the earth is spinning on its axis like this:
It’s also doing THIS:
This movement is called Axial Precession, and it happens pretty slowly. Earth does one of these rotations every 26,000 years. I know what you’re thinking, “Oh big whoop, another space thing is happening too slow to matter to me.” Well guess what, the implications of this are major…ly interesting.
To understand the impact this kind of movement has, we need to understand exactly how the seasons work.
Relative to it’s rotation around the sun, the Earth’s axis is titled by 23.5 degrees. Like this:
During Earth’s year-long journey around the sun, summer is determined by which hemisphere is angled toward the sun. In the image above, summer is in the northern hemisphere, as the sun’s rays are hitting the northern hemisphere directly. It’s winter in the southern hemisphere, because those sweet sweet heat rays are hitting it at an angle, making them indirect and less concentrated.
This is what a year looks like:
So the axis of the earth does a full procession every 26,000 years. That means the side of the earth that is nearest to the sun will be in the opposite position, at the same time of year, 13,000 years in the future. On July 1st, 15015, it will be the dead of winter in Toronto.
This is the second installment in my once-in-a-while newsletter, The Magical Universe. If you dig it, you can subscribe here!
Hi friends! It’s been a while and I’m very excited to present…
Magical thing no. 2: Gravitational Lensing!
We all know that gravity affects objects. You drop a plate, it falls to the ground, it smashes, you tear up a little bit because it startled you and you’re still kind of a toddler in a small place deep inside. Bam, that’s gravity. But I didn’t know until recently that gravity affects light as well, in some super dramatic and amazing ways!
Ever wonder why a black hole is black? All the time, right? If you wondered so much why didn’t you look it up? It’s fine, I’ll just tell you: A black hole is “black” because it has so much mass that it’s gravity is strong enough to pull all the light it might emit, or any light that comes close enough to it, into itself. Or in fancier (and more accurate) science words:
The event horizon is the point outside the black hole where the gravitational attraction becomes so strong that the escape velocity (the velocity at which an object would have to go to escape the gravitational field) equals the speed of light.1
But the effects of gravity on light are not limited to inside an event horizon. Gravity can act as a lens, changing the shape or apparent position of an object. This happens when an object’s light interacts with gravity on its way to an observer. This is called gravitational lensing!
Have a look at the diagram above. We have an observer looking at an object (Object A), and another object (Object B) situated past Object A. The light from Object B is distorted by the gravity of Object A. The result, from the observer’s perspective, is 2 images of Object B, on either side of Object A. This can be observed in nature, like the Einstein Cross, for example:
Believe it or not, this is an image of one galaxy (centre) and one quasar behind it. According to Wikipedia:
The quasar is located about 8 billion light years from Earth, while the lensing galaxy is located at a distance of 400 million light years.
This is pretty magical in itself, but gravitational lensing doesn’t just create multiple images of an object. Let me tell you about my favourite effect of gravitational lensing, the Einstein ring. Imagine holding a wine class on its side and looking through the base. The imagery behind the glass would distort itself in a ring shape around the stem. WELL GUESS WHAT, this happens in space too.
[ dramatic pause ]
This beauty is called the Cosmic Horseshoe, and is an image of two galaxies, the galaxy in the foreground distorting the light from the galaxy behind it. Einstein rings exist in amazing numbers, and feel awesome to look at.
Here’s one last image for your enjoyment, a collection of awesome gravitationally lensed smears around Abell 2218, a super massive group of galaxies.
( images not from Wikipedia found here )
Yesterday I saw a project by github user vbarbaresi called MetroGit, where he uses git branches and commits to represent the Paris metro system. My first thought was “wow, what a cool idea!” My second thought was “wow this transit system is complex.” My third thought was “wow the TTC is boring I bet I could do this in 5 minutes.”
AND THEN IT TOOK LIKE 6 HOURS
I decided I would build it in the same way vbarbaresi did, using empty commits where the commit message was the name of the subway stop, and each branch named after the corresponding subway lines. Git doesn’t like empty commits, so to do this, you need to add the flag —allow-empty to the end of your commit message.
For some reason I was worried that someone would notice while I was building the repo and watch me make mistakes, so I started with a test repo. Here I tried different types of merges to see what they’d look like in the network view, which was my main focus. I tried an octopus merge which was new to me and looked like this:
This is done by merging 2 branches into another branch at the same time, with the following syntax:
git merge branch-1 branch-2
I wanted to make the subway lines run along side each other, like this:
instead of in bunches, like this:
Each clump represents a push, so I learned quickly that when I wanted the lines to run along side each other, I’d need to push after every commit. I’d checkout a branch, write the commit, push it, switch branches, write the next commit, push it, switch branches again, and so on.
On the TTC (here’s a map) there’s a scenario where two lines meet and then go through two stations together, Spadina and St.George:
I couldn’t for the life of me figure out a way to do this - if you can think of one, let me know! I made a couple attempts of merging branch-1 into branch-2, and then merging branch-2 into branch-1 (and similar ideas), but because there were no changes, nothing would stick. I settled on deciding that the lines would only be merged on the St.George commit, as technically the lines don’t actually meet at Spadina (you have to walk a hundred metres or so from one line to the other). Just let me have that one for now.
When I felt happy with the way my branches had turned out, I decided to update the README. Shoot. This would pollute my lovely little network visualization, catching my master branch up to the others. Guess who learned a whole bunch about rebasing? Surprise, it was me. Guess who learned even more about trying to rebase empty commits. You guessed it.
I managed to squash master down to a single initial commit. This took a little trickery because rebase will usually not allow you to squash the first two commits for some reason. Git will rudely spit out ’Cannot ‘squash’ without a previous commit’ or somesuch, leaving you with your heart in your hands and a pair of sad commits that just want to be together. UNTIL:
git rebase -i –root
From the docs:
–root: Rebase all commits reachable from , instead of limiting them with an . This allows you to rebase the root commit(s) on a branch.
Huzzah. Now we have master as a single point, instead of a long line polluting the visual.
And this is where I’m at today. My friend Chris suggested retroactively turning the branches into orphan branches.
From the docs:
–orphan : Create a new orphan branch, named , started from and switch to it. The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits.
To do this I’d have to delete the initial commits using git rebase -i. Instead of marking a commit “pick” or “squash”, simply deleting the line would “cause the commit to be lost”. The problem is, you can’t only have empty commits leftover from the rebase, as far as I can tell.
I haven’t figured out where I’ll go from here, but I might end up starting over with all the good stuff I’ve learned. For now, lonely lil’ master dot will have to hang out with this subway stop buddies.
You can see the result so far here.