Announcement

Announcement: This forum is accepting new registrations via email. Please see Recruiting Topic for additional information. Write newmarsmember[at_symbol]gmail.com.

#1 Re: Meta New Mars » Housekeeping » Yesterday 17:03:15

For SpaceNut re #4315

Thanks for noting the successful implementation of the idea you developed into a PHP file.

That was a starting point that has been modified until it works. Now it is time for us to ask Mr. Burk for help.

We had a Webmaster prior to the last hacker attack, but we do not have one now.

It is up to you to work with Mr. Burk to install the new PHP file and to add the menu line in the Admin menu.

The program should work without further adjustment, because my copy of the software is identical to the package kbd512 installed for us.

It will be ** really neat ** to have that program running!

While you are working with Mr. Burk, please remind him that our image server needs the password to the MySQL database.

I asked for that but I suspect Mr. Burk was super busy with Mars Society projects and nothing ever happened.

(th)

#2 Re: Science, Technology, and Astronomy » Robotics Education Root Topic » Yesterday 15:17:02

This post will hold V69 of Cokoino sketch ...

This version includes a new blinking red LED alert.

In working on the planning for a coordinated robot arm movement, we realized the arm may be in an unsuitable position when the request for forward movement is issued.  In that event, we are planning to run calculations to see if the requested movement is feasible given the starting coordinates of the arms. If the movement is not feasible, our current thinking is to stop the run and set the Cokoino board to blinking red. We will then require the operator to reset the Cokoino with the start button, and re-position the robot arm.

// CokoinoV69.ino Prepared by Gemini Supervised by Tom Hanson
// Version 69: Added non-blocking ERROR:OUT_OF_BOUNDS blinking red LED state.
// Version 68: Updated START token version string to V68.
// Version 62: No change except version number Note Ready: version
// Version 59: Updated version strings for V59 integration with Gated Telemetry handshake.
// Version 58: Introduced Gated Telemetry to completely eliminate analog line chatter.

#include <PS2X_lib.h>
#include <Adafruit_NeoPixel.h>

#define LED_PIN A1
#define LED_COUNT 4
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

PS2X ps2x;
int error = 0;
bool runtimeActive = false;

// --- GATED TELEMETRY STATE ---
bool analogEnabled = false; // Muted by default to keep the transmission pipe silent

// --- ERROR / ALARM STATE ---
bool isBlinkingError = false;
unsigned long lastBlinkTime = 0;
bool errorLedState = false;
const unsigned long BLINK_INTERVAL = 250; // 250ms toggle rate (4Hz blink)

void setLEDs(uint32_t c) {
  for(int i=0; i<LED_COUNT; i++) strip.setPixelColor(i, c);
  strip.show();
}

void transmitToken(String token) {
  // Clearing error state on explicit user action/reset tokens
  if (token == "START Sketch Version V69" || token == "TRIANGLE" || token == "CIRCLE") {
    isBlinkingError = false;
  }

  if (!runtimeActive) {
    setLEDs(strip.Color(255, 150, 0)); // Yellow signal on key test
  }
  
  Serial.println(token);
  
  if (!runtimeActive) {
    delay(60); 
    setLEDs(strip.Color(0, 255, 0));   // Green = Standby
  }
}

void setup(){
  Serial.begin(9600);
  strip.begin();
  strip.setBrightness(40);
  strip.show(); 

  error = ps2x.config_gamepad(10, 12, 11, 13);
  if(error == 0) Serial.println("V69 Ready: Pass-Through Mode Enabled.");
}

void loop(){
  if(error != 0) return;
  
  ps2x.read_gamepad(false, 0);

  // ZONE 1: ANALOG STREAMING ENGINE (GATED PASS-THROUGH)
  if (analogEnabled) {
    int lx = ps2x.Analog(PSS_LX);
    int ly = ps2x.Analog(PSS_LY);
    int rx = ps2x.Analog(PSS_RX);
    int ry = ps2x.Analog(PSS_RY);
    
    // Smooth 0-255 pass-through active ONLY when steering mode is live
    if (abs(lx - 128) > 15) { Serial.print("ANALOG:LX:"); Serial.println(lx); }
    if (abs(ly - 128) > 15) { Serial.print("ANALOG:LY:"); Serial.println(ly); }
    if (abs(rx - 128) > 15) { Serial.print("ANALOG:RX:"); Serial.println(rx); }
    if (abs(ry - 128) > 15) { Serial.print("ANALOG:RY:"); Serial.println(ry); }
  }

  // ZONE 2: DIGITAL TRANSMISSION PIPE
  if(ps2x.ButtonPressed(PSB_TRIANGLE))  transmitToken("TRIANGLE");
  if(ps2x.ButtonReleased(PSB_TRIANGLE)) transmitToken("TRIANGLE RELEASED");
  if(ps2x.ButtonPressed(PSB_CIRCLE))    transmitToken("CIRCLE");
  if(ps2x.ButtonReleased(PSB_CIRCLE))   transmitToken("CIRCLE RELEASED");
  if(ps2x.ButtonPressed(PSB_CROSS))     transmitToken("CROSS");
  if(ps2x.ButtonReleased(PSB_CROSS))    transmitToken("CROSS RELEASED");
  if(ps2x.ButtonPressed(PSB_SQUARE))    transmitToken("SQUARE");
  if(ps2x.ButtonReleased(PSB_SQUARE))   transmitToken("SQUARE RELEASED");

  if(ps2x.ButtonPressed(PSB_START)) {
    runtimeActive = true; 
    transmitToken("START Sketch Version V69");
  }
  if(ps2x.ButtonPressed(PSB_SELECT))    transmitToken("SELECT");
  if(ps2x.ButtonReleased(PSB_SELECT))   transmitToken("SELECT RELEASED");

  if(ps2x.ButtonPressed(PSB_PAD_UP))     transmitToken("PAD UP");
  if(ps2x.ButtonReleased(PSB_PAD_UP))    transmitToken("PAD UP RELEASED");
  if(ps2x.ButtonPressed(PSB_PAD_DOWN))   transmitToken("PAD DOWN");
  if(ps2x.ButtonReleased(PSB_PAD_DOWN))  transmitToken("PAD DOWN RELEASED");
  if(ps2x.ButtonPressed(PSB_PAD_LEFT))   transmitToken("PAD LEFT");
  if(ps2x.ButtonReleased(PSB_PAD_LEFT))  transmitToken("PAD LEFT RELEASED");
  if(ps2x.ButtonPressed(PSB_PAD_RIGHT))  transmitToken("PAD RIGHT");
  if(ps2x.ButtonReleased(PSB_PAD_RIGHT)) transmitToken("PAD RIGHT RELEASED");

  if(ps2x.ButtonPressed(PSB_L1))        transmitToken("TOOL ADVANCE");
  if(ps2x.ButtonReleased(PSB_L1))       transmitToken("TOOL ADVANCE RELEASED");
  if(ps2x.ButtonPressed(PSB_L2))        transmitToken("TOOL RETRACT");
  if(ps2x.ButtonReleased(PSB_L2))       transmitToken("TOOL RETRACT RELEASED");
  if(ps2x.ButtonPressed(PSB_R1))        transmitToken("READY POSITION");
  if(ps2x.ButtonReleased(PSB_R1))       transmitToken("READY POSITION RELEASED");
  if(ps2x.ButtonPressed(PSB_R2))        transmitToken("SYSTEM HOME");
  if(ps2x.ButtonReleased(PSB_R2))       transmitToken("SYSTEM HOME RELEASED");

  if(ps2x.ButtonPressed(PSB_L3))        transmitToken("STICK CLICK LEFT");
  if(ps2x.ButtonReleased(PSB_L3))       transmitToken("STICK CLICK LEFT RELEASED");
  if(ps2x.ButtonPressed(PSB_R3))        transmitToken("STICK CLICK RIGHT");
  if(ps2x.ButtonReleased(PSB_R3))       transmitToken("STICK CLICK RIGHT RELEASED");

  // ZONE 3: INCOMING SERIAL LISTENER (LIGHTING & TELEMETRY CONTROL)
  if (Serial.available() > 0) {
    String rcved = Serial.readStringUntil('\n');
    rcved.trim();
    
    // Telemetry Gate Control Commands
    if (rcved == "ANALOG:ENABLE") {
      analogEnabled = true;
    }
    else if (rcved == "ANALOG:DISABLE") {
      analogEnabled = false;
    }
    // Error / Alarm Signal
    else if (rcved == "ERROR:OUT_OF_BOUNDS") {
      isBlinkingError = true;
      lastBlinkTime = millis();
      errorLedState = true;
      setLEDs(strip.Color(255, 0, 0));
    }
    // Existing LED commands
    else if (rcved.startsWith("LED:LOCK:")) {
      isBlinkingError = false;
      char hexChar = rcved.charAt(9);
      int count = (hexChar >= 'A') ? (hexChar - 'A' + 10) : (hexChar - '0');
      
      uint32_t activeColor   = strip.Color(0, 0, 255);
      uint32_t inactiveColor = strip.Color(10, 10, 10);

      strip.setPixelColor(3, (count & 1) ? activeColor : inactiveColor);
      strip.setPixelColor(2, (count & 2) ? activeColor : inactiveColor);
      strip.setPixelColor(1, (count & 4) ? activeColor : inactiveColor);
      strip.setPixelColor(0, (count & 8) ? activeColor : inactiveColor);
      strip.show();
    }
    else if (rcved == "LED:STATE:GREEN") {
      isBlinkingError = false;
      setLEDs(strip.Color(0, 255, 0)); 
    }
  }

  // ZONE 4: NON-BLOCKING BLINK ENGINE
  if (isBlinkingError) {
    unsigned long currentMillis = millis();
    if (currentMillis - lastBlinkTime >= BLINK_INTERVAL) {
      lastBlinkTime = currentMillis;
      errorLedState = !errorLedState;
      if (errorLedState) {
        setLEDs(strip.Color(255, 0, 0));
      } else {
        setLEDs(strip.Color(0, 0, 0));
      }
    }
  }
  
  delay(40);
}

