Skip to content

Conversation

@Yewzir
Copy link
Contributor

@Yewzir Yewzir commented Sep 25, 2025

What I'm trying to improve here is the often long wait times for the GNU languages. Currently, they use ftp.gnu.org/gnu/, but it usually takes a long time to get there. It's quite unpredictable, but I think this can be improved. Based on these commits, ftpmirror.gnu.org/gnu/ is used to navigate to the currently available and usually fastest mirror service. This service is only consulted once for the first GNU language in the list and is maintained for all other GNU languages. Unfortunately, the sorting ?C=M;O=D is lost by simply changing "ftp" to "ftpmirror", and not every mirror service supports this sorting method, but I've tried to solve this as best I can.

@github-actions github-actions bot added the conflicts Pull Request has conflicts. label Sep 25, 2025
@github-actions github-actions bot removed the conflicts Pull Request has conflicts. label Sep 25, 2025
Yewzir added 3 commits October 1, 2025 20:33
Here I've used a different approach. The assignment for the first
language in the list is saved and processed for use with the other
languages. This seems more efficient than repeatedly executing the query
method.
I think I've run the script almost a thousand times, if not more. With
the most recent commit, it never crashed, so here it is.
@Yewzir Yewzir marked this pull request as ready for review October 2, 2025 16:21
@Yewzir
Copy link
Contributor Author

Yewzir commented Nov 3, 2025

Now is a good time for reproduction, because things have been going smoothly the last few weeks, but as I said before, it is quite unpredictable.

$ time ./latest-langs AWK Bash Forth sed
         AWK       5.3.2 → 5.3.2
        Bash       5.3.3 → 5.3
       Forth       0.7.3 → 0.7.3
         sed         4.9 → 4.9

real    3m29.247s
user    0m1.774s
sys     0m0.042s
$ time ./latest-langs AWK Bash Forth sed
         AWK       5.3.2 → 5.3.2
        Bash       5.3.3 → 5.3
       Forth       0.7.3 → 0.7.3
         sed         4.9 → 4.9

real    6m12.147s
user    0m1.586s
sys     0m0.103s

@Yewzir Yewzir changed the title Also use mirror services for GNU languages in the "latest-langs" script Also use mirror services for GNU languages in the "latest-langs" script and show a progress bar like curl Dec 8, 2025
@Yewzir
Copy link
Contributor Author

Yewzir commented Dec 8, 2025

The last commit causes a progress bar to appear while the script is executing, regardless of how the script was started.

oh@Yewzir:~/code-golf$ ./latest-langs --all
########################                                                  34.4%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant