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
Is this present, future, or past timeline?
OpenSSH version:
Extrapolating: OpenSSH 43.2 is millions of years into the future
https://www.openssh.com/releasenotes.html
That doesn’t seem right
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:
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
in relation to what?
I love you