![](https://raw.githubusercontent.com/cyschneck/History-Survival-Guide/master/assets/Banner_Light.jpg)
About This Project
This is a science and history blog that explores scientific concepts coupled with practical information about how to recreate and use the techniques described by hand. The History Survival Guide (or, A Time Traveler’s Guide to Surviving History) has been updating since July 2019. Each page is the accumulation of research for a particular topic, synthesized and summarized in a useful ‘survival guide’ format. So far, topics covered included using the proper motion of stars to determine what time period a time traveler could have found themselves in, deciphering ‘Hobo Symbols’ from the 1800’s, reading the Pioneer Plaque, and constructing an astrolabe from scratch. All pages are done in a pulp science fiction aesthetic.
This github repo includes all relevant code and images used in a given guidebook page for public use
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
![]() |
![]() |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Guidebook pages:
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: 2024)
- 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 2024 at longitude -105.2705° for a plate with a radius of 1.0
Perihelion = 103.350061°
Aphelion = 283.350061°
Mean Anomaly of Jan 0 = 357.301163°
Line of Apside relative to Vernal Equinox for Longitude -105.2705° = -79.63718837823262°
Offset due to Eccentricity with radius of 1.0 = 0.033397
X offset with radius of 1.0 = -0.007711
Y offset with radius of 1.0 = 0.032495
How Changing the Year Changes Eccentricity
How Changing the Year Changes the Offset (X, Y)
How Changing the Longitude Changes the Angular Distance to the Vernal Equinox
Constructing a Star Chart