Did you know undergrads at Oxford in 1335 were solving homework problems about objects moving with constant acceleration? This blew my mind.
As I explained yesterday, medieval scientists were deeply confused about the connection between force and velocity: it took Newton to realize force is proportional to πππππππππ‘πππ. But in the early 1300s, a group of researchers called the Oxford Calculators made huge progress in understanding objects that move with changing velocity.
They discovered something called the Mean Speed Theorem: an object moving at constant acceleration over some period of time goes just as far as if it were moving uniformly with the velocity it had at the middle instant of its motion!
That's really cool. But it gets better. They gave homework problems called 'sophisms' to the students of Merton College at Oxford. And in 1335, one of them named William Heytesbury wrote a book called π π’πππ πππ ππππ£πππ πππβππ ππ , which gives us a look at what these problems were like. Some of them required students to know the Mean Speed Theorem!
Later in the 1300s, Nicolas Oresmus in Paris gave a picture proof of the Mean Speed Theorem. For example, he pointed out that the triangle ACG below has the same area as the rectangle ACFD.
Why did it take so long for Galileo to rediscover this stuff? How did the knowledge of the Oxford Calculators get lost?
plato.stanford.edu/entries/nicβ¦
plato.stanford.edu/entries/heyβ¦
en.wikipedia.org/wiki/Oxford_Cβ¦

