MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "SNMP",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "239": {
                "pageid": 239,
                "ns": 0,
                "title": "Robot Arm",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "=== (2022-10-17): This arm is long gone ===\n\n= Software =\n\nThe robot arm was purchased with the intent of being used to create a mechanical turk.\nThe code going towards this goal lives in ~ssalbiz/arm, use \"git clone ~ssalbiz/arm\" to make a copy.\n\n= Hardware =\nThe arm is a [http://www.lynxmotion.com/c-130-al5d.aspx Lynxmotion AL5D].\n\n= Operation =\nCurrently the arm is controlled by interfacing directly with /dev/ttySx or /dev/ttyUSBx . The syntax for controlling this is by sending the following string to the board:\n<pre>\n#<servo id> P<position> S<speed> T<time>\n</pre>\n\nYou can control multiple servos with one command\n<pre>\n#<servo id> P<position> S<speed> #<servo id> P<position> S<speed> T<time>\n</pre>\n\nS and T are optional parameters\n\nKey:\n* <servo id> - id of the servo being controlled (includes jaw)\n* <position> - servo rotation position, generally between (500,2500)\n* <speed> - speed of rotation; 100 means 10s to rorate 90&deg;; leaving this off generates fast movement, 400 seems like a \"safe\" value?\n* <time> - time it takes to complete the motion in ms; specified once for the entire motion\n\nif both speed(s) and time are specified, time is a \"minimum\" and speed is a \"maximum\", i.e. the motion will take at minimum T milliseconds, but servoA will move no faster than speed SA\n\n\n== Servo key and degree of motion ==\n* 0 - Base\n* 1 - Shoulder\n* 2 - Elbow\n* 3 - Wrist\n* 4 - Grip\n* 5 - Wrist Rotate\n\n= Purpose =\nThe current purpose of the robot arm is to make an entity that can play chess against a human.\n\n==Status==\nNot being worked on. Need to complete the following:\n\n* Complete physical modifications to robot arm to allow it to reach all pieces on the board\n* Calibrate arm base mount against chess board squares\n* Make the robot arm code talk to a chess program\n* Make the chess program talk to the chess vision code\n* Make the arm not have terrible things happen when the servos heat up\n\n= External Links =\n* a manual [http://www.lynxmotion.com/images/data/rios106h.pdf]\n* j3parker's [http://csclub.uwaterloo.ca/~j3parker/arm.png 3D model of the arm]"
                    }
                ]
            },
            "158": {
                "pageid": 158,
                "ns": 0,
                "title": "SCS Guide",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "From time to time we work with the School of Computer Science. This page documents the various interactions for future exec.\n\n= Meetings with the Director =\n\nAs of W09 we have monthly meetings set up with the Associate Director on the third Monday of every month. This was picked so that we could have new Executives in place for the first meeting of a term. Get in touch with the\ndirector (currently Mark Giesbrecht at x36582) when you get elected to pick a time. These meetings are useful to discuss the current state of the curriculum, school wide things, SCS-CSC cooperation, and the money that they give us. The AD's time is usually valuable so prepare yourself for the meetings. SCS likes us a lot as of this writing, continue the good relationship.\n\nThings that the AD will do at present: listen to your complaints regarding the state of the curriculum, put the SCS logo on invitation letters to potential speaker, give you money.\n\n= Budget =\n\nSCS currently maintains a 10k/year fund to bring in out-of-town speakers, which we share with the WiCS undergrad committee. As such, if you want to bring someone in you'll have to meet with WiCS and SCS.\n\nTo get reimbursement contact the SCS Financial Officer (Anne Turnbull at present) with the request, she will give you University Accounts if they're needed for A.V., theater booking, or purchasing. She can also answer questions you have regarding the various forms you may need to fill out to get money.\n\n== Paying for a speaker ==\n\nThe University has to abide by certain rules that also apply to the government. As of F2015's Cory Doctorow talk, Anne's response to reimbursement requests was to first read [https://uwaterloo.ca/secretariat-general-counsel/policies-procedures-guidelines/policy-31 policy 31]. Policy 31 contains the actual policy text, but also guidelines for out of town speakers under the [https://uwaterloo.ca/secretariat-general-counsel/guidelines-travel-expenses policy 31 guidelines].\n\nA couple gotchas for reimbursing speakers for expenses:\n\n* '''Original, itemized receipts required.''' This means if there's a hard copy of a receipt, try and get it. Importantly, make sure the speaker knows this, and brings everything to you. Of course, with any reimbursement you make, just a credit receipt is not enough. Itemized receipts required. If there's a tip, a credit receipt will show that, but you'll also need to include the original itemized receipt to get the reimbursement.\n* For plane tickets, '''boarding pass is also required''' in addition to the booking receipt. Get the speaker to save his boarding pass. If you don't have a boarding pass, ask the airline to get a copy to you. For example, the Air Canada app does not reissue the boarding pass, so you'll have to fill out a form with AC to get a copy again.\n* '''Everything expensed should be related to work.''' For example, if the speaker incurs an extra baggage expense at the airport, make sure to get a statement from him stating it was required for the speaking event.\n* '''There are maximum meal costs.''' Usually they aren't reached, but it's nice to let the speaker know of them. The table is found in the guidelines at 7a \"maximum meal costs\".\n\nIf you want to get a limo or car service, the guidelines list the University's preferred limo service company. Or you could get a towncar. All expensable.\n\n= SCS Office =\n\nHistorically, the SCS office handled keys for the CSC office and booking of rooms under jurisdiction of SCS on behalf of the CSC. That has since changed to be handled by the Math Dean's Office. See [[Keys_and_Fobs#History_of_Keys.2FFobs|Keys and Fobs]] for more details.\n\n[[Category:Guides]]"
                    }
                ]
            }
        }
    }
}