Barnstar

edit
The Original Barnstar
This barnstar is awarded to everyone who - whatever their opinion - contributed to the discussion about Wikipedia and SOPA. Thank you for being a part of the discussion. Presented by the Wikimedia Foundation, January 21, 2012.

A barnstar for you!

edit
The Technical Barnstar
Congratulations, Tom.Reding, you've recently made your 1,000th edit to articles on English Wikipedia!

Thank you for all the great DAB work you've been doing recently, and for all your contributions to the encyclopedia. Keep it up! :) Maryana (WMF) (talk) 23:17, 16 April 2012 (UTC)Reply

A barnstar for you!

edit
Working Wikipedian's Barnstar
For your incredible WikiGnoming over the past few months. I am in awe. A2soup (talk) 23:25, 22 February 2015 (UTC)Reply

Thank you! :)   ~ Tom.Reding & his 200-some-odd lines of regex (talkcontribsdgaf)  02:03, 23 February 2015 (UTC)Reply

A barnstar for you!

edit
The Tireless Contributor Barnstar
You have nearly single-handedly eliminated the minor planet notability problem, which had stood for seven years before you decided to tackle it, because nobody wanted to do the massive amount of work required. If this doesn't deserve a barnstar, I'm not sure what does. StringTheory11 (t  c) 17:49, 3 May 2015 (UTC)Reply

A barnstar for you!

edit
The Tireless Contributor Barnstar
For dealing with the minor planet clusterfuck as efficiently as you have! Headbomb {talk / contribs / physics / books} 04:13, 1 February 2016 (UTC)Reply

There's nothing quite like cleaning up a good, 'ol-fashioned clusterfuck. Thanks for pointing me in the right direction :)   ~ Tom.Reding (talkdgaf)  04:17, 1 February 2016 (UTC)Reply

BTW, this isn't just for the recent banner tagging, but for the shear amount of effort involved in cleaning up the mess for the past year or so. Possibly longer. Headbomb {talk / contribs / physics / books} 00:27, 2 February 2016 (UTC)Reply

A barnstar for you!

edit
The Technical Barnstar
thanks for helping me with the search codes! Jennica / talk 20:10, 9 April 2017 (UTC)Reply

Thank you for being one of Wikipedia's top medical contributors!

edit
please help translate this message into your local language via meta
The 2016 Cure Award
In 2016 you were one of the top ~200 medical editors across any language of Wikipedia. Thank you from Wiki Project Med Foundation for helping bring free, complete, accurate, up-to-date health information to the public. We really appreciate you and the vital work you do! Wiki Project Med Foundation is a user group whose mission is to improve our health content. Consider joining here, there are no associated costs.

Thanks again :-) -- Doc James along with the rest of the team at Wiki Project Med Foundation 18:08, 3 May 2017 (UTC)Reply

Barnstar awarded

edit
The Redirect Barnstar
Your diligent work in the area of redirect categorization and improvement is duly recognized and greatly appreciated. You are truly one of the unsung heroes of Wikipedia, and we hope you continue to enjoy your improvement of this awesome encyclopedia! On behalf of your fellow editors—and the millions of readers of our work—I sincerely thank you for your contributions that have improved the encyclopedia for everyone. Senator2029 “Talk” 08:33, 8 June 2017 (UTC)Reply

A barnstar for you!

edit
The Editor's Barnstar
Thank you very much for helping and editing the Joe Campos Torres article, your assistance put a BIG SMILE on my face!
Vwanweb (talk) 16:53, 31 December 2017 (UTC)Reply
My pleasure; that was a satisfying edit :)   ~ Tom.Reding (talkdgaf)  16:56, 31 December 2017 (UTC)Reply

Another barnstar for you!

edit
The Bio-star
In recognition of your recent contributions to the Life Sciences on en:Wikipedia, analyzing and helping to improve the quality of articles, based on scientific data. Your efforts demonstrate tremendous potential into enhancing the scientific accuracy of The Free Encyclopedia.

I am tremendously appreciative of your efforts, especially on the preliminary Taxonomic analysis.

~ Mellis (talk) 23:48, 31 December 2017 (UTC)Reply

Editor of the Week

edit
Editor of the Week
Your ongoing efforts to improve the encyclopedia have not gone unnoticed: You have been selected as Editor of the Week in recognition of your constant positive demeanor. Thank you for the great contributions! (courtesy of the Wikipedia Editor Retention Project)

User:Buster7 submitted the following nomination for Editor of the Week:

I am always on the lookout for potential Editor of the Week candidates, for editors that fly under the radar, whose efforts are unknown except to a few. They don't make a splash, they don't emit a 'notice me' kind of behavior; they just quietly tackle the hard jobs. Tom.Reding is that kind of editor. A while back he "thanked me" via the Thanks Notification for awarding the Editor of the Week to a fellow editor. So, I looked into him and found an editor that does many important WP improving things. He is a working editor (535,847 live and undeleted edits) that fixes, populates, corrects, standardizes, cleans, parses, tries, peruses, adds, formats, listens, expands, updates, corrects, creates, assigns and (my favorite) "consistifies". A member of Wikiproject Astronomy and Wikiproject Tree of Life, he has recently been granted the page mover user right. He provides a human eye and understanding to "bot" problems that arise. In the area of redirect categorization he willingly puts his head together with other editors to work toward solution. A deserving recipient.

You can copy the following text to your user page to display a user box proclaiming your selection as Editor of the Week:

{{User:UBX/EoTWBox}}
Project Med Foundation
Tom.Reding
 
Editor of the Week
for the week beginning January 28, 2018
Quietly tackles the hard jobs. 536000 live and undeleted edits. A page mover. Understands "bot" problems. A deserving recipient.
Recognized for
work in redirect categorization
Notable work(s)
Wikiproject Astronomy and Wikiproject Tree of Life
Submit a nomination

Thanks again for your efforts! Buster7  20:38, 28 January 2018 (UTC)Reply

! XD <3 TY!   ~ Tom.Reding (talkdgaf)  20:56, 28 January 2018 (UTC)Reply

The AWB Barnster

edit
The AWB Barnster
Fixing many depreciated syntax on infobox images. Iggy (Swan) 22:14, 12 February 2018 (UTC)Reply

A barnstar for you!

edit
Olympic Barnstar
For your excellent work in getting the bot up and running to tag biographies for the Olympic Wiki Project. Thank you! Lugnuts Fire Walk with Me 10:00, 17 March 2018 (UTC)Reply
Thanks, my pleasure :)   ~ Tom.Reding (talkdgaf)  12:04, 17 March 2018 (UTC)Reply

Thank you for being one of Wikipedia's top medical contributors!

edit
please help translate this message into your local language via meta
The 2016 Cure Award
In 2016 you were one of the top ~200 medical editors across any language of Wikipedia. Thank you from Wiki Project Med Foundation for helping bring free, complete, accurate, up-to-date health information to the public. We really appreciate you and the vital work you do! Wiki Project Med Foundation is a user group whose mission is to improve our health content. Consider joining here, there are no associated costs.

Thanks again :-) -- Doc James along with the rest of the team at Wiki Project Med Foundation 18:08, 3 May 2017 (UTC)Reply

Congrats on joining the million edit club!

edit
The Tireless Contributor Barnstar
Congratulations on being the seventh editor on the English Wikipedia to do over a million non-bot edits! ϢereSpielChequers 12:14, 17 May 2018 (UTC)Reply
Thanks! I never thought I'd do so much, but I just keep finding things to fix/improve :)   ~ Tom.Reding (talkdgaf)  13:12, 17 May 2018 (UTC)Reply

A barnstar for you!

edit
The Space Barnstar
For your astronomic contributions! For taking up so much space!

With apologies for the puns, Ira Leviton (talk) 20:17, 8 June 2018 (UTC)Reply

A Dobos torte for you!

edit
7&6=thirteen () has given you a Dobos torte to enjoy! Seven layers of fun because you deserve it.


To give a Dobos torte and spread the WikiLove, just place {{subst:Dobos Torte}} on someone else's talkpage, whether it be someone you have had disagreements with in the past or a good friend.

7&6=thirteen () 16:09, 15 October 2018 (UTC)Reply

You have used your gifts well, Padawan

edit
Bringing order out of chaos
OCD. It's not an affliction. It is a gift, and is part of the job description for being a Wikipedia editor. See WP:wikiholic.

"Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering."

Takes one to know one. Best regards. 7&6=thirteen () 16:36, 15 October 2018 (UTC)Reply

7&6=thirteen, thank you :) And I really should take the test, but I can't be bothered while editing...perhaps that is or should be one of the questions??   ~ Tom.Reding (talkdgaf)  16:49, 15 October 2018 (UTC)Reply

Thank you for being one of Wikipedia's top medical contributors!

edit
The 2018 Cure Award
In 2018 you were one of the top ~250 medical editors across any language of Wikipedia. Thank you from Wiki Project Med Foundation for helping bring free, complete, accurate, up-to-date health information to the public. We really appreciate you and the vital work you do! Wiki Project Med Foundation is a user group whose mission is to improve our health content. Consider joining here, there are no associated costs.

Thanks again :-) -- Doc James along with the rest of the team at Wiki Project Med Foundation 17:41, 28 January 2019 (UTC)Reply

A barnstar for you!

edit
The Original Barnstar
Jobe well done when it comes to the article on Prof. Helmut Veith (1971-2016). Terrenus (talk) 14:48, 26 November 2019 (UTC)Reply

Thank you for being one of Wikipedia's top medical contributors!

edit
please help translate this message into your local language via meta
The 2019 Cure Award
In 2019 you were one of the top ~300 medical editors across any language of Wikipedia. Thank you from Wiki Project Med for helping bring free, complete, accurate, up-to-date health information to the public. We really appreciate you and the vital work you do! Wiki Project Med Foundation is a thematic organization whose mission is to improve our health content. Consider joining here, there are no associated costs.

Thanks again :-) -- Doc James along with the rest of the team at Wiki Project Med Foundation 18:35, 5 March 2020 (UTC)Reply

A barnstar for your efforts

edit
The Working Wikipedian's Barnstar
Thank you for your continued service adding to Wikipedia throughout 2020. - Cdjp1 (talk) 14:01, 20 January 2021 (UTC)Reply
:)   ~ Tom.Reding (talkdgaf)  15:40, 20 January 2021 (UTC)Reply

Precious

edit

astronomy gnome

Thank you for quality gnomish work on a large scale, making {{authority control}} available, creating redirects and talk pages, for writing and maintaining astronomy-related articles and categories such as Abell 665 and Category:Discoveries by Carl W. Hergenrother, - Tom, user conceived with a sploof in 2009, you are an awesome Wikipedian!

You are recipient no. 2523 of Precious, a prize of QAI. --Gerda Arendt (talk) 19:49, 29 January 2021 (UTC)Reply

@Gerda Arendt: thank you very much, I'm honored :)   ~ Tom.Reding (talkdgaf)  21:32, 29 January 2021 (UTC)Reply
I hope you don't mind that it's the prize of the cabal of the outcast ;) --Gerda Arendt (talk) 21:35, 29 January 2021 (UTC)Reply

A barnstar for you!

edit
The Bot Creator Barnstar
For putting your OCD to good use when you created Tom.Bot. Scorpions13256 (talk) 23:27, 13 February 2021 (UTC)Reply

I see we both have OCD. I had no choice but to give you this barnstar. Scorpions13256 (talk) 23:27, 13 February 2021 (UTC)Reply

Thank you, comrade.   ~ Tom.Reding (talkdgaf)  04:21, 14 February 2021 (UTC)Reply

A barnstar for you!

edit
The Original Barnstar
thank you for all your help here. Paulhus15 (talk) 09:59, 1 March 2021 (UTC)Reply

A barnstar for you!

edit
The Original Barnstar
Just a barnstar for you!

Your userboxes were fascinating and you seem like a really interesting person. I also somehow see you on every page I edit.

Thanks for the contributions you have made! Hhzhang2345 Hhzhang2345 (talk) 16:16, 12 March 2021 (UTC)Reply

A Barnstar for you!

edit
The Tireless Contributor Barnstar
Thank you for helping edit Wikipedia and make the encyclopedia a better place for others. Thank you and keep up the good work. --ThanosYourGod (talk) 22:08, 12 March 2021 (UTC)Reply

A barnstar for you!

edit
The Tireless Contributor Barnstar
Thanks a lot for adding authority control to so many articles Paradise Chronicle (talk) 23:13, 5 April 2021 (UTC)Reply

For improving Navseasoncats

edit
What a Brilliant Idea Barnstar
…or rather, what a succession of brilliant improvements you have made to {{Navseasoncats}}! – Fayenatic London 19:58, 16 October 2021 (UTC)Reply

Barn!

edit
The Working Man's Barnstar
For your tireless work in repetitive and laborious tasks. Cheers! Thinker78 (talk) 04:33, 31 January 2024 (UTC)Reply

A barnstar for you!

edit
The Space Barnstar
I just wanted to say "thank you" for picking up the torch of updating the list of minor planets! (And I hope Rfassbind is doing fine too off WP!) Double sharp (talk) 08:44, 24 February 2024 (UTC)Reply
Thank you Double sharp! (and thanks for the reminder for the latest big batch :)   ~ Tom.Reding (talkdgaf)  12:54, 24 February 2024 (UTC)Reply

Another barnstar for you!

edit
The Tireless Contributor Barnstar
Congratulations on becoming the fourth-ranked editor by number of edits. I know exactly how difficult that is! BD2412 T 15:52, 11 April 2024 (UTC)Reply

A barnstar for you!

edit
The Tireless Contributor Barnstar
Congratulations for reaching three million edits! GTrang (talk) 03:52, 15 September 2024 (UTC)Reply

A barnstar for you!

edit
The Tireless Contributor Barnstar
Congratulations on crossing three million edits! No doubt a massive accomplishment. Best wishes. Red Director (talk) 21:34, 26 September 2024 (UTC)Reply

Have a pint.

edit
For all your hard work! Babysharkboss2!! (Trout me, pull the trigger.) 13:19, 4 October 2024 (UTC)Reply
though logically that mug has a tad less then a pint according to my extensive research.Babysharkboss2!! (Trout me, pull the trigger.) 13:30, 4 October 2024 (UTC) Reply
Enjoyed & appreciated either way :)   ~ Tom.Reding (talkdgaf)  14:25, 4 October 2024 (UTC)Reply

A barnstar for you!

