this post was submitted on 26 Jun 2025
215 points (99.1% liked)

unix_surrealism

2643 readers
79 users here now

one should not chase the electric dream

This community is for sharing original content related to computers, content, surrealism and wizardry.

Now that you're a surrealist, become a Techno-Mage:

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 40 points 2 days 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

[–] [email protected] 9 points 1 day ago (6 children)
[–] [email protected] 23 points 1 day ago* (last edited 1 day 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

[–] [email protected] 1 points 10 hours ago (1 children)

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

[–] [email protected] 2 points 9 hours ago* (last edited 9 hours ago) (1 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!

[–] [email protected] 1 points 8 hours ago (1 children)

I will!

And I'm going to give a look at awk and sed, I didn't know you can do all that stuff with it.

Thanks for sharing :D

[–] [email protected] 2 points 8 hours ago

I seem to be on a gnuplot bender at the moment, but maybe you will enjoy this too!

load more comments (3 replies)
load more comments (3 replies)
load more comments (3 replies)