The History Survival Guide (or, A Time Traveler’s Guide to Surviving History) started in July 2019. History Survival Guide is pulp-era inspired STEM and history blog that explores different engineer and scientific concepts with practical information about how to recreate by hand
Each page is the accumulation of research for a particular topic, synthesized, and summarized in a useful ‘survival guide’ format. So far, topics covered include using the proper motion of stars to determine what time period a time traveler could have found themselves in, deciphering over a hundred ‘Hobo Symbols’ of the 1800’s, how to read the Pioneer Plaque, and how to build an astrolabe by hand!
This github repo includes all relevant code and images used in a given guidebook page
Determine angular distance between two given stars
Included:
- Python code to determine the angular distance between two Stars
Guidebook page:
Hobo Signs and Symbols with definitions
Included:
- Each individual Hobo symbols (png) with 248 x 248 pixels dimensions (that is formatted for Slack)
- Zip file with all symbols
Clean PNG of the Pioneer Plaque
Reuse of this image is governed by NASA's image use policy.
Currently uses: Python 3.12 (pip install -r requirements.txt)
Constructing a Base Plate
Base plate includes the position of the Tropic of Cancer, Tropic of Capricorn, and the Equator in three concentric circles. The position of each circle is due to the obliquity of the planet and over time the obliquity of Earth can shift
Corrected for obliquities between 0°-89.99° (undefined at 90°) when radius of base plate is 1
python generate_base_plate.py
outer_tropic_radius = base_plate_radius
equator_radius = base_plate_radius / (tan(45° + (obliquity / 2))
inner_tropic_radius = base_plate_radius / (tan(45° - (obliquity / 2))
Currently, uses star-chart-spherical-projection package
import star_chart_spherical_projection
star_chart_spherical_projection.plotStarPositionOverTime(builtInStarName="Vega",
newStar=None,
startYearSince2000=-15000,
endYearSince2000=15000,
isPrecessionIncluded=True,
incrementYear=5,
DecOrRA="D")
Constructing Eccentric Calendar for Back Plate
An eccentric calendar assumes the sun moves at a constant speed throughout the year but accounts for the Sun's true anomaly as an offset from the Vernal Equinox. Due to both longitude and the year since 2000, the center of the calendar will be placed at an offset from the center of the back plate of the astrolabe on the line of apsides (the line connecting the perihelion and aphelion)
Code will generate both the angular distance from the Vernal Equinox to the January 0 (midnight of December 31) at the beginning of the year as well as the offset (x, y) from the center of the back plate
python calculate_eccentric_calendar_offset.py
Variables:
- Year to calculate (for example: 2026)
- The longitude of the observer (-71.05° for Boston, -105.27° for Boulder, 0° for Greenwich, 13.74° for Dresden)
- Radius of the back plate
For the Year 2026 at longitude -105.2705° for a plate with a radius of 1
T = 0.260000
Eccentricity = 0.016698
Offset of calendar center = 2e = 0.033395
Perihelion = 103.384456°
Aphelion = 283.384456°
Morrison: Mean Anomaly of Jan 0 = 357.282167°
Meeus: Mean Anomaly of Jan 0 = 357.282174°
Meeus Mean Anomaly of Jan 0 = 357.280798°
Ecliptic longitude (λ) = -105.27049999999997
The angular distance from the vernal equinox to January 0 = π + M0 + λ / 365
(283.38445607308245° + 357.2807975051346° + 105.2705°) / 365
Line of Apside relative to Vernal Equinox = -78.63685738068705°
Offset due to Eccentricity with radius of 1 = 0.033395
X offset with radius of 1 = -0.007730
Y offset with radius of 1 = 0.032488
How Eccentricity Changes over Time
How Offset (X, Y) Changes over Time
How Changing the Longitude Changes the Angular Distance to the Vernal Equinox
How Changing the Mean Anomaly Changes over Time