edit
The Tireless Contributor Barnstar
Thanks for clearing Category:Pages with redundant living parameter! It means a lot! OpalYosutebito (talk) 14:13, 14 November 2024 (UTC)Reply

smiley award!

edit
For your contributions to Wikipedia and humanity in general, you are hereby granted the coveted Random Smiley Award.
(Explanation and Disclaimer)

Ame ★ (talk) 19:05, 19 November 2024 (UTC)Reply

:)   ~ Tom.Reding (talkdgaf)  19:06, 19 November 2024 (UTC)Reply

Some cookies for edit 1.25 billion

edit
Cookies!

Departure– has given you some cookies! Cookies promote WikiLove and hopefully this one has made your day better. You can spread the "WikiLove" by giving someone else some cookies, whether it be someone you have had disagreements with in the past or a good friend.

A belated congratulations for making edit 1,250,000,000 to Wikipedia - an automated edit to Talk:Indium-126n on 7 October 2024. This milestone is 1/8th the way to 10 billion edits, which will likely be achieved before the next global ice age, and your nearly four million edits are getting us closer every day to that goal. Cheers!

To spread the goodness of cookies, you can add {{subst:Cookies}} to someone's talk page with a friendly message, or eat this cookie on the giver's talk page with {{subst:munch}}!

Departure– (talk) 14:30, 27 January 2025 (UTC)Reply
:o ty :)   ~ Tom.Reding (talkdgaf)  15:54, 27 January 2025 (UTC)Reply

Precious anniversary

edit

A barnstar for you!

edit
The Original Barnstar
Congratulations on hitting four million edits! Best wishes. Red Director (talk) 16:53, 27 February 2025 (UTC)Reply

V Vescovo page question from subject

edit

Hi Tom. Thank you for becoming involved in the page about me. I strongly avoid editing my own page (unless there is an ad hominem attack on it, as there was a couple of years ago). But looking for your advice, on an unusual matter. (The page is: Victor Vescovo, undersea explorer and investor)

For biographies of living persons, it is usual to have at least some mention of their 'Personal Relationships/Married Status.' Thankfully, I have been able to avoid that, but I had an ex-girlfriend I lived with for 7 years accuse me of being married to her via common law marriage law in Texas. It was a preposterous claim, and I took it all the way to a jury verdict after a 1.5 year trial. Jury found that, no, we weren't married in a 12-0 unanimous verdict in 30 minutes . . . but she keeps claiming that we were married on social media.

