you are viewing a single comment's thread
view the rest of the comments
[–] 28 points 1 year ago (10 children)

Is this present, future, or past timeline?

  • source
  • hideshow 10 child comments
  • [–] 43 points 1 year ago (7 children)

    OpenSSH version:

    • 10.0 was released 2025
    • 5.0 was released 2008
    • 1.2 was released 2005 (on unix)

    Extrapolating: OpenSSH 43.2 is millions of years into the future

    https://www.openssh.com/releasenotes.html

  • source
  • parent
  • hideshow 7 child comments
  • [–] 10 points 1 year ago (6 children)
  • [–] 32 points 1 year ago* (last edited 1 year ago) (5 children)

    Upon deeper analysis, you are correct. I was a bit floored by what appeared to be a power curve near the beginning, but after actually plotting, it's a simple linear trend:

    Data

    Code

      curl https://www.openssh.com/releasenotes.html \
         | sed -nr '/^<h3><a/s/.*OpenSSH ([0-9.]+).*\(([0-9-]+)\).*/\2\t\1/p' \
         | sort \
         | sed -r 's|([0-9]+)\.([0-9]+)\.([0-9]+)|\1.\2\3|' \
         | column -t -N 'Date,Version' > openssh.dat
      head openssh.dat
    

    Which yields:

    Date        Version
    2000-03-05  1.22
    2000-03-24  1.23
    ...
    2025-02-18  9.9
    2025-04-09  10.0
    

    Fit

    Code

      gnuplot -p -e '
        set xdata time;
        set timefmt "%Y-%m-%d";
        set xlabel "Date"; set format x "%Y";
        set ylabel "Version";
        f(x) = a*x + b;
        a = 1e-10; b = -100;
        fit f(x) "openssh.dat" using 1:2 via a,b;
        set label 1 sprintf("Fit: Version = (%.3e * Date) %.3f", a ,b) at graph 0.05,0.95 left;
        plot "openssh.dat" using 1:2 with points title "Versions", f(x) with lines title "Fit"
      '
    

    Which yields:

    Predict

    Use Y = (mX) + C, or Version = (9.55651e-09 * Date) -6.75132

    Code

    Note that Date are Epoch timestamps.

    export VERSION="43.2"
    
    date +%Y-%m-%d -d \
     @$(
        export m="9.55651e-09";
        export c="-6.75132";
        ## Use python for better scientific number handling 
        python -c "print(($VERSION - $c)/$m)"
     )
    

    For OpenSSH version 43.2, the predicted date is:

    2135-08-21

    So, assuming a linear trend and no cataclysmic events that would pause development for a few thousand years, then it's only 110 years into the future

  • source
  • parent
  • hideshow 5 child comments
  • [–] 3 points 1 year ago (3 children)

    This is Awesome! How did you learn to do that? I want to learn too

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 1 year ago* (last edited 1 year ago) (2 children)

    thanks! oh well data formatting, just 15 years of messing around with awk and sed

    Data fitting, gnuplot does all the heavy lifting with the modelling, and I always have to look up the syntax because I never remember it haha

    Play around and have fun with the code snippets!

  • source
  • parent
  • hideshow 2 child comments