naught101
in reply to daniel:// stenberg:// • • •iliazeus
in reply to daniel:// stenberg:// • • •I think this one turned out to be the most informative one, or at least it piques my curiosity the most.
I think I'll try following along this graph with curl's version history at hand. For example, I now wonder what kind of refactoring happened around late 2011 - the older code amount drops rather sharply there :)
Urix Turing
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Urix Turing • • •daniel:// stenberg://
in reply to daniel:// stenberg:// • • •this is the version I'll make appear in the curl dashboard, starting tomorrow
curl.se/dashboard.html
curl - Project status dashboard
curl.sePeter Bindels
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Peter Bindels • • •Christoph Petrausch
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Christoph Petrausch • • •@hikhvar @dascandy
extract the data using git blame => github.com/curl/stats/blob/masβ¦
render the graph from the data the script generated using gnuplot => github.com/curl/stats/blob/masβ¦
stats/codeage.pl at master Β· curl/stats
GitHubKees Cook (old account)
in reply to daniel:// stenberg:// • • •Kees Cook (old account)
in reply to Kees Cook (old account) • • •daniel:// stenberg://
in reply to Kees Cook (old account) • • •Kees Cook (old account)
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Kees Cook (old account) • • •Christoph Petrausch
in reply to daniel:// stenberg:// • • •Kees Cook (old account)
in reply to Christoph Petrausch • • •@hikhvar @dascandy Yeah, it's not as steep as with curl, but I'm starting to see it getting deeper with each segment. The 2016-2018 segment seems to eat into prior areas much more than the other year segments.
I'm so impatient! Blame, git, blame! ;)
Christoph Petrausch
in reply to Kees Cook (old account) • • •Kees Cook (old account)
in reply to Christoph Petrausch • • •daniel:// stenberg://
in reply to Kees Cook (old account) • • •Kees Cook (old account)
in reply to daniel:// stenberg:// • • •kernel-tools/stats at trunk Β· kees/kernel-tools
GitHubdaniel:// stenberg:// reshared this.
kurtseifried
in reply to Kees Cook (old account) • • •Kees Cook (old account)
in reply to kurtseifried • • •daniel:// stenberg://
in reply to Kees Cook (old account) • • •Kees Cook (old account)
in reply to Kees Cook (old account) • • •daniel:// stenberg://
in reply to Kees Cook (old account) • • •Alex Rock
in reply to daniel:// stenberg:// • • •How did you gather the data to generate this graph?
This would be very helpful for some respositories π
daniel:// stenberg://
in reply to Alex Rock • • •@pierstoval git blame is our friend. This is my (fairly small) perl script that extracts all the data:
github.com/curl/stats/blob/masβ¦
stats/codeage.pl at master Β· curl/stats
GitHubAlex Rock
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Alex Rock • • •Alex Rock
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Alex Rock • • •daniel:// stenberg://
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to daniel:// stenberg:// • • •Alex Rock
in reply to daniel:// stenberg:// • • •Thanks, did that, also removed the "print cache" statement.
I'll make a fork in order to simplify reviewing it π
daniel:// stenberg://
in reply to Alex Rock • • •Alex Rock
in reply to daniel:// stenberg:// • • •Yep, it's 20 years old and has like thirty thousand commits, might take a while indeed :)
Here's the current diff: github.com/Pierstoval/stats/puβ¦
It's not gathering data yet, I'm on it :)
Custom usage by Pierstoval Β· Pull Request #1 Β· Pierstoval/stats
GitHubdaniel:// stenberg://
in reply to Alex Rock • • •Alex Rock
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Alex Rock • • •kernel-tools/stats at trunk Β· kees/kernel-tools
GitHubAlex Rock
in reply to daniel:// stenberg:// • • •Alex Rock
in reply to daniel:// stenberg:// • • •I had some time this evening to check it out, turns out the very little things I did allow me to have an output, but it looks like this:
β― perl stats/codeage.pl
2015-09-15;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2015-11-27;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2016-04-01;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2016-04-11;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2016-07-19;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2016-07-27;0;0;0;0;0;0;0;0;0;0;0;0;0;0
2016-11-15;0;0;0;0;0;0;0;0;0;0;0;0;0;0
I'm trying to look where the 0s come from
Alex Rock
in reply to Alex Rock • • •If I remove the "if" statement in the "sub show" function, apparently it gives me an output, though very slowly as you mentioned before:
β― perl stats/codeage.pl
2015-09-15;0;0;0;12287;29598;54171;113862;150511;178495;178495;178495;178495;178495;178495
2015-11-27;0;0;0;12287;29337;53754;113326;149811;187962;187962;187962;187962;187962;187962
I don't know if these kind of data are relevant, but it's another output.
I pushed it to my fork, on the PR in an earlier post :)
daniel:// stenberg://
in reply to Alex Rock • • •daniel:// stenberg://
in reply to daniel:// stenberg:// • • •Alex Rock
in reply to daniel:// stenberg:// • • •It seems to be okay when using @kees's scripts! The automatic cache definitely helps a lot π
I will let it run through all day and wait for more details π
daniel:// stenberg://
in reply to Alex Rock • • •daniel:// stenberg://
in reply to daniel:// stenberg:// • • •my current look
See the fc instructions per plot in github.com/curl/stats/blob/masβ¦
stats/codeage.plot at master Β· curl/stats
GitHubdaniel:// stenberg://
Unknown parent • • •Manvir Clair
in reply to daniel:// stenberg:// • • •Jean Luc am Grimmsten
in reply to daniel:// stenberg:// • • •Daniel BΓΆhmer
in reply to daniel:// stenberg:// • • •Really the best visualization of this dataset so far!
I find it confusing that only even years like 2000, 2002, etc. are listed. Did you skip every 2nd year? If data for each two years is accumulated please write "2000-2001" in the key.
daniel:// stenberg://
in reply to Daniel BΓΆhmer • • •Daniel BΓΆhmer
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Daniel BΓΆhmer • • •Daniel BΓΆhmer
in reply to daniel:// stenberg:// • • •May a make two (edit: three) suggestions:
a) write "2000 f." for 2000β2001 like common for giving page numbers in citations.
(I just learned that "f." is for giving someoneβs birthdate in Swedish π )
en.wiktionary.org/wiki/f.#Adjeβ¦
b) Use "β€" or "β₯" mathematical operators. As the key is most probably read from the top to the bottom maybe give the lower number year instead like
- β₯ 2023
- β₯ 2021
- β₯ 2019
- β¦
- < 2000
c) short form 2000/01 to 2023/24
f. - Wiktionary, the free dictionary
Wiktionarydaniel:// stenberg://
in reply to Daniel BΓΆhmer • • •Daniel BΓΆhmer
in reply to daniel:// stenberg:// • • •Youβre so quick! I find this better than take 4, for sure.
If you want to minimize text space Iβd consider this the optimal solution.
But to be honest I think itβs a bit too technical evenβfor software people. it takes a moment to understand this means each color represents two years β¦
More than Β½ h after posting my suggestions I tend to think option C (that I added to the post) might be the most common notation: just "2023/24". Donβt you think? At least Germans use that a lot.
daniel:// stenberg://
in reply to Daniel BΓΆhmer • • •sirjofri
in reply to daniel:// stenberg:// • • •@dboehmer for me, reading the graph part makes everything very clear. Like, the year number is just a point in time, at the transition between two years (e. g. black covers 2010-2012).
It would also be possible to work with dashes, like saying "up to 2002", though that needs a different numbering then:
- 2000
- 2002
- 2004
...
daniel:// stenberg://
Unknown parent • • •robryk
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
Unknown parent • • •