It would be very helpful to have a very simple, brief, section on my page that says I have never been married and have no kids. If it would be helpful, to clear up the confusion, to add that a "previous girlfriend" (I'd rater not name her which would give her prominence in the search engines) claimed she was married to me, but a Texas court ruled that the were not. I can provide a pdf of the jury and judge verdict and order dismissing the case. Just not sure how to work this within the rules of Wikipedia as I always want to do the right thing in terms of editing. I love your engineering background, and you seem very fair, so just looking for advice on how to handle this, as I think the information is now pertinent and Wikipedia is such an authoritative source on things like this.

Thank you for your time, Victor Vescovo 2600:100C:B24A:AAA3:9501:D4A:2F73:B66E (talk) 2600:100C:B24A:AAA3:9501:D4A:2F73:B66E (talk) 14:28, 23 May 2025 (UTC)Reply

@Vlvescovo: did you write this? If so, I'll move this discussion to Talk:Victor Vescovo, as that is the most relevant, centralized location. It is best to log in to Wikipedia before leaving a message (if possible), so that the message can be attributed to your verified account, and not a random IP address.   ~ Tom.Reding (talkdgaf)  12:10, 25 May 2025 (UTC)Reply
Sorry, just saw this. Thank you sir. I am fine with the Personal Infoo section currently. It is accurate, and concise. Appreciate it. Best, Vlvescovo (talk) 19:55, 4 April 2026 (UTC)Reply

Wiki page gone

edit

It has been brought to my attention that my athlete wiki page “Barry Nobles” has been deleted. When I see the history, you’re the last one to have edited that page. I’m not sure how all of this works so I figured I’d reach out to you. Do you know how can I get this page back running? Thanks! Bikeman2000 (talk) 16:05, 29 May 2025 (UTC)Reply

Barry Nobles was redirected to Caroline Buchanan 4 years ago at this AfD discussion. For what you can do, see Help:My article got nominated for deletion!#What you can do after deletion? & Wikipedia:Why was the page I created deleted?#What you can do about it.   ~ Tom.Reding (talkdgaf)  10:04, 30 May 2025 (UTC)Reply

John James Mackintosh Shaw

edit

Note

edit

Hello!

For the LoMP (which I thank you for your outstanding efforts on them), asteroids 811001 to 811552 were numbered but has not yet appeared on the LoMP. Can you please fix that? Also, it will be appreciated if the remaining info (group, diameter, categorization) are added to the recent batches! Thank you! Elios Peredhel (talk) 08:59, 26 June 2025 (UTC)Reply

Help with Collaboration on Project?

edit

Hello Tom would you be interested in contributing to an additional legal software page? Marktorres823 (talk) 02:04, 16 July 2025 (UTC)Reply

Taxobox articles missing a taxonbar

edit

Category:Taxobox articles missing a taxonbar is rather full. Many of the articles have the wikitext species of [[beetle]] of the family [[Chrysomelidae]] and were created by B33tleMania12, I assume using some kind of template which doesn't include {{Taxonbar}}. Could some kind of bot run fix these articles? Peter coxhead (talk) 10:04, 5 September 2025 (UTC)Reply

Actually the same is true for Category:Taxobox articles possibly missing a taxonbar. Peter coxhead (talk) 10:06, 5 September 2025 (UTC)Reply

 Done for Category:Taxobox articles missing a taxonbar (18), but almost all of those listed in Category:Taxobox articles possibly missing a taxonbar either don't have a Wikidata item yet, or don't have a PID recognized by Taxonbar.
B33tleMania12 might want to collaborate with Edibobb/Qbugbot, who did a very good & thorough job after rigorous community discussions.   ~ Tom.Reding (talkdgaf)  11:36, 5 September 2025 (UTC)Reply

Cosmetic edits, again

edit

Hi, you seem to have made a lot of edits like or which serve no purpose at all as far as I can see, but unnecessarily pollute watchlists and edit histories (and may even have a negative impact when pages get moved). I don't know how many times I have had to ask this already, but please don't make such edits (which are not allowed by the AWB rules of use anyway). Fram (talk) 08:51, 22 September 2025 (UTC)Reply

To give an idea of the scale, of your latest 100 edits, only 3 needed a listas. Fram (talk) 08:57, 22 September 2025 (UTC)Reply

While the percentage of these has dropped, you still add many of these. Why? Fram (talk) 15:18, 29 September 2025 (UTC)Reply
To remove them from Category:Biography articles without listas parameter. Looks like Wizardman and I finished all the obvious cases.   ~ Tom.Reding (talkdgaf)  15:25, 29 September 2025 (UTC)Reply
That's not a good reason. Cosmetic edits to remove things which don't need maintenance from maintenance categories indicates a mistake with the way the maintenance cat is populated, not countless edits that need to be made. We have plenty of maintenance cats where actual maintenance is necessary. Fram (talk) 15:30, 29 September 2025 (UTC)Reply

Wikipedia research

edit

Hello I'm a student from LUISS university in Rome and I'm working on a presentation based on wikipedia's crowdsourcing process and one part of the work is to put myself in the shoes of a wikipedia contributor and find out some feeling he receives when editing or writing pages. The questions I would like to receive answers on are the following:

  1. What does the editor think and feel:
  2. What does the editor say and do:
  3. What does the editor hear and see (about its surroundings):
  4. What are his pains (what type of frustration does the user feel when contributing):
  5. What are his gains (what does make him feel good when contributing):

Active support is really needed so thanks in advance and have a great day Tartaluca (talk) 14:34, 11 November 2025 (UTC)Reply

Porous Delays

edit

It's all delayed, so don't worry that it's away from post ~2025-32830-71 (talk) 02:39, 14 November 2025 (UTC)Reply

Tracking category issue

edit

Merry Christmas and a Prosperous 2026!

edit
Hello Tom.Reding, may you be surrounded by peace, success and happiness on this seasonal occasion. Spread the WikiLove by wishing another user a Merry Christmas and a Happy New Year, whether it be someone you have had disagreements with in the past, a good friend, or just some random person. Sending you heartfelt and warm greetings for Christmas and New Year 2026.
Happy editing,

Wishes from Vestrian24Bio

Click here to see the Christmas message I wrote...💞! Vestrian24Bio 09:58, 25 December 2025 (UTC)Reply

Happy New Year, Tom.Reding!

edit

   Send New Year cheer by adding {{subst:Happy New Year fireworks}} to user talk pages.

Abishe (talk) 17:07, 31 December 2025 (UTC)Reply

Question

edit

Good afternoon,

I wanted to ask whether you would be willing to review and publish my Wikipedia article on the main page as a more experienced user.


Thank you in advance! E0004AA (talk) 03:53, 20 January 2026 (UTC)Reply

Precious anniversary

edit

Qualitative Research + Documentary for Wikimedia

edit

Hey Tom, I’m an independent researcher conducting qualitative research for Wikimedia about the motivations and work practices of top Wikipedia contributors. It would involve one interview (it could be in-person, we're in NY) and we would be happy to provide compensation for your time. The research may be used by Wikimedia to design new tools for Wikipedians. We may also edit the same interviews into something more akin to a documentary. Let me know if you’re interested and I'll provide more details. Thanks! Jonah Ginsburg (talk) 22:30, 20 February 2026 (UTC)Reply

Newt Ewell

edit

hello Tom.Reding.My name is Jay. I am an old friend of Newt Ewell. I lost touch with Newt years ago, and I am trying to contact him. You made a small edit to his Wikipedia page, so I thought it may be possible you know him. If this is so, I would be grateful if you can help me re-connect with Newt. If you know his current contact info, please respond here and I can give you my contact info. Thanks very much! Jwatt33 (talk) 23:11, 11 March 2026 (UTC)Reply

I don't know him.   ~ Tom.Reding (talkdgaf)  23:24, 11 March 2026 (UTC)Reply

Poe, Larkin (and others)

edit

I noticed that you had edited the Larkin Poe talk page to change the listas to "Poe, Larkin". This doesn't seem right to me, and doesn't match the listases for other bands named after people, like Jethro Tull and Bon Jovi. After fixing this, I went on to discover that you had done a general sweep of a bunch of similar pages. Leaving aside the question of when to list bands as "The Whatevers" or "Whatevers, The", it looks like you (accidentally?) swept up at least some other bands like Larkin Poe where I don't think listing by the last word is appropriate - for instance, White Miles. Porcelain Raft looks like another similar case. Do you agree those should be fixed? Brianyoumans (talk) 14:54, 19 March 2026 (UTC)Reply

I'm following {{DEFAULTSORT:Poe, Larkin}} on Larkin Poe. If you don't agree with it, you should contact whoever set that.   ~ Tom.Reding (talkdgaf)  15:00, 19 March 2026 (UTC)Reply
Ah, I get it - if that's incorrect, then obviously your script won't do the right thing either. Well, I suppose there isn't any good way to correct errors like that except eyeballing each one. Thanks! Brianyoumans (talk) 15:05, 19 March 2026 (UTC)Reply
If you can demonstrate consensus, I can change bands' {{DEFAULTSORT:Poe, Larkin}}{{DEFAULTSORT:Larkin Poe}} and |listas=.   ~ Tom.Reding (talkdgaf)  15:11, 19 March 2026 (UTC)Reply
Eh, it's not an article that gets a lot of eyeballs, so asking for consensus would probably be futile. I just went ahead and changed it. If anyone complains we can discuss it. Brianyoumans (talk) 15:32, 19 March 2026 (UTC)Reply
I went and looked at the White Miles article more closely, and the defaultsort for it *is* "White Miles". I'm not sure how your script came up with "Miles, White" for that one. (I fixed it.) Brianyoumans (talk) 15:39, 19 March 2026 (UTC)Reply
Yeah, there are errors here. I just fixed the listases for Milk Cult and Moscow Art Trio as well. Both of them had correct defaultsorts on the main page but the listases you added were "Cult, Milk" and "Trio, Moscow Art".Brianyoumans (talk) 15:51, 19 March 2026 (UTC)Reply
I'll impose stricter checks for musical groups.   ~ Tom.Reding (talkdgaf)  15:54, 19 March 2026 (UTC)Reply
Sounds good. Thanks!!! Sorry if I've been a pest. Brianyoumans (talk) 16:00, 19 March 2026 (UTC)Reply

Captain, We're Sinking

edit

Another bug report. While fixing stuff, I noticed this odd one - your script added a listas for this band name, which didn't have a defaultsort at the time, but truncated it to just "Captain". (I fixed it.) Brianyoumans (talk) 16:42, 19 March 2026 (UTC)Reply

Another bug report

edit

Looking through the past days' edits, I think you have almost completely fixed the problems I flagged. I only found 3 edits that I ended up correcting, and they were definitely edge cases. Two of them were like this one: Jeff & Sheri Easter. Since it is a musical group led by two actual persons (a married couple, even) using the last name of "Easter", it didn't seem quite right to classify them as a group named "Jeff and Sheri Easter", so I changed that to "Easter, Jeff and Sheri", which is what the defaultsort on the article page was. The third case was a person named Bartholomäus Bernhardi of Feldkirchen, which you had listas-ed as "Bartholomaus Bernhardi of Feldkirchen", which matched the defaultsort on the article page. I changed both of them to "Bernhardi, Bartholomaus, of Feldkirchen". In this case I think the defaultsort on the article page was just incorrect, or at least I disagreed with it.Brianyoumans (talk) 21:10, 20 March 2026 (UTC)Reply

New GetHTML fix

edit

Idiotically, I applied the fixes to the WikiFunctions dll and then only uploaded the AWB exe. That'll teach me to try to fix something in short bursts from hotel rooms.

I have a new release in the full standard format at https://1drv.ms/u/c/468817188d6582db/IQDttgbZEGk4RZhThDMvaji_AbspdCX2Ub8-uTZ5HAP7TZY?e=IcNd2h. If you still want to try it. I think it qualifies as "if it does no good it'll do no harm", but (as I suggested on MW talk) it's possible that the response can make your code quietly wait for hours. David Brooks (talk) 14:47, 25 March 2026 (UTC)Reply

Just tried it and it's an improvement! I hit error 429, and your AWB kept processing (waiting) on the page until the error cleared, which only lasted for a little over 1 minute. Fortunately, this is something that can be easily handled by a custom module via System.Threading.Thread.Sleep(THROTTLE);. It's better imo to leave this throttling to the user, and not incorporate it into a dll, to give the user more optionality on how to handle the error.
The code paths in the AWB exec don't use the WikiFunctions Tools, and I implemented and checked in their retries a while ago. I did put them up on github, but the official maintainers haven't released a new version for a while. If you are seeing a countdown in the status bar, or it is happening when making a List, then it's the old code. I did it in response to some phabricator discussions. The new code, all in WikiFunctions, does indeed silently sleep the thread by the requested number of seconds. I only just became aware today of the "Wikimedia APIs" discussion; in my haste I didn't follow the link you provided at the time. I'll give some more thought to your suggestion of exposing a new API. The AWB and WikiFunctions code are old, issue HTTP requests in different ways and in different places, so it may not be that simple. David Brooks (talk) 15:34, 25 March 2026 (UTC)Reply
Do you think there will be a permanent solution available, one where GetHTML requests within an authenticated AWB instance are also authenticated, as opposed to currently being treated as "anon" & thus rate-limited?   ~ Tom.Reding (talkdgaf)  15:15, 25 March 2026 (UTC)Reply
I only understand itty-bitty places of the whole codebase, but as WikiFunctions is intended to exist independent of the exe (does anyone actually use it that way?) it may be more of a lift to transmit the authentication across that gap. David Brooks (talk) 15:34, 25 March 2026 (UTC)Reply
I've been thinking about your first suggestion. Leaving the throttling to the user is actually the current status quo - you have to wrap the GetHTML() call in a try/catch WebException, analyze the exception and do what you want where appropriate, or rethrow the exception. That is the change I made inside GetHTML, to do that analysis, and sleep/retry. It seems like too much extra code for the API caller, and easy to get wrong. The downside is that it can silently sleep for an arbitrarily long time.
My initial thought is to add bool TryGetHTML(string url, out int retryAfter) where true means it worked, and false means the server has requested a retry after retryAfter seconds. This method is responsible for analyzing the status code and the retry header. You can then sleep and retry, or report to the user. Any other WebException would be rethrown. Not a huge amount of code but simpler for the caller. You don't get to know whether it was a 429 or a 503 however. I agree copying authentication would be more robust, but not sure it would avoid all rate-limiting. David Brooks (talk) 01:45, 26 March 2026 (UTC)Reply
Is retryAfter stored in the caught exception object? If so, that would be very useful.   ~ Tom.Reding (talkdgaf)  01:58, 26 March 2026 (UTC)Reply
Are you asking about the first paragraph or the second? In the first case, yes, but according to the MW guys, right now it's possible that it may be a 429 (too many requests) with no Retry-After, which should default to 5. Also you need to re-cast the exception. IOW you could do that today but the code is non-obvious. I handle that (and more) in my new code.
In the second case, the design would drop any Retry-After into the out parameter - again defaulting to 5 if called for. When I said "any other WebException would be re-thrown" I meant to add "or any other class of exception". You just get added flexibility that way. David Brooks (talk) 03:12, 26 March 2026 (UTC)Reply
I was asking more about the 1st paragraph, and suggesting that GetHTML be changed such that retryAfter is returned in some way in the exception object, like appended to exception.Message, for example. That gives the user the most flexibility and can be incorporated into existing code easily.
If that's not possible, then the 2nd paragraph, TryGetHTML(), sounds like the next best thing.   ~ Tom.Reding (talkdgaf)  11:16, 26 March 2026 (UTC)Reply
My own thinking is that if another user starts to experience an exception thrown on GetHTML (does anyone else use it?) they will first wonder what they did wrong and then maybe post on AWB Talk. I really don't think "change your code" is the most friendly response when we have a backward compatible solution at hand, with the admitted downside that it can in principle silently stall the app for up to 24 hours. Also, Exception.Message is readonly, so the handler would have to throw a new Exception, which is generally frowned on because it discards the original caller's stack frame.
I think the MWF has handled this rollout badly, and we keep discovering new changes the hard way. Also I only just realized that the fixes I made to the AWB app itself were unnecessary because it has a compliant User-Agent and I think but am not sure that gives it complete immunity. For now. Adding a User-Agent to GetHTTP might be workable (I can think of a reason why not), but the Foundation would later realize that anyone could get a free pass that way and lock it down some more. Who knows. I do have some sympathy while they are getting overwhelmed by AI trainers though.
Also, they have not, as far as as I know, completely ruled out the possibility of the Reply-After header having a date/time parameter instead of integer seconds (see RFC 2616 and 6586), or included with some other error status code such as 3xx; I have coded defensively here.
I also think it's time to put this discussion in a phabricator ticket so the official maintainers have visibility, although they don't seem too concerned yet. David Brooks (talk) 18:26, 26 March 2026 (UTC)Reply

Well, that TryGetHTML() definition won't work, because its actual function in the absence of error is to return the response body as a string, duh. We could return null as a retry signal, but I don't like using a function result to mean two different things (which the .NET libraries often do, of course). Time to think some more.

To answer your question way up thread about the exception's content: yes, it does contain the retry information, but you have to dig. First cast the WebException's Response property to an HttpWebResponse, then extract its StatusCode and look up "Retry-After" in its header collection, then do some sanity checking. If nothing comes of that, rethrow the WebException. There are slightly cleaner ways of doing it, but would require a bigger rewrite. David Brooks (talk) 03:12, 27 March 2026 (UTC)Reply

You could overload retryAfter in string TryGetHTML(string url, out int retryAfter) to return 0 if the request is successful. Any value != 0 would mean the request failed (> 0 would mean that the error returned an actual retryAfter value, and -1 would mean any other error).   ~ Tom.Reding (talkdgaf)  09:54, 27 March 2026 (UTC)Reply
Much more sensible, I think. I'm a little uncomfortable with the "Try" prefix, as in established practice that pattern returns a boolean, but I can get over that. But "any other error" will be an thrown exception (usually WebException other than a 429/503), and the caller might want to wrap this in a try/catch to further analyze and decide whether to write a log and/or bug out. I can set retryAfter to -1 before re-throwing that exception, but you would still need an outer try/catch somewhere on the stack (the AWB app has a general-purpose one). But as you are the only known customer I'll defer to you. David Brooks (talk) 12:36, 27 March 2026 (UTC)Reply
I'm surprised no one else has run into this limit yet, or at least not noticed these discussions & responded.
I'm afraid I don't know what you mean by suggesting I can set retryAfter to -1 before re-throwing that exception. To me that sounds identical to -1 would mean any other error, so yes, good.
I always try/catch GetHTMLs in my custom modules (I'm assuming that's what you mean by "an outer try/catch"), and I think that is (or should be) a best-practice, so any fix should assume the user is doing so, but also work if the user does not. But I would wait on creating a TryGetHTML actually, since your auto-retryAfter fix at the top is good for me at the moment. If/when more people come out of the woodwork as having rate-limit issues, and your auto-retryAfter fix isn't good for them, then we can discuss what would work best for everyone. Until then, I think effort is best spent on how to authenticate users within GetHTML, to hopefully avoid the need for a work-around.   ~ Tom.Reding (talkdgaf)  14:18, 27 March 2026 (UTC)Reply
Thanks; that makes sense and also lets me off some more coding work. I'll open a phab ticket in any case just to open the discussion a little more. Should we report back to AWB Talk? I'd say no, unless the woodwork thing happens.
On authentication, I think the rules are still a little muddled, but it may be sufficient to add a compliant User-Agent to the GetHTML request, without needing login cookies. Or not. But if that is the case, it's not much of a barrier to the bad guys, and anyway it may just relax the limits without removing them. But it would only be fake-compliant; the guidelines require the UA to contain contact information and that certainly won't be me. David Brooks (talk) 14:36, 27 March 2026 (UTC)Reply
I'll just leave a link to here for continuity/the curious.
Contact info? Well that's my talk page.
I'm surprised there isn't a way for GetHTML to piggyback/reuse/duplicate/etc. AWB's authentication for wiki urls, since I thought AWB uses the same API. Could you point me to the GetHTML code and to AWB's page content request code?   ~ Tom.Reding (talkdgaf)  15:28, 27 March 2026 (UTC)Reply
Because it's in the WikiFunctions namespace/DLL, which is at a lower level than AWB proper and is intended to be independent (yes, they use the same HTTP MediaWiki API constructs but build the query independently). You can look at WikiFunctions/Tools.cs and AWB/Main.cs on sourceforge if you want. WikiFunctions doesn't have access to the current session data, which would include the cookies and username. But now I've given a quick look, code in AWB proper may be able to pass the current Session object as an additional parameter to a new GetHTML overload, which can then pick out what it needs from that object. That may work. An even quicker look at plugins suggests they can grab the current Session object if they have implemented Initialise(). David Brooks (talk) 17:01, 27 March 2026 (UTC)Reply
I'm running a script now that checks and/or extracts info from multiple pages, on average 5 requests per page, so I run into the anon limit very quickly. Your fix is at least allowing that to go more smoothly, letting me wait for the minimum time necessary (this time it's much more than 1 minute), instead of me flying blind and retrying periodically (and possibly extending the time until the window reopens?). Thanks for that!   ~ Tom.Reding (talkdgaf)  10:18, 27 March 2026 (UTC)Reply
Good to hear. TryGetHTML wouldn't necessarily speed that up, but it gives you the option to checkpoint and come back later. David Brooks (talk) 12:39, 27 March 2026 (UTC)Reply
Also: some clarifications: https://www.mediawiki.org/wiki/Talk:Wikimedia_APIs/Rate_limits#Retry_semantics_clarifications_requested.
I'll future-proof accordingly. When it's done I'll look more into authenticating. We may need to add an additional parameter so the function can reach out and grab some cookies from inside AWB proper. David Brooks (talk) 13:07, 27 March 2026 (UTC)Reply
I just noticed on the Rate Limits talk page, in one of the long discussionn about perceived mishandling of rate limit introduction: you should authenticate. For now, that would remove all limits, but only until we deploy the next set of limits (probably mid April). So perhaps more people around here will be running into limits. We may also find out the hard way that the default User-Agent string needs updating (it already isn't acceptable for with bots). But, mainly, that means extending GetHTML to provide authentication is no panacea. David Brooks (talk) 21:27, 28 March 2026 (UTC)Reply
Anomie posted there recently about being affected that I just saw. I'm glad they did.   ~ Tom.Reding (talkdgaf)  22:16, 28 March 2026 (UTC)Reply
Anomie is righteously mad. "Perceived mishandling" was me being polite. And I can't find this User-Agent regex they keep talking about. David Brooks (talk) 22:25, 28 March 2026 (UTC)Reply
I don't think the regex has been posted anywhere. It may be buried somewhere in operations/puppet, or they may have done it in some other repo. wmf:Special:Diff/564169 changed the User-Agent policy to hopefully reflect the patterns their regexes are looking for. P.S. By "authenticated" they actually mean "either logged in by browser, or using OAuth 2 (not owner-only)"; they say they'll eventually add the same sort of "sessionJWT" cookie for BotPasswords and OAuth 1 so those more common methods for authenticating a bot or tool can be considered "authenticated" too, but I don't know when. Anomie 23:31, 28 March 2026 (UTC)Reply
Thanks for noticing our bewildered discussion, Anomie, and thanks for the insights. Our context is AutoWikiBrowser, a 20-year-old Windows Forms app, only maintained as-needed (OAuth would be a big lift), and into which I recently jumped to fix the problems I could understand. It uses a .NET DLL that is conceptually independent of the app, so some gyrations will be needed to make it grab authentication cookies. And then maybe some also decades-old code will have to be updated if it wants more than 500/hr. Maintenance sucks (preaching to the choir here). And I'm old enough I sometimes dream in COBOL and PDP-7 assembler.
Tom, I opened T421588 to alert the official maintainers. David Brooks (talk) 00:34, 29 March 2026 (UTC)Reply
And, dammit, there is so much to read, and the situation on the ground keeps changing. On the Rate Limits page, Limits table, second line, the limit for "User-Agent only", assuming the UA is compliant with the policy (which ours can't be) is "low", whatever that means. So that means existing GetHTML calls will fall under the 500/hour limit. The only way of escaping that will be to implement the credential smuggling and change existing plugins to use it. Then the limit will be 10,000/hr. David Brooks (talk) 22:52, 28 March 2026 (UTC)Reply
Hi - I'm about ready to implement the auth smuggling by adding a parameter. There are 4 overloads of Tools.GetHTML() and I'm loth to add 5 more (adding an optional parameter breaks binary compatibility). Do you use GetHTML(string url)? If so I'll add that and postpone the others. David Brooks (talk) 23:20, 1 April 2026 (UTC)Reply
Yes. I use it quite a lot.   ~ Tom.Reding (talkdgaf)  23:27, 1 April 2026 (UTC)Reply

Try this: https://1drv.ms/u/c/468817188d6582db/IQDttgbZEGk4RZhThDMvaji_AbspdCX2Ub8-uTZ5HAP7TZY?e=Lpdgw3. It's a draft; there are some details to work on. To use it - and I never asked if you are using a plugin or a module, but if a plugin - in your ProcessArticle(sender, eventargs) add a second parameter eventargs to your GetHTML(url), and recompile. Also make sure the new WikiFunctions dll is in the same runtime directory as the exe. It works for me; what I can't verify is whether it satisfies the server. Also, I don't know if it will handle the current problem at all.

If it's a module, simply add awb as the second argument. David Brooks (talk) 15:39, 2 April 2026 (UTC)Reply

I only use the module. I just hit the limit (on purpose) while using GetHTML(url), and got stuck in 429 limbo, as expected. Then, I recompiled my module with GetHTML(url, out awb), and am still in 429 limbo. I wanted to see if the new authentication would circumvent a currently active rate limit (it can not). After I'm able to GetHTML again, I'll use GetHTML(url, out awb) exclusively to see if I still hit the limit.   ~ Tom.Reding (talkdgaf)  16:33, 2 April 2026 (UTC)Reply
I'm not sure what is happening. The signature is string GetHTML(string url, IAutoWikiBrowser awb). There is another overload string GetHTML(string url, out string responseURL) but I don't see how that can work at runtime unless there is an implicit awb.ToString() somewhere. Are you sure the new DLL is being accessed at runtime? Also I didn't test a module in my hurry so I'll do that now. David Brooks (talk) 16:44, 2 April 2026 (UTC)Reply
I first tried compiling GetHTML(url, awb) (where awb is a string), but received an error saying GetHTML(url, out awb) was expected (where awb is still a string).
My previous rate limit period expired. I ran GetHTML(url, out awb) exclusively, but have entered 429 limbo again, so it appears there was an authentication failure.   ~ Tom.Reding (talkdgaf)  17:12, 2 April 2026 (UTC)Reply
I'm not sure how to check if the DLL is being accessed at runtime. I'm using a separate folder for the above zip.   ~ Tom.Reding (talkdgaf)  17:15, 2 April 2026 (UTC)Reply
In a module, awb is a WikiFunctions.Plugin.IAutoWikiBrowser field which is set by the CustomModule constructor. So I don't know how it got to be a string, but it's understandable that it linked to that other signature. If you use that awb object it should only succeed to compile with the new DLL. But I can put a trace in if you want to be sure you are linking it.
Which reminds me, please remove TestPlug.dll from the folder you are using. It will throw an exception, which will I hope be discarded. Sorry about the carelessness. David Brooks (talk) 17:27, 2 April 2026 (UTC)Reply
Oh, I see. I was mistakenly assigning string awb = ""; prior to the GetHTML call (I assumed, since I was able to do that without any errors, that was the right thing to do). I removed that and was able to compile & run GetHTML(url, awb) as you originally suggested.
Anyway...SUCCESS!!! I've called GetHTML over 2,000 times now with no error 429 limbo!   ~ Tom.Reding (talkdgaf)  18:34, 2 April 2026 (UTC)Reply
Great! And thanks for persisting. Downside: I don't know whether the User-Agent or the auth cookies did the trick (i.e. did I get one of them wrong). User-Agent alone increases the bar to an as yet undefined value. I guess we can only tell by producing versions that only implement one or the other, but for now I'll take the W.
Anyway I'll add a few necessary embellishments before checking in. David Brooks (talk) 19:08, 2 April 2026 (UTC)Reply
Uploaded the embellishments (cookie cross-host security and a compliant User-Agent) to:
https://1drv.ms/u/c/468817188d6582db/IQCz15h0JK1qQZt38PZeaurxAaS4B9N2r-yfKx7cRVIbdns?e=biRvvw
I'd appreciate if you could make sure it works for you, but I think I'll check it in anyway as I've asked Reedy to wait on his bot fix. David Brooks (talk) 21:11, 4 April 2026 (UTC)Reply
Tested again with over 2000 requests and no problems. Thank you very much for your maintenance.   ~ Tom.Reding (talkdgaf)  02:09, 5 April 2026 (UTC)Reply

Use My Dates

edit

@Tom.Reding

I notice you're updating Use my Dates to 2026

Am I supposed to amend these at each edit?

Martin Ojsyork (talk) 14:43, 13 April 2026 (UTC)Reply

The date refers to the last time the entire page was checked to conform to the {{Use dmy dates}}, {{Use mdy dates}}, etc. format. It's an infrequent process (several years+), so there's no need to amend them frequently. If you see an old date, though, like 10+ years old, it would be good to check, confirm, make corrections if necessary, and update the template.   ~ Tom.Reding (talkdgaf)  15:07, 13 April 2026 (UTC)Reply

Zero-padding of numeric sortkeys

edit

Hi, edits like this have not been necessary for almost nine and a half years, see m:Community Tech/Numerical sorting in categories - specifically, since 22:07, 20 October 2016. More at mw:Manual:$wgCategoryCollation#Numeric sorting. --Redrose64 🌹 (talk) 13:06, 18 April 2026 (UTC)Reply

Talk:Kai Newkirk#Peer review invitation

edit

Thank you for helping as this article was getting started. I invite you to look at Talk:Kai_Newkirk#Peer_review when you have a moment, even if just casually. Tom Haws (talk) 22:43, 3 May 2026 (UTC)Reply

A suggestion of DYK

edit

Hi, I created a page about Léo Lins and I'd like you to create a DYK with the phrase "that a Brazilian comedian had his visa to Japan canceled after making jokes about the 2011 tsunami?" I thank. Cassilvwikis (talk) 15:17, 9 May 2026 (UTC)Reply

Inconsequential AWB edits

edit

Edits like this, this and many others, where the only result is that a maintenance category is moved from one month to another, do nothing but clutter up watchlists and recent changes, and are arguable against at least the spirit of the AWB rules. Fram (talk) 16:19, 13 May 2026 (UTC)Reply

Fram: This editor is simply following the long-standing practice described in the documentation for {{Use dmy dates}}. If you object to these edits, the right place to do so is Template talk:Use dmy dates. Note that I have no opinion on the validity of these edits, but they have been happening for over a decade. – Jonesey95 (talk) 04:29, 23 May 2026 (UTC)Reply

Vincelord

edit

Whilst I understand that typos can be frustrating I do not think that making comments like "This is an open book test. I don't understand how you're failing. Genuine question: are you dyslexic? If so, this is a terrible area to work in." is an appropriate way to talk to people who make them. Or indeed anyone. FOARP (talk) 15:31, 14 May 2026 (UTC)Reply

AWB

edit

Hey, Tom,

You have been very busy emptying categories. I saw that another editor used AWB to handle the CSD C1 tagging but I've never used that tool before. Is it complicated? Thanks for any guidance you can offer. Liz Read! Talk! 21:55, 23 May 2026 (UTC)Reply

P.S. We get our list of empty categories from this tool on toolforgeC. Thanks. Liz Read! Talk! 21:57, 23 May 2026 (UTC)Reply
That's a useful tool. Thanks. I'll bookmark it.
For using AWB to CSDCFD tag, I usually do the 1st CSDCFD manually via Twinkle, then I copy the CSDCFD code (making sure to generalize any category-specific variables), then I prepend the code using the "More..." tab at the bottom of AWB (making sure there's a blank line between the end of the CSDCFD code and the previously existing category text). I used to use my own C# module to do this, but it was more complicated than it needed to be, so I haven't used it in a long time, plus I haven't done much CSDCFD tagging in a while either, so caveat lector.
I didn't realize I was emptying cats (unfortunate, but it is what it is). I'll be done with my edits soon. Tomorrow I can take care of what's left that needs CSD'ing, if anything.   ~ Tom.Reding (talkdgaf)  22:23, 23 May 2026 (UTC)Reply
Oh, this sounds more complicated and involved than I expected. This is why I haven't used AWB in the past. Yesterday was unreal, there were about 1500 empty categories to handle. Another admin took care of most of them using AWB but I wanted to see if I could learn to use it, too. If you could handle the rest of them tomorrow, that would be great. Pace yourself! Thanks again. Liz Read! Talk! 22:40, 23 May 2026 (UTC)Reply
 Done - a few dozen were left to CSD this morning.
My above advice is actually for CFDs & not CSDs. CSDs are considerably simpler. For these empty relations cats, all that's needed is to prepend {{db-catempty|help=off}} to the top of the page, so what you do (from scratch) for other C1's in the future is:
  1. open AWB
  2. make sure nothing is checked in the "Options" tab at the bottom
  3. in the "More..." tab next to it check "Enabled" & click "Prepend"
  4. paste the CSD template with no trailing whitespace
  5. select "Use 1 newlines" below
  6. in the "Skip" tab, make sure "Page" > "Doesn't exist" is selected at the bottom
  7. in the "Start" tab, next to "Default Summary" paste Requesting speedy deletion ([[WP:C1|CSD C1]]). to mimic Twinkle's edit summary
  8. under the "Options" menu at the top, make sure "Follow redirects" is unchecked
  9. under the "File" menu > "Save settings as..." > "AWB - C1.xml" or whatever you'd like so you don't have to recreate these settings in the future
  10. save separate AWB settings files for different CSD types - the only thing different between them are what you prepend (4) & the edit summary (7)
Hope this helps.   ~ Tom.Reding (talkdgaf)  12:13, 24 May 2026 (UTC)Reply
Thank you, Tom, I'll give it a try. I truly was just asking for advice, I didn't mean to put a damper on this big project of yours, removing all of the "X-B relations" categories. They really mushroomed into a mess and I'm glad we have editors like you ready to take on getting them under control. Maybe when I learn more about AWB, I can help out, too. Keep going! Many thanks. Liz Read! Talk! 19:04, 25 May 2026 (UTC)Reply
As you can see from Category:Empty categories awaiting deletion we have eliminated all of the extra empty categories from around 2800 to just around 200 which is normal for the project. If you want to continue on your "eliminating X-B relations subcategories", please continue. Have a good week. Liz Read! Talk! 15:58, 31 May 2026 (UTC)Reply

OOM errors

edit

Continuing here because I've been getting too specific on the AWB talk page... I'm still assuming the change to RemoveSelected is the culprit. First, I don't see any comments suggesting changes to the actual preparse logic. Second, can I confirm that whatever you are doing results in a lot of titles being skipped in quick sequence?

If that's so, I can see two things. First, the current logic has some inefficiencies that consume (and release for asynchronous garbage collection) significant amounts of memory and time given your long article list, which can be easily mitigated somewhat, although one of them may need a bit of a workaround. But the big thing is that (I believe) the overwhelming majority of calls will have only one item selected at a time, so that should be shortcut as a special case. The Forms ListBox implementation does some dancing to make sure it's as inexpensive as possible.

Second, the distinction between removing or keeping duplicates of the removed items is, I think, moot. I don't see any way of there being any duplicates to begin with if that checkbox is already set on entry. And I don't see the point of removing them in any case, but I'll inspect the callers of this method first.

So, if you agree that the list items are usually removed just one at a time, I'll code that shortcut. I'll do those efficiency fixes too. They do require understanding of what happens under the hood of the LINQ set operations. David Brooks (talk) 00:16, 1 June 2026 (UTC)Reply

Yes, a lot of titles are being skipped in quick sequence. ~99% are skipped & discarded (logging turned off), one at a time. Also, the way I make the list is Source: Category, paste category name, Make list, Start. I never used the List Filter window, nor any right click features, for these OOM runs.   ~ Tom.Reding (talkdgaf)  09:30, 1 June 2026 (UTC)Reply
Thanks. I have various versions of the code and will do some timings and try to do some memory analysis on a 20K list. David Brooks (talk) 20:50, 1 June 2026 (UTC)Reply
Try this: zipfile. As usual, unlock the zip before extracting. It only contains the quick fix for "remove single item"; I'll test the other changes before checking in. David Brooks (talk) 15:06, 2 June 2026 (UTC)Reply
Unfortunately, this requires .NET Framework 4.8.1, which isn't supported on Windows 7. All of my older AWB versions run on .NET 4.0.30319.42000.   ~ Tom.Reding (talkdgaf)  15:45, 2 June 2026 (UTC)Reply
Well, that's annoying, because even 6.4.0.0 was released requiring 4.8.1. Reedy had changed it from 4.7.2, I think because of some security fixes. For now, try this. I don't know what to suggest long term. David Brooks (talk) 16:41, 2 June 2026 (UTC)Reply
Thanks, I was able to run AutoWikiBrowser6501-longlist-4.8.zip. It is still leaky & slowly processing pages.   ~ Tom.Reding (talkdgaf)  17:27, 2 June 2026 (UTC)Reply
I just woke up to the implications of the above. Previously, were you still using AWB 63xx because of the framework version change? The unfortunate "fix" to the remove code was introduced in the 6400 version. In any case, can you remove the first article from the list? On my machine using a 100K article list it takes 4.5 seconds in the released version and 20ms with the fix.
I may have been barking up the wrong tree, and the problem is somewhere in the preparsing code after all. On my new build, on my machine, preparsing a large list doesn't seem to chew memory, and it does a sequence of skips in about two seconds per item. Do you have any settings I should know about? David Brooks (talk) 18:16, 2 June 2026 (UTC)Reply
The framework was irrelevant to me until AutoWikiBrowser6501-longlist.zip required that I download .NET 4.8.1. I have been able to run all my AWB versions up to and including 6.5.0.0 using .NET 4.0.30319.42000 (per AWB's Help > About menu).
Settings / steps to reproduce:
  1. File > Reset settings to original default settings
  2. Options > Preferences > uncheck "Enable Logging"
  3. Options > Use pre-parse mode
  4. Source > Category > Year of birth missing > Make list
  5. Options tab > uncheck "Auto tag" & uncheck "Unicodify whole page"
  6. Options tab > Auto changes skip options > check "Human category changes"
  7. Skip tab > uncheck "Only genfixes"
  8. Start tab > Start
Using your AutoWikiBrowser6501-longlist-4.8.zip, I just performed the above steps and added a step 7.5, where I removed the 1st page as requested (I used the "Remove" button below the list). Unfortunately, the leak is still present.   ~ Tom.Reding (talkdgaf)  19:37, 2 June 2026 (UTC)Reply
OK, I agree, it leaks, and so does 6.4.0.0 - only more slowly, because my one-line fix speeds up deleting the top item. I stopped it with just over 14,000 pages left and 3 of them pre-processed, and nearly 1 GB private memory (this ARM device uses more memory because it "compiles" x86 code into ARM64 code as it goes). But it kept 4 of my 10 cores busy, so there's that... But I just recalled you already said 6.4.0.0 leaks, so I'll have to look through the checkins before that release. Maybe tomorrow. Or, as a last resort, run it under the .NET heap analyzer in VS. There must be a chain of references to abandoned objects somewhere.
I had expected that 6.3.1.1 would also be fast. I Rob changed the Remove logic just before the 6.4 release, but I guess he didn't fix what he thought he had.
I only asked you to delete an item by hand to check if you noticed the performance difference.
Also I'm weirded out by your 4.8.1 issues. I built this version exactly as I built the 6.5.0.0 release, with only one line of code and one character of text different. And my systems built on 4.8.1 and 4.8 all report 4.0.30319.42000 in About. David Brooks (talk) 19:20, 3 June 2026 (UTC)Reply
A couple more runs show that (a) skipping all except a few articles without preprocessing and (b) preprocessing without skipping more than a few articles both leak at about the same rate. I may have to look hard at the checkins or even run the heap debugger.
I still stand by the remove-one-item optimization. I have no idea why Rob made that change, and the checkin comment doesn't help. I may have to ask if he remembers. I find it hard to believe the difference is ARM64 versus x86 performance. David Brooks (talk) 23:04, 4 June 2026 (UTC)Reply