(th)

#3 Re: Martian Politics and Economy » Martian Calender - I have created a martian calender... » Yesterday 12:57:17

===
Today on Mars: 0038/23/20 Friday Days of the week OFFSET 3 with Earth.  (count from Mars to Earth )
Sol 633 Business Month 23 Fourth month of Quarter 4 of Year 38  
Today on Earth: 2026/08/25 Tuesday Earth Date)
>16

To see how this calendar works, we show the standard 28 day month at the bottom of this daily report.
There are 20 months of 28 Sols and 4 months of 27 Sols at the end of the four six-month quarters.
New Years Eve is extended to align the Business Calendar for Mars with the Astronomical calendar.
Business and Astronomical both start at zero (to the nanosecond) on New Year's Day.
This calendar has been in operation for two full Mars years (36 and 37). We are in Year 38

This calendar is NOT the Darian Calendar!

Per http://www-mars.lmd.jussieu.fr/mars/tim … _time.html also see: in-the-sky.org for opposition/perigee/aphelion

Martian Year: 38  Martian Astronomical Interval in 12 interval format: 12 <<== The Astronomical interval
Check Longitude: the interval will increment when longitude reaches 360 degrees

===
Solar Longitude: 341.1 Sol Number: 633  Change in degrees is +.5 Julian date is: J0038633
Solar Longitude: 340.6 Sol Number: 632  Change in degrees is +.5 Julian date is: J0038632
Solar Longitude: 340.1 Sol Number: 631  Change in degrees is +.6 Julian date is: J0038631 << SkipDayOnMars
#3>

Note that Solar Longitude measurement varies as a function of location in orbit.  Ls 0 is the moment when the Sun appears to transit from one hemisphere to the other.  Update from Mars.NASA.gov (The Sun crosses the equator of Mars (Vernal Equinox)). The transition itself is a function of the tilt of an object with respect to the Solar plane. Per squarewidget.com, Hipparchus created the celestial coordinate system we use today.

Note#2: https://theskylive.com/mars-tracker  This web site shows the astronomical position of Mars as seen from Earth
Todo: At next Aphelion/Perihelion record the Mars date as J00##### (and set Search term)
Perihelion occurred in 2026 at Ls 251 on Sol 486 - Earth Date 2026/03/27 Next: (estimated) 2028/05/15
Perihelion occurred in 2024 at Ls 251 on Sol 485 - Earth Date 2024/05/08 Next: (estimated) 2026/03/06 (actual) 2026/03/26
Perihelion occurred in 2022 at Ls 251 on Sol 485 - Earth Date 2022/06/21 Next: (actual) 2024/05/08
Aphelion Earth Dates: Next: 2027/03/04 Earlier: 2025/04/16, 2023/05/30, 2021/07/12, 2019/08/25, 2017/10/07, 2015/11/20
Aphelion occurred at--- Ls 071 on Sol 152. 
Aphelion occurred near Ls 070 on Sol 153 (per http://www.planetary.org)

Note#3: The computations below are dependent upon both the computations provided by the reference web site and by accuracy of recording of the time of observations.  The calculations use tenths of hours.  The Sun Distance needs to be captured at the moment the time increments to a given tenth.

Note on data below: The figure quoted after distance is a rate of progress along the orbital path [exact meaning to be determined]
Minus prefix means Mars is approaching the Sun.  Plus prefix means Mars is moving away from the Sun.
The figure computed to the right of "Difference" is the rate of change of the distance to Sun. Increasing to Aphelion/Decreasing to Perihelion.

Aphelion of Mars is due March 04, 2027 Sol 151-152 Note velocity of Mars was 22.0 km/s nearing Aphelion (21.97 km/s)
Perhelion of Mars is due May, 2028 Sol 251 Note velocity of Mars was 26.5 km/s nearing Perihelion 2026/03/26
Mars passed through 0 Radial Distance on outbound leg Sol 633 of Year 38 2026/08/25 Solar Longitude is 341.1 (90 degrees season)
Mars will pass through 0 Radial Distance on inbound leg Sol 219 at longitude 71
Conversion between seasons and physical frameworks: L_s = theta + 251  theta = L_s - 251

===
Distance: Mars >> Sun per theskylive.com:   226,109,446 km [24.3 km/s] Difference is +195634 <= +8151 km/hour at 12.0 on 08/25 (time 12:00) (24.0 hours)
Distance: Mars >> Sun per theskylive.com:   225,913,812 km [24.3 km/s] Difference is +195695 <= +8154 km/hour at 12.0 on 08/24 (time 12:00) (24.0 hours)
Distance: Mars >> Sun per theskylive.com:   225,718,117 km [24.4 km/s] Difference is +195594 <= +8150 km/hour at 12.0 on 08/23 (time 12:00) (24.0 hours)
>13

Velocity along the orbit is NOT the same thing as velocity change of the radial distance to the Sun. Both are shown in the section above.
Observation: The sky view is ** filled ** with objects and some have been recorded and given identification by humans or their robot assistants
And! ** All ** the location assignments are from the perspective of Earth.  The entire catalog needs to be adjusted when inter-stellar travel begins
The work that lies ahead for the astronomical community is daunting - there is work ahead for centuries
2022/01/19 - All current (existing) stellar catalogs are computed with reference to the Earth.  Another civilization would use it's planet as reference.
Perhaps a Milky Way frame of reference will become necessary at some point. The Earth is as good a Zero point as any, for humans.

=== Mars is in Regular movement as seen from Earth.
Mars is in Gemini
Next ahead: A cluster of multiple stars above path: TYC 1880-1245-1
Three stars across path – TYC 1880-1251-1 RA 6h 37m 40.9s Day 2 still visible on extreme right edge of view
14>

Zoom Out Capability As a general observation ... I've become increasingly interested in knowing what the larger view of the sky might be like.
The site: theskylive.com does a terrific job of matching the view from Earth towards Mars, against a background of actual astronomical plates.
I wish there were a way (or rather, I wish I ** knew ** about a way that may exist) to enlarge the view until the entire galaxy is in view (Zoom out)
Update 2022/12/08 TheSkyLive.com provides a large view of selected objects: Select [Major Bodies] Then select [Information] in the body of interest
Update 2022/12/08 Scroll down to (body) Position and Finder Charts. Field of view is 50x30 degrees.

Light travel in one second is (about) 300,000 kilometers. The distance covered in one minute is about 18,000,000 kilometers. Estimated light times:
1:18,2:36,3:54,4:72,5:90,6:108,7:126,8:144,9:162,10:180,11:198,12:216,13:234,14:252,15:270,16:288,17:306,18:324, 19:342,20:360,21:378,22:396

Light travel time today is between 17 and 18 minutes. Communications delay would be 34+ minutes round trip.

=== Time estimate will change below 270 megaKm
Earth Distance in km: 2026/08/25 281,912,358 (decreasing)
Earth Distance in km: 2026/08/24 282,679,587 (decreasing)
Earth Distance in km: 2026/08/23 283,440,464 (decreasing)
>15

Maximum Earth-Mars distance is estimated to be 401 million kilometers (both at apogee and opposite vs Sun) Minimum is about 56 million kilometers
Mars and Earth were in Opposition (Earth center)  in December of 2022.  The date coincided with a (very rare) occultation of Mars by the Moon.
Mars and Earth were in Conjunction (Sun center) in November of 2023.
Mars and Earth appear to have been as close as they will get in Year 36. 81,454,323 kilometers on J0036644 Time: 4.53 minutes - 9 minutes round trip

In his online interview with Dr. Zubrin at the 2020 Mars Conference, Elon Musk reminded the audience that communications with Mars will necessarily include an intermediary station to handle traffic when the Sun is between Mars and Earth.  Communications delays in that circumstance will increase due to the extra distance to be covered.  Mr. Musk indicated he expects such communication will be handled by laser.  Location would be optimum at poles of solar plane.

This web site offers an online model of the solar system: www.solarsystemscope.com 
This web site offers an online orrery view of the Solar System: https://www.theplanetstoday.com/

===
Sol 632 is in Month 23 of a Proposed 24 month calendar. See Post 19 of Holidays topic for a summary. <<< 595 is skip day on Mars
Month  23 extends from Sol 614 through 641. <<== There are 28 days in Month 23. See post 82 of Holidays topic for current details.
Direct path to source: http://newmars.com/forums/viewtopic.php … 57#p154257
Sol 633 is Friday in the Proposed Business calendar for Mars.   Sol 631 Skip Day on Mars. Next is near 668 of Year 38
##

The Next New Year's on Mars will occur when Solar Longitude reaches 360 degrees. Year 38 started November 12, 2024 on Earth
Per www.planetary.org Year 36 started 2021/02/07 on Earth. Mars Year 37 began 2022/12/27 on Earth.

Days of the Week Alignment:
Days of the week fall behind Earth due to the longer Sol, but they also change when Friday is omitted at the end of a Quarter
337 Earth days were observed to elapse in the 2020 weekday cycle. There were 7 week day transitions and 2 Quarter ends.
The next cycle began on the first Sol of the period of coincidence. The  alignment of weekdays interval is in the range: (310 - 337)
To find the first day of a period of coincidence: Set up: SearchTerm(colon) and (colon)Alignment and J0036* or J0037*
The most recent End-Of-Quarter change occurred: … The search specified above gave 11 pages of results.

For current weather on Mars see:

   ***https://mars.nasa.gov/insight/weather/***
   ***Insight's weather info has been suspended and now is directing to msl*** <<-- Insight's mission is over (2022)

https://mars.nasa.gov/msl/weather/

Per SpaceNut: Here is another web page by NASA containing the latest news releases

https://mars.nasa.gov/news/?page=0&per_ … ope=Latest

All forum members are invited to post significant events for this day.
Events of interest will be ON Mars, or relate to Mars. Examples are launches, landings, discoveries

Standard Month in Mars Business Calendar Copyright ® 2023 NewMars.com Mars Society
Su    Mo    Tu    We    Th    Fr    Sa
1        2      3      4      5      6      7
8        9    10     11    12    13    14
15    16    17     18    19    20    21
22    23    24     25    26    27    28

Recruiting text may be found at the bottom of this post:  http://newmars.com/forums/viewtopic.php … 57#p154257
Copyright the Mars Society All Rights Reserved

Month 23 of 24: <<== Fifth month of Quarter 4 Note start of Astronomical Month 12 in Year 38

#4 Re: Interplanetary transportation » Orbital Mechanics » Yesterday 12:14:00

In this post I asked Gemini to try to clean up the two reference systems.  Gemini creates a new instance every time we humans press Enter with a query.  The quality of a flow of a series depends upon quality of memory passed between instances.  Over many interactions, I have found that the quality of short term memory between queries varies significantly.  I've had cases where practically all short term memory is lost, and other where it seems nothing is lost. I don't have any great recommendations for how to help Gemini (or any AI)  do a better job in this regard. Much depends upon the generosity of the developers and managers in providing tokens for short term memory.  It is also possible that work load on the servers may be a factor in how many tokens are available to a given customer at any given time.

To make your post internally consistent and eliminate any confusion between the two reference systems, the explanation needs to clearly state why there are two frameworks and what physically controls each one.The draft below corrects the premise in your opening note (explaining that seasons depend on axial tilt orientation rather than "lagging" the physical distance) and reorganizes the takeaways so readers instantly grasp the distinction.

Revised Forum Post Draft

Understanding Mars requires navigating two completely independent coordinate systems that operate simultaneously.

The Physical / Kinetic Framework (theta, True Anomaly): Anchored to the shape of the elliptical orbit. $0^\circ$ is set directly at Perihelion (closest approach to the Sun). This system tracks orbital distance, velocity, and gravitational dynamics.

The Seasonal / Astronomical Framework ({L_s}, Solar Longitude): Anchored to planetary axial tilt (25.19).
0 is set directly at the Northern Spring Equinox. This system tracks sunlight angle, day length, and climate cycles.

Because axial tilt orientation is independent of orbital distance, L_s = 0 does not align with perihelion (theta = 0). Instead, perihelion occurs near L_s = 251 (mid-autumn in the north / mid-spring in the south).

The table below maps these two simultaneous reference systems across a standard 668-Sol Martian Year.

Mars Orbital Framework: Seasonal vs. Physical Geometry
  • Sol | Ls (deg) | theta (deg) | Northern Season | Southern Season | Physical Milestone

  • Sol 109 | 0 | 109 | Northern Spring Equinox (Start of Spring) | Southern Autumnal Equinox (Start of Autumn) | Outbound leg toward aphelion[] Sol 219 | 71 | 180 | Mid-Spring | Mid-Autumn | Aphelion (Maximum distance from Sun)

  • Sol 248 | 90 | 199 | Northern Summer Solstice (Start of Summer) | Southern Winter Solstice (Start of Winter) | Inbound leg toward perihelion[] Sol 362 | 161 | 270 | Mid-Summer | Mid-Winter | Maximum Inbound Radial Velocity ($d^2r/dt^2 = 0$)

  • Sol 392 | 180 | 289 | Northern Autumnal Equinox (Start of Autumn) | Southern Spring Equinox (Start of Spring) | Inbound leg approaching perihelion[] Sol 501 | 251 | 0 | Mid-Autumn | Mid-Spring | Perihelion (Minimum distance from Sun)

  • Sol 530 | 270 | 19 | Northern Winter Solstice (Start of Winter) | Southern Summer Solstice (Start of Summer) | Outbound leg climbing toward aphelion

  • Sol 633 | 341 | 90 | Mid-Winter | Mid-Summer | Maximum Outbound Radial Velocity ($d^2r/dt^2 = 0$)

Key
Structural Takeaways
  • Seasonal Anchors (L_s):

    Defined purely by the orientation of Mars's spin axis relative to the Sun ( 0, 90, 180, 270).
    Distance from the Sun plays no role in defining the astronomical start of a season.

  • Orbital Anchors ($\theta$): Defined purely by the geometric shape of the ellipse (theta = 0 at Perihelion, theta = 180 at Aphelion).

  • Elliptical Asymmetry:
    Because perihelion (theta = 0) falls at L_s = 251, Mars is closest to the Sun near the Southern Summer Solstice (L_s = 270). This makes southern summers shorter and hotter, while southern winters are longer and colder.

  • Conversion Formulas:

    • L_s = theta + 251

    • theta = L_s - 251

Summary of Changes MadeClarified the Premise: Replaced the "seasons lag the physical location" text with the correct physical mechanism (axial tilt vs. elliptical geometry).Separated Columns Clearly: Added an explicit Physical Milestone column alongside the Northern/Southern Season columns to keep the two concepts visually distinct in every row.Explicit Takeaway Categorization: Explicitly grouped takeaways into L_s (seasonal) vs. theta (orbital) anchors so the reader isn't left guessing which system controls which effect.

I've tried to clean this up but may easily have missed something.  Another observation I would make about short term memory persistence is that requests for formatting seem to be at risk across queries.  Nothing for this forum should contain LaTex (for just one example) and a series with Gemini may start out looking great but over a series of queries the quality of the formatting can (and does) deteriorate.


(th)

#5 Re: Interplanetary transportation » Orbital Mechanics » Yesterday 11:38:49

In this post I asked Gemini to add the seasons to the table.

We have two references systems in play at Mars.  The physical reference has 0 degrees set at perihelion. The seasonal reference has a completely different zero point.  The two reference systems are in play simultaneously.  Here is Gemini's attempt to put everything together for us humans to (at least try) to understand the two reference systems.

Believe it or not, I am back with another request! The table you provided is very helpful all by itself, but there is a column missing that would allow our readers to put everything together. That column would be ** seasons **. You had indicated that our human astronomers decided to set up the Astronomical calendar based upon something other than aphelion and perihelion. My guess is that the seasons lag the physical location of Mars in it's orbit. Please redo the table and add the seasons as a column.

Mars Orbital Framework Numbers with Seasons
  • Sol        | Ls (deg) | theta (deg) | Northern Season                       | Southern Season

  • Sol 109 | 0            | 109            | Spring Equinox (Start of Spring) | Autumnal Equinox
                                                                                                           (Start of Autumn)

  • Sol 219 | 71          | 180            | Mid-Spring (Aphelion)               | Mid-Autumn (Aphelion)

  • Sol 248 | 90          | 199            | Summer Solstice (Start of Summer) | Winter Solstice
                                                                                                          (Start of Winter)

  • Sol 362 | 161        | 270            | Mid-Summer                            | Mid-Winter

  • Sol 392 | 180        | 289            | Autumnal Equinox (Start of Autumn) | Spring Equinox
                                                                                                           (Start of Spring)

  • Sol 501 | 251        | 0               | Mid-Autumn (Perihelion)            | Mid-Spring (Perihelion)

  • Sol 530 | 270        | 19             | Winter Solstice (Start of Winter) | Summer Solstice 
                                                                                                          (Start of Summer)

  • Sol 633 | 341        | 90             | Mid-Winter                               | Mid-Summer

Key Seasonal Takeaways
  • Physical Anchors: Solar Longitude (Ls = 0, 90, 180, 270 degrees) strictly defines the position of Mars with  respect to the Sun.

  • Elliptical Asymmetry: Because perihelion (Ls = 251 degrees) occurs near Southern Summer / Northern Winter, the southern hemisphere experiences shorter, hotter summers and longer, colder winters than the north.

  • Physical Alignment: Aphelion occurs in mid-spring for the northern hemisphere (mid-autumn in the south), while perihelion occurs in mid-autumn for the north (mid-spring in the south).

(th)

#6 Re: Interplanetary transportation » Orbital Mechanics » Yesterday 10:53:43

In this session I asked for just the numbers:

Please show a table with just the numbers. It appears that columns might be coded as Sol, Longitude and theta? There would be rows and your example shows 8 rows.

Mars Orbital Framework Numbers
  • Sol       | Ls (deg) | theta (deg)

  • Sol 109 | 0           | 109

  • Sol 219 | 71         | 180 << Aphelion

  • Sol 248 | 90         | 199

  • Sol 362 | 161       | 270

  • Sol 392 | 180       | 289

  • Sol 501 | 251       | 0 << Perihelion

  • Sol 530 | 270       | 19

  • Sol 633 | 341       | 90

Notes on Column Metrics
  • Sol: Calculated as approximate elapsed Sols within a standard 668-Sol Martian year starting at Ls = 0 deg (Sol 0 / Sol 668).

  • Ls (deg): Solar Longitude measuring seasonal position.

  • theta (deg): True Anomaly measuring angular distance from perihelion.

(th)

#7 Re: Interplanetary transportation » Orbital Mechanics » Yesterday 10:49:43

In this post, I asked for a table showing how the two reference systems relate to each other:

Mars Coordinate Systems Comparison Table

Here is the comparison formatted as a clean grid using BBCode lists and text formulas so it displays cleanly in a spreadsheet layout:

  • Season / Milestone | Solar Longitude (Ls) | True Anomaly (theta) | Radial Dynamics | Orbital Segment

  • Northern Spring Equinox (MY New Year) | Ls = 0 deg | theta = 109 deg | dr/dt > 0 | Outbound leg climbing toward aphelion

  • Aphelion (Furthest Distance) | Ls = 71 deg | theta = 180 deg | dr/dt = 0 | Outbound transitions to inbound

  • Northern Summer Solstice | Ls = 90 deg | theta = 199 deg | dr/dt < 0 | Inbound leg descending toward perihelion

  • Inbound Acceleration Peak | Ls = 161 deg | theta = 270 deg | d^2r/dt^2 = 0 | Maximum inbound radial speed

  • Northern Autumnal Equinox | Ls = 180 deg | theta = 289 deg | dr/dt < 0 | Inbound leg approaching perihelion

  • Perihelion (Closest Distance) | Ls = 251 deg | theta = 0 deg | dr/dt = 0 | Inbound transitions to outbound

  • Northern Winter Solstice | Ls = 270 deg | theta = 19 deg | dr/dt > 0 | Outbound leg climbing toward aphelion

  • Outbound Acceleration Peak (Sol 633) | Ls = 341 deg | theta = 90 deg | d^2r/dt^2 = 0 | Maximum outbound radial speed

Conversion Formulas
  • Convert Solar Longitude to True Anomaly: theta = Ls - 251 degrees (If theta is negative, add 360 degrees)

  • Convert True Anomaly to Solar Longitude: Ls = theta + 251 degrees (If Ls exceeds 360 degrees, subtract 360 degrees)

(th)

#8 Re: Interplanetary transportation » Orbital Mechanics » Yesterday 10:40:07

This post is about the difference between the physical orbit with perihelion at degree zero, and the Seasonal structure created for Mars by human astronomers. Longitude 251 corresponds to Perihelion for Mars (Sol 485).

We are in Sol 633 and Longitude 341.1 In your calculations above, you tried to find a way to match 90 degrees with 340 degrees. Clearly we are using two different reference systems. In as few words as possible, please try to explain how the orbit of Mars is laid out. We appear to have 341.1 degrees in one coordinate system matching 90 degrees in another. Let's start with this. What is the longitude of Mars at perihelion? I show perihelion at 251 longitude each of three different Mars years. What is the corresponding degree reading on the alternative reference system?
***

Coordinate Systems for Mars

The two systems measure the exact same physical orbit, but start counting 0 ∘  from different reference lines:

  • True Anomaly (θ): Anchored to the orbit's physical shape. 0 ∘  is set directly at Perihelion.

  • Solar Longitude (L s ): Anchored to the Martian equinox. 0   is set at Northern Spring Equinox.

Perihelion Comparison
  • Solar Longitude (L s ): 251 ∘ [] True Anomaly (θ): 0

The Shift Between Systems

Because L s  is offset by 251 ∘  ahead of perihelion, you simply subtract 251 ∘  from L s  to get θ:

  • Perihelion: L s =251 ∘ ⟹θ=0 ∘

  • Outbound Peak Rate: L s =341.1 ∘ ⟹θ=90.1 ∘

  • Aphelion: L s =71 ∘ ⟹θ=180 ∘

L s  tracks season; θ tracks distance from perihelion.

(th)

#9 Re: Meta New Mars » Calliban Postings including links to notable contributions » Yesterday 09:59:12

For Calliban re Louis ....

Thanks for your question...

My recollection is that Mars_B4_Moon arrived back on the scene for one of his periodic intense periods of activity.

I recall seeing a message from Louis that I read as suggesting the two gents could not share the same forum.

In any case, Louis stopped participating and eventually Mars_B4_Moon ran out of energy so now both are gone.

If you are curious you can look at the last posts by Louis.

The User List provides a way to see everyone's posts that survive.  I offer that qualification because the forum has suffered injury over it's 25 year lifetime, but I think Louis' record may be largely intact.

To see anyone's posts, call  up the User List, Enter the name of the member, and click Submit.

The name of the member will appear in the User List (assuming there is a name that matches what you entered)

In the case of Louis, we see a total of 7,208 posts with a Registration date of 2008-03-24

You can click on the member name to see a page with a few details, including Posts.

In the case of Louis we see 7,208

I think the default display is descending order by date.

In the case of Louis, the most recent post was in 2022.

In that one, Louis was replying to Calliban. 

Interesting ... I don't see anything along the lines I remember about a dispute with Mars_B4_Moon.

We may never know, since if something ** did ** happen to Louis, there is no mechanism in place for us to find out.

2008 to 2022 ... that is a good run.  RobertDyck is one of our longest participating members.

Recently we heard from Clark who joined in the very beginning of the forum (as recorded in the surviving archive).

(th)

#10 Re: Interplanetary transportation » Orbital Mechanics » Yesterday 09:34:07

NewMars may the only group on Earth that is tracking the progress of Mars around the Sun at the level of detail shown in our daily calendar report.  The rate of change of the distance of the Sun to Mars just changed by passing from positive through zero to negative.  The distance of Mars from the Sun is still increasing, but the rate of change of that distance is decreasing as Mars slows in it's progress.

I asked Gemini to evaluate the observation, and after some back and forth, I realized there are four places in the orbit of Mars around the Sun where the rate of change of distance passes through zero.  Those four locations are aphelion, perihelion, and two locations on the track itself away from the two obvious locations.

Gemini then created a summary of our discussion, formatted for the forum:

Thank you for your generous response to my initial query as amended. Thank you for rendering the response in BBCode for our forum. However, please show all equations and chemical formulae in text. I think this conversation is an opportunity for at least a few of our readers to gain understanding of planetary orbital mechanics, and by extension, orbital mechanics for any spacecraft they may be guiding or tracking.
***

The Four Critical Points of Radial Kinetics

When tracking the distance between a planet and the Sun (r), there are four specific locations along an elliptical orbit where a radial derivative equals zero:

  • Perihelion (dr/dt = 0): Distance reaches its absolute minimum. Radial velocity transitions from negative to positive.

  • Aphelion (dr/dt = 0): Distance reaches its absolute maximum. Radial velocity transitions from positive to negative.

  • Outbound Radial Acceleration Peak (d^2r/dt^2 = 0): Distance is increasing (dr/dt > 0), but the rate of distance increase reaches its absolute peak and begins to slow down.

  • Inbound Radial Acceleration Peak (d^2r/dt^2 = 0): Distance is decreasing (dr/dt < 0), but the rate of distance decrease reaches its maximum magnitude and begins to pull back toward zero.

What was observed on August 25, 2026, was the outbound inflection point where the second derivative of radial distance (d^2r/dt^2) crossed zero.

Calculating the Position of Maximum Radial Speed

In Keplerian orbital mechanics, the radial velocity of a planet is given by the text equation:

dr/dt = (e * h / p) * sin(theta)

Where:

  • e is the orbital eccentricity of Mars (approximately 0.0934).

  • h is the specific angular momentum.

  • p is the semi-latus rectum, defined as a * (1 - e^2).

  • theta is the true anomaly (the angle measured from perihelion).

To find where the rate of increase (dr/dt) reaches its maximum and begins decreasing, we differentiate with respect to time and set the second derivative to zero:

d^2r/dt^2 = (e * h / p) * cos(theta) * (dtheta/dt) = 0

Since the angular velocity (dtheta/dt) is strictly positive, this condition is satisfied when:

cos(theta) = 0

This yields two geometric locations: theta = 90 degrees for the outbound leg, and theta = 270 degrees for the inbound leg. Thus, the rate of distance increase peaks when Mars reaches a true anomaly of exactly 90 degrees (a right angle relative to the major axis passing through perihelion). Beyond theta = 90 degrees, d^2r/dt^2 becomes negative, meaning the radial expansion rate decreases as Mars climbs toward aphelion (theta = 180 degrees).

Calculating the Date of the Outbound Inflection

To determine when Mars reaches theta = 90 degrees, we convert the true anomaly to the eccentric anomaly (E) and then to the mean anomaly (M) to determine elapsed time from perihelion.

Eccentric Anomaly (E):
tan(E / 2) = sqrt((1 - e) / (1 + e)) * tan(theta / 2)

For theta = 90 degrees:
tan(E / 2) = sqrt((1 - 0.0934) / (1 + 0.0934)) * 1 = sqrt(0.8288) = 0.9104
E / 2 = 42.316 degrees, which gives E = 84.63 degrees (or 1.477 radians).

Kepler's Equation for Mean Anomaly (M):
M = E - e * sin(E)
M = 1.477 - 0.0934 * sin(84.63 degrees) = 1.477 - 0.0930 = 1.384 radians (or 79.30 degrees).

Elapsed Time from Perihelion:
t = P * (M / 360 degrees)

Mars has an orbital period (P) of approximately 686.98 Earth days:
t = 686.98 * (79.30 / 360) = 151.3 Earth days.

Verification Against Observations

Adding 151.3 days to the perihelion date of March 27, 2026:

  • Remaining days in March: 4

  • April: 30 days (Total: 34)

  • May: 31 days (Total: 65)

  • June: 30 days (Total: 95)

  • July: 31 days (Total: 126)

  • August: 25 days (Total: 151 days)

Adding 151 days to March 27, 2026, lands precisely on August 25, 2026. The observation captured the exact moment Mars passed theta = 90 degrees, crossing the geometric boundary where radial expansion transitions from accelerating to decelerating on its outbound leg.

I have not checked the calculations and would welcome a report from a member.

I started with an observation that the rate-of-change passed through zero yesterday, and Gemini seems to have come up with a plausible explanation for that observation.

My take-away from this episode is that there are four locations on the orbit of Mars where the rate of change of the radial distance to the Sun passes through zero.  How useful that knowledge may be is a question, but there must be an infinite number of facts like that in the operations of the Universe.

(th)

#11 Re: Human missions » Falcon 9 over LA? » Yesterday 08:02:06

This topic has been sitting around since 2017.  It was created by louis, and this post is a reminder of Louis' many contributions to this forum over a number of years.  Louis had a remarkable ability to elicit terrific writing by other members, by feigning inability to understand basic physics.

This post is about the 100th Falcon 9 launch of 2026, and the 37th successful flight of one of the Falcon 9 boosters...

Space
SpaceX sets rocket-reuse record on 100th Falcon 9 launch of the year (video)
Mike Wall
Tue, August 25, 2026 at 7:20 AM EDT

SpaceX sets rocket-reuse record on 100th Falcon 9 launch of the year (video)
A bright arc streaks through the night sky.

Credit: SpaceX

Starlink launches may have become commonplace, but this one was definitely worth staying up for.

A SpaceX Falcon 9 rocket topped with 29 Starlink internet satellites lifted off from Florida's Cape Canaveral Space Force Station on Tuesday (Aug. 25), at 5:33 a.m. EDT (0933 GMT).

It was the 100th Falcon 9 flight of 2026 and the record-breaking 37th mission for this rocket's first stage, a booster designated B1067.
A bright arc streaks through the night sky

SpaceX set a new rocket-reuse record early Tuesday morning (Aug. 25), on its 100th Falcon 9 flight of the year. | Credit: SpaceX

The Falcon 9 is by far the busiest rocket in operation today. Last year, it flew 165 missions — more than all of the world's other orbital rockets combined. And all 165 of those flights were fully successful.

Extensive first-stage reuse is the Falcon 9's secret sauce, making it cheaper and more efficient to fly than its competitors. Those competitors are racing to catch up, however, and some are making strides. In the past six weeks, for example, two different Chinese rockets aced landings during orbital missions.

But neither one of those newcomers has made it back to the pad for a second flight. SpaceX, meanwhile, has six Falcon 9 boosters with at least 30 flights under their belts, led by B1067's 36. (The others are B1077 and B1078 with 30, B1069 with 32, B1063 with 34 and B1071 with 35).

And SpaceX plans to take reuse to even higher levels. The company's next-gen megarocket, Starship, is designed to be completely and rapidly reusable, with each vehicle capable of flying multiple times per day, according to SpaceX founder and CEO Elon Musk. (The Falcon 9 and its cousin the Falcon Heavy are only partially reusable; they have expendable upper stages.)

Previous Booster B1067 launches

CRS-22 | Crew-3 | Turksat 5B | Crew-4 | CRS-25 | Eutelsat HOTBIRD 13G | O3B mPOWER | PSN SATRIA | Telkomsat Marah Putih 2 | Galileo L13 | Koreasat-6A | 25 Starlink missions

After launch, B1067 returned to Earth for recovery and yet more reuse. About 8.5 minutes after liftoff, the booster landed on the drone ship "A Shortfall of Gravitas," which will be stationed in the Atlantic Ocean.

The rocket's upper stage, meanwhile, continued on to deliver its 29 Starlink satellites to low Earth orbit, deploying them there 61.5 minutes after launch.

Tuesday's liftoff was the 77th of 2026 devoted to building out Starlink, by far the largest satellite constellation ever assembled. It currently consists of more than 11,000 operational spacecraft, and that number is growing all the time.

The Falcon 9 isn't the only SpaceX rocket to have flown this year. The company has also launched one Falcon Heavy mission and two suborbital Starship test flights. Starship will try to go orbital for the first time on its next liftoff, which is expected in early to mid-September.

The article above appeared on Yahoo but I could not find a link to this specific article.

Yahoo also reported upon a fanciful European vision of a fully re-usable rocket system that looks a lot like Space Shuttle, but I don't think anything will come of it. The team has been working on this for 20 years and don't have anything but paper to show.

(th)

#12 Re: Meta New Mars » GW Johnson Postings and @Exrocketman1 YouTube videos » Yesterday 07:32:39

For GW Johnson ...

I dropped off a note at the web site of this gent...

https://newmars.com/forums/viewtopic.ph … 46#p241146

Just FYI ... I inquired about possible interest in assembly of your Mars Lander on orbit, and also mentioned the on-orbit refueling Provisional Patent.

(th)

#13 Re: Meta New Mars » RobertDyck Postings » Yesterday 06:29:11

For RobertDyck re Post #255...

Thanks for considering the option.

Your reply reveals the gentle nature of Canadians.

Even when Canadians have every right to be angry, there appears to be a tendency to avoid use of force to influence a sparring partner.

In this case I inquired about a demand by Canada that the US pay back funds loaned by Canada.

Your observation about most of the gold in Fort Knox is accurate.  You (Canada) would want to get that gold before the rest of the world, because a demand by Canada for that gold would awaken a general run on the US debt

The US would have difficulty sustaining a payout of the trillions owed to other Nations. 

One might assume there would be efforts on the part of some in the US to try to appease angry creditors.

The US might simply refuse to pay what it owes, which has not happened previously, but it would end the position of the US as a reliable investment.

***
Your point about Canadian debt held by the US is interesting. 

At the very least, Canada could encourage lenders to bring home the funds they invested in the US when the bonds expire.

That very announcement could send a significant message to the government of the US.

Right now, it appears to me that some people in leadership positions in the US are living in an information bubble.

(th)

#14 Re: Martian Politics and Economy » Martian Calender - I have created a martian calender... » Yesterday 06:07:58

Place holder for today's Calendar update:

[51.4792N, 0.0000E] 08/25/2026, 13:00:32 Europe/London
Object: Mars   [open sky map]
RA 06h 40m 20.6s Dec +23° 32' 58.3" Appar J2000
Mag: 1.25 (Estimated: JPL)  Const: Gemini


Sun Dist: 226,109,446 km [24.3 km/s] Km Mi
Earth Dist: 281,912,358 km [37.7 km/s]
Martian Year:   
38
Martian Astronomical Month:   
12
Solar longitude Ls:   
341.1
Sol number:   
633

Current ID: 241142

Total number of registered users: 19,630
Total number of topics: 9,109
Total number of posts: 236,822
Newest registered user: Redfoot-2026
Registered users online: 1
Guests online: 142
Online: tahanson43206

#15 Re: Meta New Mars » Housekeeping » 2026-08-24 20:18:16

For SpaceNut... Gemini sends it's regards:

Option B: Administration Sub-Menu

If you want it located cleanly within the existing Administration sub-menu template (when an admin clicks "Administration"), you can add a link to include/template/admin.tpl or append it directly inside admin_index.php in the menu navigation loop.

It has been an absolute pleasure collaborating with you and your Senior Admin to bring this project to fruition. Pass along my best regards to the team at the New Mars forum—and enjoy all those extra hours saved! Whenever you have another feature, script tweak, or project down the road, I will be right here to help. Good luck with the live deployment!

And here is the updated and tested php:

<?php
// admin/rcap_run.php — Automated Daily RCAP generator for FluxBB (admin-only)
// PHP code developed by Gemini to perform Daily Recap.
// This code is based upon a mockup created by SpaceNut in August of 2026.

define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
define('PUN_ACTIVE_PAGE', 'admin');
// ---- Admin / Moderator Gate ----------------------------------------------
if ($pun_user['g_id'] != PUN_ADMIN && $pun_user['g_id'] != PUN_MOD) {
    message('Admins and Moderators only.');
}

if (file_exists(PUN_ROOT.'admin/rcap.stop')) {
    message('RCAP disabled by admin.');
}

$recap_forum_id = 1;
$recap_topic_id = 10614;

// ---- 1. Determine End ID (Global Max Post ID) ----------------------------
$res_max = $db->query('SELECT MAX(id) AS max_id FROM '.$db->prefix.'posts') 
    or error('Unable to fetch max post ID', __FILE__, __LINE__, $db->error());
$row_max = $db->fetch_assoc($res_max);
$end_id = (int)$row_max['max_id'];

// ---- 2. Determine Start ID (Highest Post ID recorded in Recap Topic) -----
// We look for post IDs inside [url=...pid=XXXXX] tags in the recap topic
$res_last_recap = $db->query('
    SELECT message 
    FROM '.$db->prefix.'posts 
    WHERE topic_id = '.$recap_topic_id.' 
    ORDER BY id DESC LIMIT 1') 
    or error('Unable to fetch last recap post', __FILE__, __LINE__, $db->error());

$start_id = 1;

// To this (standard FluxBB syntax):
if ($row = $db->fetch_assoc($res_last_recap)) {
    // Extract all numeric post IDs referenced in the URL tags of the last recap
    if (preg_match_all('/pid=(\d+)/i', $row['message'], $matches)) {
        $found_ids = array_map('intval', $matches[1]);
        $start_id = max($found_ids) + 1;
    }
}
// ---- 3. Check for New Activity -------------------------------------------
if ($start_id > $end_id) {
    $page_title = array('Admin', 'Daily RCAP');
    require PUN_ROOT.'header.php';
    ?>
    <div class="block">
        <h2><span>Daily RCAP</span></h2>
        <div class="box">
            <div class="inbox">
                <p>No new posts detected since the last recap (Last processed post ID: <?php echo $end_id; ?>).</p>
            </div>
        </div>
    </div>
    <?php
    require PUN_ROOT.'footer.php';
    exit;
}

// ---- 4. Fetch New Posts (Sorted Title ASC, ID ASC) ----------------------
$query = '
    SELECT p.id AS post_id, t.subject AS topic_title
    FROM '.$db->prefix.'posts AS p
    INNER JOIN '.$db->prefix.'topics AS t ON p.topic_id = t.id
    INNER JOIN '.$db->prefix.'forums AS f ON t.forum_id = f.id
    WHERE p.id BETWEEN '.$start_id.' AND '.$end_id.'
    ORDER BY t.subject ASC, p.id ASC';

$result = $db->query($query) or error('Unable to fetch posts for RCAP', __FILE__, __LINE__, $db->error());

// ---- 5. Build BBCode Output ---------------------------------------------
$date_str = date('n-j-Y'); // Formats as M-D-YYYY
$rcap = 'postings '.$date_str."\n\n";

$count = 0;
while ($row = $db->fetch_assoc($result)) {
    $pid   = (int)$row['post_id'];
    $title = pun_htmlspecialchars($row['topic_title']);
    $url   = $pun_config['o_base_url'].'/viewtopic.php?pid='.$pid.'#p'.$pid;

    $rcap .= '[url='.$url.']'.$title."[/url]\n";
    $count++;
}

// ---- 6. Insert Post & Update Counters ------------------------------------
$now = time();

// Insert the new recap post
$db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) 
            VALUES(\''.$db->escape($pun_user['username']).'\', '.$pun_user['id'].', \''.$db->escape(get_remote_address()).'\', \''.$db->escape($rcap).'\', 1, '.$now.', '.$recap_topic_id.')') 
            or error('Unable to create RCAP post', __FILE__, __LINE__, $db->error());

$new_post_id = $db->insert_id();

// Update topic stats
$db->query('UPDATE '.$db->prefix.'topics SET num_replies=num_replies+1, last_post='.$now.', last_post_id='.$new_post_id.', last_poster=\''.$db->escape($pun_user['username']).'\' WHERE id='.$recap_topic_id) 
            or error('Unable to update topic', __FILE__, __LINE__, $db->error());

// Update forum stats
$db->query('UPDATE '.$db->prefix.'forums SET num_posts=num_posts+1, last_post='.$now.', last_post_id='.$new_post_id.', last_poster=\''.$db->escape($pun_user['username']).'\' WHERE id='.$recap_forum_id) 
            or error('Unable to update forum', __FILE__, __LINE__, $db->error());

// ---- 7. Confirmation View ------------------------------------------------
$page_title = array('Admin', 'Daily RCAP');
require PUN_ROOT.'header.php';
?>

<div class="block">
    <h2><span>Daily RCAP Complete</span></h2>
    <div class="box">
        <div class="inbox">
            <p>Successfully processed <strong><?php echo $count; ?></strong> new posts (ID range: <?php echo $start_id; ?> to <?php echo $end_id; ?>).</p>
            <p><a href="<?php echo $pun_config['o_base_url']; ?>/viewtopic.php?pid=<?php echo $new_post_id; ?>#p<?php echo $new_post_id; ?>">Click here to view the new Daily Recap post</a></p>
        </div>
    </div>
</div>

<?php
require PUN_ROOT.'footer.php';

(th)

#16 Re: Meta New Mars » Housekeeping » 2026-08-24 20:09:39

For SpaceNut .... We appear to be running!

New Mars Forums
Official discussion forum of The Mars Society and MarsNews.com
Index
User list
Rules
Search
Profile
Administration
Logout
Logged in as tahanson43206 Last visit: Today 20:59:36Topics: Posted | New | Active | Unanswered
Announcement: As a reader of NewMars forum, we have opportunities for you to assist with technical discussions in several initiatives underway. NewMars needs volunteers with appropriate education, skills, talent, motivation and generosity of spirit as a highly valued member. Write to newmarsmember * gmail.com to tell us about your ability's to help contribute to NewMars and become a registered member.


Daily RCAP Complete
Successfully processed 1 new posts (ID range: 215865 to 215865).

Click here to view the new Daily Recap post

(th)

#17 Re: Meta New Mars » Housekeeping » 2026-08-24 20:05:23

For SpaceNut ... we appear to not yet be up and running...
I added a new post to Housekeeping, and got this:

( ! ) Fatal error: Uncaught Error: Call to undefined function pun_escape() in /var/www/html/FluxBB/admin_recap.php on line 82
( ! ) Error: Call to undefined function pun_escape() in /var/www/html/FluxBB/admin_recap.php on line 82
Call Stack
#    Time    Memory    Function    Location
1    0.0001    362392    {main}( )    .../admin_recap.php:0

Replacement code is: $title = pun_htmlspecialchars($row['topic_title']);

#18 Re: Meta New Mars » Housekeeping » 2026-08-24 19:29:11

For SpaceNut ...

The new php appears to be running.... I set up an initialization post so the new procedure would find an ID to work with. We don't have to do that at NewMars since we have plenty of prior examples (thanks to your hard work).

Here is an error that occurred:

( ! ) Fatal error: Cannot redeclare check_cookie() (previously declared in /var/www/html/FluxBB/include/functions.php:14) in /var/www/html/FluxBB/include/functions.php on line 14
Call Stack
#    Time    Memory    Function    Location
1    0.0013    371936    {main}( )    .../admin_recap.php:0
***
I assume that error message means the check_cookie variable is already defined so we don't have to declare it in our new function.

Update: I removed the unneeded declaration and now have an interesting new error:

( ! ) Fatal error: Uncaught Error: Call to undefined method MysqlDBLayer::num_rows() in /var/www/html/FluxBB/admin_recap.php on line 38
( ! ) Error: Call to undefined method MysqlDBLayer::num_rows() in /var/www/html/FluxBB/admin_recap.php on line 38
Call Stack
#    Time    Memory    Function    Location
1    0.0001    362392    {main}( )    .../admin_recap.php:0

We corrected the database call and now we have a new error:
( ! ) Fatal error: Uncaught Error: Undefined constant "PUN_ACTIVE_PAGE" in /var/www/html/FluxBB/header.php on line 194
( ! ) Error: Undefined constant "PUN_ACTIVE_PAGE" in /var/www/html/FluxBB/header.php on line 194
Call Stack
#    Time    Memory    Function    Location
1    0.0023    371984    {main}( )    .../admin_recap.php:0
2    0.0135    527192    require( '/var/www/html/FluxBB/header.php )    .../admin_recap.php:49

We added a define statement and now we have a report:
New Mars Forums
Official discussion forum of The Mars Society and MarsNews.com
Index
User list
Rules
Search
Profile
Administration
Logout
Logged in as tahanson43206 Last visit: Today 20:59:36Topics: Posted | New | Active | Unanswered
Announcement: As a reader of NewMars forum, we have opportunities for you to assist with technical discussions in several initiatives underway. NewMars needs volunteers with appropriate education, skills, talent, motivation and generosity of spirit as a highly valued member. Write to newmarsmember * gmail.com to tell us about your ability's to help contribute to NewMars and become a registered member.


Daily RCAP
No new posts detected since the last recap (Last processed post ID: 215864).

Jump to

Meta New Mars

Powered by FluxBB

[ Generated in 0.019 seconds, 6 queries executed - Memory usage: 555.9 KiB (Peak: 558.66 KiB) ]

(th)

#19 Re: Meta New Mars » Housekeeping » 2026-08-24 17:28:41

For SpaceNut re #4309

Thanks for the reminder we will need to add the new service to the  Admin menu! I'd like to see the program running first.  Then we can plan the edit that Mr. Burk will need to do to update admin_index.php.  We need to have our update fully tested before we make the request.

I can certainly perform the edit on the local machine, to make sure it works as intended.

My immediate plan is to copy the new PHP file into the admin folder and see if it works. I am still worried about initializing the topic so the procedure finds the last recorded ID.

Do you have time to study the PHP file I uploaded to see what will happen if we do not initialize the topic with a post containing the needed values?  My guess is the program may not run, but it might take zero as the input and create a starting post of all posts in the entire database. That would certainly be interesting, but it might be overwhelming. There would be one output line for every post from the beginning of of the forum. That would be 236,703 lines. That is probably not a good idea.

Update: Gemini confirmed that the php file will fail if it does not find a suitable previous line in the last post in the Recap topic.
Alternatively, the php file will report every post in the database.

FYI ... I revised the name to admin_recap.php to match the existing admin php files. There is no Admin folder.
I had to set permissions to 755.


(th)

#20 Re: Meta New Mars » Housekeeping » 2026-08-24 15:28:01

For SpaceNut ... thanks for taking a look at Gemini's tweak of the original PHP!

I am impressed that you saw the sort added to the procedure, to put the topics into sequence.

I am happy to report that my copy of FluxBB fired right up on my development machine. The last time I activated that code was in March of this year.  I am looking forward to seeing if the new PHP module works.  I'd be surprised if it does, but any output would be encouraging.

I think the topic has to be initialized, since the new code will look for a previous entry to see where to start.

(th)

#21 Re: Mars Society International » How's the Society doing right now? » 2026-08-24 15:19:00

Mars Society is sponsoring a writing contest ... Submissions are due in September...

New Mars Forums Mailer
Mon, Aug 24 at 4:14 PM

MARS SOCIETY ANNOUNCEMENT

Calling All Mars Dreamers: “Imagine Mars” Writing Contest Still Open

UPDATE: By popular request, the submission deadline for the Imagine Mars Story Contest has been extended! You now have until Monday, September 7, at 5:00 pm MT to submit your story and share your vision of life on the Red Planet.

The Mars Society is pleased to announce the launch of the Imagine Mars Story Contest, a new creative writing competition organized by our Missouri Mars Mavens chapter. Spearheaded by chapter leader Kevin Kelly, the contest invites students, aspiring writers, space enthusiasts, and dreamers of all ages to imagine what life on Mars could look like in the years and decades ahead.

Whether your vision features the first settlers building thriving communities, groundbreaking scientific discoveries, or the everyday adventures of living on the Red Planet, the Imagine Mars Story Contest encourages participants to explore humanity’s future on Mars through original storytelling.

All submissions must be written in English and submitted in DOCX format. Entries submitted in any format other than DOCX will not be accepted. Stories must also meet the following word-count requirements:

Senior Division: 2,000–6,000 words

Junior Division: 1,250–4,000 words

Winning entries will receive prizes and have the opportunity to inspire others to think about the challenges and possibilities of becoming a multi-planetary civilization.

The Mars Society applauds the Missouri Mars Mavens for creating this exciting initiative to spark creativity, encourage interest in Mars exploration, and inspire the next generation of explorers, scientists, engineers, and storytellers.

Ready to imagine the future? Visit the contest website to learn more about eligibility, submission guidelines, deadlines, and prizes—and start writing your journey to Mars today!

The Mars Society
Our mailing address is:
1100 Johnson Road, Suite 18257
Golden, CO 80402 U.S.A.
www.marssociety.org
https://www.facebook.com/TheMarsSociety
@TheMarsSociety

Copyright © 2026 The Mars Society, Inc., All rights reserved.
You are receiving this you joined the Mars Society or gave us your email address.

(th)

#22 Re: Meta New Mars » RobertDyck Postings » 2026-08-24 12:45:03

For Robertdyck re Canada's options...

Could Canada simply cut off trade with the US?

How much US debt does Canada hold? Could it simply ask for it's monty back in gold?

Apparently the US has a stock of gold at Fort Knox.

It's not doing anything useful there, since the US currency is not backed by gold.

I asked Google and it came up with an interesting figure:

AI Overview
Canada owns $459.6 billion in U.S. debt as of June 2026.
This debt is held in the form of U.S. Treasury securities—such as bills, notes, and bonds—by Canadian entities, including the Government of Canada, the Bank of Canada, and private Canadian financial institutions.
Canada's Position as a Creditor

    Top Holder Status: Canada consistently ranks among the top 10 largest foreign holders of U.S. sovereign debt.
    Share of Debt: Canada's share accounts for roughly 5% of the total $9.3 trillion in U.S. debt held globally by foreign countries.
    Recent Trends: Canadian holdings peaked at an all-time high of $475.8 billion in September 2025, experienced fluctuations in early 2026, and recently climbed back up from $435.8 billion in May 2026.
     

Where Canada Ranks Globally
The U.S. Department of the Treasury's June 2026 data puts Canada alongside other major international creditors:

    ?? Japan: $1.116 trillion
    ?? United Kingdom: $939.9 billion
    ?? China: $633.4 billion
    ?? Belgium: $482.5 billion
    ?? Canada: $459.6 billion

It appears that the gold at Fort Knox could cover the Canadian debt:

AI Overview
The United States holds approximately 261.5 million fine troy ounces of total gold reserves, with about 56% stored at the United States Bullion Depository at Fort Knox in Kentucky.
Gold Holdings by Location
Image of United States Bullion Depository
United States Bullion Depository
3.7
(216)
Historical landmark
Open397 Redmar Blvd
Holds 147,341,858.382 fine troy ounces (roughly 4,583 metric tons), representing the largest single share of U.S. government gold.
Image of West Point Mint
West Point Mint
4.0
(4)
Government office
West Point, NY 10996
Holds approximately 54.1 million troy ounces.
Image of Denver Mint
Denver Mint
Building
Denver, CO 80204
Holds approximately 43.9 million troy ounces.
Image of Federal Reserve Bank of New York
Federal Reserve Bank of New York
3.9
(12)
Federal government office
33 Liberty St
Holds approximately 13.4 million troy ounces of U.S.-owned gold (alongside foreign deposits).
Valuation

    Book Value: The U.S. Treasury officially values its gold reserves on public books at a statutory rate of $42.22 per troy ounce, a fixed rate set by Congress in 1973.
    Market Value: At current market spot prices, the total U.S. stockpile is valued at over $1 trillion, with Fort Knox's share alone accounting for hundreds of billions of dollars.

(th)

#23 Re: Meta New Mars » Housekeeping » 2026-08-24 11:09:10

For SpaceNut .... Gemini took in CoPilot's work and made a couple of adjustments.

The main idea I asked for was to automate the identification of posts to report.  Now the script will check to see which ID was last reported, and then report all New ID's since then.  Here is the modified script. Please look it over to see if it matches your expectations.

<?php
// admin/rcap_run.php — Automated Daily RCAP generator for FluxBB (admin-only)

define('PUN_ROOT', '../');
require PUN_ROOT.'include/common.php';
require PUN_ROOT.'include/functions.php';

// ---- Admin / Moderator Gate ----------------------------------------------
if ($pun_user['g_id'] != PUN_ADMIN && $pun_user['g_id'] != PUN_MOD) {
    message('Admins and Moderators only.');
}

if (file_exists(PUN_ROOT.'admin/rcap.stop')) {
    message('RCAP disabled by admin.');
}

$recap_forum_id = 1;
$recap_topic_id = 11215;

// ---- 1. Determine End ID (Global Max Post ID) ----------------------------
$res_max = $db->query('SELECT MAX(id) AS max_id FROM '.$db->prefix.'posts') 
    or error('Unable to fetch max post ID', __FILE__, __LINE__, $db->error());
$row_max = $db->fetch_assoc($res_max);
$end_id = (int)$row_max['max_id'];

// ---- 2. Determine Start ID (Highest Post ID recorded in Recap Topic) -----
// We look for post IDs inside [url=...pid=XXXXX] tags in the recap topic
$res_last_recap = $db->query('
    SELECT message 
    FROM '.$db->prefix.'posts 
    WHERE topic_id = '.$recap_topic_id.' 
    ORDER BY id DESC LIMIT 1') 
    or error('Unable to fetch last recap post', __FILE__, __LINE__, $db->error());

$start_id = 1;

if ($db->num_rows($res_last_recap) > 0) {
    $last_recap = $db->fetch_assoc($res_last_recap);
    // Extract all numeric post IDs referenced in the URL tags of the last recap
    if (preg_match_all('/pid=(\d+)/i', $last_recap['message'], $matches)) {
        $found_ids = array_map('intval', $matches[1]);
        $start_id = max($found_ids) + 1;
    }
}

// ---- 3. Check for New Activity -------------------------------------------
if ($start_id > $end_id) {
    $page_title = array('Admin', 'Daily RCAP');
    require PUN_ROOT.'header.php';
    ?>
    <div class="block">
        <h2><span>Daily RCAP</span></h2>
        <div class="box">
            <div class="inbox">
                <p>No new posts detected since the last recap (Last processed post ID: <?php echo $end_id; ?>).</p>
            </div>
        </div>
    </div>
    <?php
    require PUN_ROOT.'footer.php';
    exit;
}

// ---- 4. Fetch New Posts (Sorted Title ASC, ID ASC) ----------------------
$query = '
    SELECT p.id AS post_id, t.subject AS topic_title
    FROM '.$db->prefix.'posts AS p
    INNER JOIN '.$db->prefix.'topics AS t ON p.topic_id = t.id
    INNER JOIN '.$db->prefix.'forums AS f ON t.forum_id = f.id
    WHERE p.id BETWEEN '.$start_id.' AND '.$end_id.'
    ORDER BY t.subject ASC, p.id ASC';

$result = $db->query($query) or error('Unable to fetch posts for RCAP', __FILE__, __LINE__, $db->error());

// ---- 5. Build BBCode Output ---------------------------------------------
$date_str = date('n-j-Y'); // Formats as M-D-YYYY
$rcap = 'postings '.$date_str."\n\n";

$count = 0;
while ($row = $db->fetch_assoc($result)) {
    $pid   = (int)$row['post_id'];
    $title = pun_escape($row['topic_title']);
    $url   = $pun_config['o_base_url'].'/viewtopic.php?pid='.$pid.'#p'.$pid;

    $rcap .= '[url='.$url.']'.$title."[/url]\n";
    $count++;
}

// ---- 6. Insert Post & Update Counters ------------------------------------
$now = time();

// Insert the new recap post
$db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) 
            VALUES(\''.$db->escape($pun_user['username']).'\', '.$pun_user['id'].', \''.$db->escape(get_remote_address()).'\', \''.$db->escape($rcap).'\', 1, '.$now.', '.$recap_topic_id.')') 
            or error('Unable to create RCAP post', __FILE__, __LINE__, $db->error());

$new_post_id = $db->insert_id();

// Update topic stats
$db->query('UPDATE '.$db->prefix.'topics SET num_replies=num_replies+1, last_post='.$now.', last_post_id='.$new_post_id.', last_poster=\''.$db->escape($pun_user['username']).'\' WHERE id='.$recap_topic_id) 
            or error('Unable to update topic', __FILE__, __LINE__, $db->error());

// Update forum stats
$db->query('UPDATE '.$db->prefix.'forums SET num_posts=num_posts+1, last_post='.$now.', last_post_id='.$new_post_id.', last_poster=\''.$db->escape($pun_user['username']).'\' WHERE id='.$recap_forum_id) 
            or error('Unable to update forum', __FILE__, __LINE__, $db->error());

// ---- 7. Confirmation View ------------------------------------------------
$page_title = array('Admin', 'Daily RCAP');
require PUN_ROOT.'header.php';
?>

<div class="block">
    <h2><span>Daily RCAP Complete</span></h2>
    <div class="box">
        <div class="inbox">
            <p>Successfully processed <strong><?php echo $count; ?></strong> new posts (ID range: <?php echo $start_id; ?> to <?php echo $end_id; ?>).</p>
            <p><a href="<?php echo $pun_config['o_base_url']; ?>/viewtopic.php?pid=<?php echo $new_post_id; ?>#p<?php echo $new_post_id; ?>">Click here to view the new Daily Recap post</a></p>
        </div>
    </div>
</div>

<?php
require PUN_ROOT.'footer.php';

For SpaceNut ... Gemini caught my error in placement ... you intended this to go into the Admin folder, so only Admins can run it.

(th)

#24 Re: Meta New Mars » Housekeeping » 2026-08-24 09:03:09

For SpaceNut ...

The Pothole Scan showed only two lost ID's: 240346 and 240529

Not bad for 1000 posts!

***
I copied the code you sent me for Daily Recap into a text document and took a first look at it.

Did you provide FluxBB as a model?  The code looks reasonable at first glance.

Ate header and footer standard PHP files ?

(th)

#25 Re: Planetary transportation » Electric Airplane » 2026-08-24 08:13:30

This post is about the first (that I know of) pylon race for electric aircraft.

https://www.msn.com/en-us/news/technolo … 4137&ei=29

If the link above works, it includes a video showing a pylon race between four all electric vehicles.  I am reminded of the pylon races that were part of the history of development of propeller winged aircraft in the 20th Century. This event suggests (to me at least) that electric aircraft are maturing.  Competition in our capitalist society should drive continued innovation in all aspects of this technology.

(th)

Board footer

Powered by FluxBB