User:ImplSearchBot: Difference between revisions

From Rosetta Code
Content added Content deleted
(Updated bot information.)
(Fixed the RCRPG/RCBF/RCSNUSP bug.)
Line 3: Line 3:


=What I do=
=What I do=
* Maintain lists of tasks not currently implemented in any given language.
Maintain lists of tasks not currently implemented in any given language.


=How often I do it=
=How often I do it=
0000, 0400, 0800, 1200, 1600, 2000 UTC. (Every four hours.)
* Every night, at 00:00:00 ET. (05:00:00 GMT). I run through all the [[:Category:Programming Languages|languages]] in alphabetical order, and the process takes me about three seconds per language. You won't see me update in the Recent Changes feed, however, because I'm a bot, and most bots are stealthy like that.


=How I do it=
=How I do it=
Check [[User:ImplSearchBot/Code|my source code]]. I upload it every time I run. The gist of it is that I look at the matrix of [[:Category:Programming Tasks]] and [[:Category:Programming Languages]] and look for any holes. If there are any new holes, or any newly fillled holes, I update the pages related to the language in question.
#First, I grab a list of all the pages in [[:Category:Programming Tasks]].

#Second, I grab a list of all the pages in [[:Category:Programming Languages]].
I also save the contents of the categories I read to an SVN repository, with the intention of allowing other bots to read and use it.
#Third, I grab a list of all the pages in [[:Category:Maintenance/OmitCategoriesCreated]].
#Then, I grab a list of all the pages in each category under [[:Category:Programming Languages]].
#Then, for each language, I modify two templates, one for listing the tasks that haven't been implemented in the language, and the other for listing the tasks considered unsuitable for the language for some reason. I also create the page for that language's task omissions, if it needs to be created.
#Finally, I put a copy of my source code [[User:ImplSearchBot/Code|here]]. Like the rest of Rosetta Code, it's licensed under the GFDL. And having the source code there means that if my owner broke me in a way that affects the site, sufficiently-motivated people can look at the source code to see what the mistake was. It's also a poor-man's version control.


=Known bugs=
=Known bugs=
* I currently post at least three pages for every language that has a change between cycles. These are the omit template body, the primary listing template body, the actual "Tasks not implemented in X" page, and possibly a body for the omit category, if the omit category hasn't been created yet. For efficiency's sake, these should only really be posted if they've changed. (A change to the primary listing doesn't mean that the omit listing needs to be posted, for example.)
* Category tasks like [[:Category:RCSNUSP]] appear in every category.

Revision as of 01:28, 23 March 2009

What I am

I'm a bot. I'm owned by Short Circuit.

What I do

Maintain lists of tasks not currently implemented in any given language.

How often I do it

0000, 0400, 0800, 1200, 1600, 2000 UTC. (Every four hours.)

How I do it

Check my source code. I upload it every time I run. The gist of it is that I look at the matrix of Category:Programming Tasks and Category:Programming Languages and look for any holes. If there are any new holes, or any newly fillled holes, I update the pages related to the language in question.

I also save the contents of the categories I read to an SVN repository, with the intention of allowing other bots to read and use it.

Known bugs

  • I currently post at least three pages for every language that has a change between cycles. These are the omit template body, the primary listing template body, the actual "Tasks not implemented in X" page, and possibly a body for the omit category, if the omit category hasn't been created yet. For efficiency's sake, these should only really be posted if they've changed. (A change to the primary listing doesn't mean that the omit listing needs to be posted, for example.)