Unemployment Rates for Metropolitan Areas
Monthly Rankings Not Seasonally Adjusted Dec. 2013p
|
| Rank | Metropolitan Area | Rate
|
|
| |
United States |
6.5 |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| 1 |
Bismarck, ND Metropolitan Statistical Area |
2.8 |
| 1 |
Logan, UT-ID Metropolitan Statistical Area |
2.8 |
| 1 |
Midland, TX Metropolitan Statistical Area |
2.8 |
| 4 |
Fargo, ND-MN Metropolitan Statistical Area |
3.0 |
| 5 |
Ames, IA Metropolitan Statistical Area |
3.1 |
| 5 |
Burlington-South Burlington, VT Metropolitan NECTA |
3.1 |
| 5 |
Houma-Bayou Cane-Thibodaux, LA Metropolitan Statistical Area |
3.1 |
| 5 |
Iowa City, IA Metropolitan Statistical Area |
3.1 |
| 5 |
Lincoln, NE Metropolitan Statistical Area |
3.1 |
| 5 |
Sioux Falls, SD Metropolitan Statistical Area |
3.1 |
| 11 |
Lafayette, LA Metropolitan Statistical Area |
3.3 |
| 12 |
Odessa, TX Metropolitan Statistical Area |
3.4 |
| 13 |
Grand Forks, ND-MN Metropolitan Statistical Area |
3.5 |
| 13 |
Provo-Orem, UT Metropolitan Statistical Area |
3.5 |
| 13 |
Salt Lake City, UT Metropolitan Statistical Area |
3.5 |
| 16 |
Mankato-North Mankato, MN Metropolitan Statistical Area |
3.6 |
| 17 |
Columbia, MO Metropolitan Statistical Area |
3.7 |
| 17 |
Morgantown, WV Metropolitan Statistical Area |
3.7 |
| 19 |
Honolulu, HI Metropolitan Statistical Area |
3.8 |
| 19 |
Ogden-Clearfield, UT Metropolitan Statistical Area |
3.8 |
| 19 |
Rapid City, SD Metropolitan Statistical Area |
3.8 |
| 19 |
Rochester, MN Metropolitan Statistical Area |
3.8 |
| 23 |
Billings, MT Metropolitan Statistical Area |
3.9 |
| 23 |
Omaha-Council Bluffs, NE-IA Metropolitan Statistical Area |
3.9 |
| 25 |
Amarillo, TX Metropolitan Statistical Area |
4.0 |
| 25 |
Charlottesville, VA Metropolitan Statistical Area |
4.0 |
| 25 |
Madison, WI Metropolitan Statistical Area |
4.0 |
| 28 |
Dubuque, IA Metropolitan Statistical Area |
4.1 |
| 28 |
Ithaca, NY Metropolitan Statistical Area |
4.1 |
| 28 |
Lake Charles, LA Metropolitan Statistical Area |
4.1 |
| 28 |
Lawrence, KS Metropolitan Statistical Area |
4.1 |
| 32 |
Casper, WY Metropolitan Statistical Area |
4.2 |
| 32 |
Waterloo-Cedar Falls, IA Metropolitan Statistical Area |
4.2 |
| 34 |
Lubbock, TX Metropolitan Statistical Area |
4.3 |
| 34 |
Manhattan, KS Metropolitan Statistical Area |
4.3 |
| 34 |
Minneapolis-St. Paul-Bloomington, MN-WI Metropolitan Statistical Area |
4.3 |
| 34 |
Portsmouth, NH-ME Metropolitan NECTA |
4.3 |
| 34 |
St. George, UT Metropolitan Statistical Area |
4.3 |
| 39 |
Abilene, TX Metropolitan Statistical Area |
4.4 |
| 39 |
Boulder, CO Metropolitan Statistical Area |
4.4 |
| 39 |
Crestview-Fort Walton Beach-Destin, FL Metropolitan Statistical Area |
4.4 |
| 39 |
Des Moines-West Des Moines, IA Metropolitan Statistical Area |
4.4 |
| 39 |
Harrisonburg, VA Metropolitan Statistical AreaTD>
| 4.4 |
| 39 |
Rochester-Dover, NH-ME Metropolitan NECTA |
4.4 |
| 39 |
San Angelo, TX Metropolitan Statistical Area |
4.4 |
| 39 |
Sioux City, IA-NE-SD Metropolitan Statistical Area |
4.4 |
| 47 |
Austin-Round Rock-San Marcos, TX Metropolitan Statistical Area |
4.5 |
| 47 |
Baton Rouge, LA Metropolitan Statistical Area |
4.5 |
| 47 |
Columbus, IN Metropolitan Statistical Area |
4.5 |
| 47 |
La Crosse, WI-MN Metropolitan Statistical Area |
4.5 |
| 47 |
Winchester, VA-WV Metropolitan Statistical Area |
4.5 |
| 52 |
Cedar Rapids, IA Metropolitan Statistical Area |
4.6 |
| 52 |
College Station-Bryan, TX Metropolitan Statistical Area |
4.6 |
| 52 |
Springfield, MO Metropolitan Statistical Area |
4.6 |
| 52 |
State College, PA Metropolitan Statistical Area |
4.6 |
| 52 |
Victoria, TX Metropolitan Statistical Area |
4.6 |
| 52 |
Washington-Arlington-Alexandria, DC-VA-MD-WV Metropolitan Statistical Area |
4.6 |
| 58 |
Alexandria, LA Metropolitan Statistical Area |
4.7 |
| 58 |
Auburn-Opelika, AL Metropolitan Statistical Area |
4.7 |
| 58 |
Cheyenne, WY Metropolitan Statistical Area |
4.7 |
| 58 |
Idaho Falls, ID Metropolitan Statistical Area |
4.7 |
| 58 |
Lebanon, PA Metropolitan Statistical Area |
4.7 |
| 58 |
Manchester, NH Metropolitan NECTA |
4.7 |
| 58 |
New Orleans-Metairie-Kenner, LA Metropolitan Statistical Area |
4.7 |
| 65 |
Fort Collins-Loveland, CO Metropolitan Statistical Area |
4.8 |
| 65 |
Gainesville, FL Metropolitan Statistical Area |
4.8 |
| 65 |
Great Falls, MT Metropolitan Statistical Area |
4.8 |
| 65 |
Oklahoma City, OK Metropolitan Statistical Area |
4.8 |
| 65 |
St. Cloud, MN Metropolitan Statistical Area |
4.8 |
| 65 |
St. Joseph, MO-KS Metropolitan Statistical Area |
4.8 |
| 71 |
Durham-Chapel Hill, NC Metropolitan Statistical Area |
4.9 |
| 71 |
Fayetteville-Springdale-Rogers, AR-MO Metropolitan Statistical Area |
4.9 |
| 71 |
Huntsville, AL Metropolitan Statistical Area |
4.9 |
| 71 |
Jefferson City, MO Metropolitan Statistical Area |
4.9 |
| 71 |
Joplin, MO Metropolitan Statistical Area |
4.9 |
| 71 |
Lancaster, PA Metropolitan Statistical Area |
4.9 |
| 71 |
Portland-South Portland-Biddeford, ME Metropolitan NECTA |
4.9 |
| 71 |
Roanoke, VA Metropolitan Statistical Area |
4.9 |
| 79 |
Asheville, NC Metropolitan Statistical Area |
5.0 |
| 79 |
Birmingham-Hoover, AL Metropolitan Statistical Area |
5.0 |
| 79 |
Blacksburg-Christiansburg-Radford, VA Metropolitan Statistical Area |
5.0 |
| 79 |
Corvallis, OR Metropolitan Statistical Area |
5.0 |
| 79 |
Greenville-Mauldin-Easley, SC Metropolitan Statistical Area |
5.0 |
| 79 |
Longview, TX Metropolitan Statistical Area |
5.0 |
| 79 |
Monroe, LA Metropolitan Statistical Area |
5.0 |
| 79 |
Sheboygan, WI Metropolitan Statistical Area |
5.0 |
| 79 |
Shreveport-Bossier City, LA Metropolitan Statistical Area |
5.0 |
| 79 |
Topeka, KS Metropolitan Statistical Area |
5.0 |
| 89 |
Appleton, WI Metropolitan Statistical Area |
5.1 |
| 89 |
Boise City-Nampa, ID Metropolitan Statistical Area |
5.1 |
| 89 |
Missoula, MT Metropolitan Statistical Area |
5.1 |
| 89 |
Oshkosh-Neenah, WI Metropolitan Statistical Area |
5.1 |
| 89 |
Santa Fe, NM Metropolitan Statistical Area |
5.1 |
| 89 |
Wichita Falls, TX Metropolitan Statistical Area |
5.1 |
| 95 |
Anchorage, AK Metropolitan Statistical Area |
5.2 |
| 95 |
Ann Arbor, MI Metropolitan Statistical Area |
5.2 |
| 95 |
Athens-Clarke County, GA Metropolitan Statistical Area |
5.2 |
| 95 |
Charleston-North Charleston-Summerville, SC Metropolitan Statistical Area |
5.2 |
| 95 |
Danbury, CT Metropolitan NECTA |
5.2 |
| 95 |
Eau Claire, WI Metropolitan Statistical Area |
5.2 |
| 95 |
Lewiston, ID-WA Metropolitan Statistical Area |
5.2 |
| 95 |
Raleigh-Cary, NC Metropolitan Statistical Area |
5.2 |
| 95 |
Richmond, VA Metropolitan Statistical Area |
5.2 |
| 95 |
Waco, TX Metropolitan Statistical Area |
5.2 |
| 95 |
Wichita, KS Metropolitan Statistical Area |
5.2 |
| 106 |
Charleston, WV Metropolitan Statistical Area |
5.3 |
| 106 |
Green Bay, WI Metropolitan Statistical Area |
5.3 |
| 106 |
Harrisburg-Carlisle, PA Metropolitan Statistical Area |
5.3 |
| 106 |
Lynchburg, VA Metropolitan Statistical Area |
5.3 |
| 106 |
San Antonio-New Braunfels, TX Metropolitan Statistical Area |
5.3 |
| 106 |
Tallahassee, FL Metropolitan Statistical Area |
5.3 |
| 106 |
Trenton-Ewing, NJ Metropolitan Statistical Area |
5.3 |
| 106 |
Tuscaloosa, AL Metropolitan Statistical Area |
5.3 |
| 106 |
Virginia Beach-Norfolk-Newport News, VA-NC Metropolitan Statistical Area |
5.3 |
| 115 |
Albany-Schenectady-Troy, NY Metropolitan Statistical Area |
5.4 |
| 115 |
Corpus Christi, TX Metropolitan Statistical Area |
5.4 |
| 115 |
Dallas-Fort Worth-Arlington, TX Metropolitan Statistical Area |
5.4 |
| 115 |
Fairbanks, AK Metropolitan Statistical Area |
5.4 |
| 115 |
Fond du Lac, WI Metropolitan Statistical Area |
5.4 |
| 115 |
Kansas City, MO-KS Metropolitan Statistical Area |
5.4 |
| 115 |
Naples-Marco Island, FL Metropolitan Statistical Area |
5.4 |
| 115 |
Pocatello, ID Metropolitan Statistical Area |
5.4 |
| 115 |
Seattle-Tacoma-Bellevue, WA Metropolitan Statistical Area |
5.4 |
| 115 |
Tulsa, OK Metropolitan Statistical Area |
5.4 |
| 125 |
Anderson, SC Metropolitan Statistical Area |
5.5 |
| 125 |
Columbia, SC Metropolitan Statistical Area |
5.5 |
| 125 |
Columbus, OH Metropolitan Statistical Area |
5.5 |
| 125 |
Dothan, AL Metropolitan Statistical Area |
5.5 |
| 125 |
Houston-Sugar Land-Baytown, TX Metropolitan Statistical Area |
5.5 |
| 125 |
Lafayette, IN Metropolitan Statistical Area |
5.5 |
| 125 |
Nashville-Davidson--Murfreesboro--Franklin, TN Metropolitan Statistical Area |
5.5 |
| 125 |
Orlando-Kissimmee-Sanford, FL Metropolitan Statistical Area |
5.5 |
| 133 |
Bangor, ME Metropolitan NECTA |
5.6 |
| 133 |
Decatur, AL Metropolitan Statistical Area |
5.6 |
| 133 |
Florence-Muscle Shoals, AL Metropolitan Statistical Area |
5.6 |
| 133 |
Gadsden, AL Metropolitan Statistical Area |
5.6 |
| 133 |
Grand Rapids-Wyoming, MI Metropolitan Statistical Area |
5.6 |
| 133 |
Jacksonville, FL Metropolitan Statistical Area |
5.6 |
| 133 |
Lewiston-Auburn, ME Metropolitan NECTA |
5.6 |
| 133 |
San Francisco-Oakland-Fremont, CA Metropolitan Statistical Area |
5.6 |
| 133 |
San Luis Obispo-Paso Robles, CA Metropolitan Statistical Area |
5.6 |
| 142 |
Bloomington, IN Metropolitan Statistical Area |
5.7 |
| 142 |
Gainesville, GA Metropolitan Statistical Area |
5.7 |
| 142 |
North Port-Bradenton-Sarasota, FL Metropolitan Statistical Area |
5.7 |
| 142 |
Pensacola-Ferry Pass-Brent, FL Metropolitan Statistical Area |
5.7 |
| 142 |
Pittsburgh, PA Metropolitan Statistical Area |
5.7 |
| 142 |
Santa Rosa-Petaluma, CA Metropolitan Statistical Area |
5.7 |
| 142 |
Sherman-Denison, TX Metropolitan Statistical Area |
5.7 |
| 142 |
Wausau, WI Metropolitan Statistical Area |
5.7 |
| 150 |
Cape Coral-Fort Myers, FL Metropolitan Statistical Area |
5.8 |
| 150 |
Denver-Aurora-Broomfield, CO Metropolitan Statistical Area |
5.8 |
| 150 |
Evansville, IN-KY Metropolitan Statistical Area |
5.8 |
| 150 |
Indianapolis-Carmel, IN Metropolitan Statistical Area |
5.8 |
| 150 |
Jackson, MS Metropolitan Statistical Area |
5.8 |
| 150 |
Lexington-Fayette, KY Metropolitan Statistical Area |
5.8 |
| 150 |
Punta Gorda, FL Metropolitan Statistical Area |
5.8 |
| 150 |
San Jose-Sunnyvale-Santa Clara, CA Metropolitan Statistical Area |
5.8 |
| 150 |
Tyler, TX Metropolitan Statistical Area |
5.8 |
| 150 |
York-Hanover, PA Metropolitan Statistical Area |
5.8 |
| 160 |
Baltimore-Towson, MD Metropolitan Statistical Area |
5.9 |
| 160 |
Boston-Cambridge-Quincy, MA-NH Metropolitan NECTA |
5.9 |
| 160 |
Duluth, MN-WI Metropolitan Statistical Area |
5.9 |
| 160 |
Fort Wayne, IN Metropolitan Statistical Area |
5.9 |
| 160 |
Holland-Grand Haven, MI Metropolitan Statistical Area |
5.9 |
| 160 |
Laredo, TX Metropolitan Statistical Area |
5.9 |
| 160 |
Montgomery, AL Metropolitan Statistical Area |
5.9 |
| 160 |
Napa, CA Metropolitan Statistical Area |
5.9 |
| 160 |
Parkersburg-Marietta-Vienna, WV-OH Metropolitan Statistical Area |
5.9 |
| 160 |
Poughkeepsie-Newburgh-Middletown, NY Metropolitan Statistical Area |
5.9 |
| 160 |
Spartanburg, SC Metropolitan Statistical Area |
5.9 |
| 160 |
Tampa-St. Petersburg-Clearwater, FL Metropolitan Statistical Area |
5.9 |
| 172 |
Altoona, PA Metropolitan Statistical Area |
6.0 |
| 172 |
Deltona-Daytona Beach-Ormond Beach, FL Metropolitan Statistical Area |
6.0 |
| 172 |
Dover, DE Metropolitan Statistical Area |
6.0 |
| 172 |
Hattiesburg, MS Metropolitan Statistical Area |
6.0 |
| 172 |
Knoxville, TN Metropolitan Statistical Area |
6.0 |
| 172 |
Miami-Fort Lauderdale-Pompano Beach, FL Metropolitan Statistical Area |
6.0 |
| 172 |
Owensboro, KY Metropolitan Statistical Area |
6.0 |
| 172 |
Reading, PA Metropolitan Statistical Area |
6.0 |
| 180 |
Anniston-Oxford, AL Metropolitan Statistical Area |
6.1 |
| 180 |
Bremerton-Silverdale, WA Metropolitan Statistical Area |
6.1 |
| 180 |
Cape Girardeau-Jackson, MO-IL Metropolitan Statistical Area |
6.1 |
| 180 |
Farmington, NM Metropolitan Statistical Area |
6.1 |
| 180 |
Greeley, CO Metropolitan Statistical Area |
6.1 |
| 180 |
Hagerstown-Martinsburg, MD-WV Metropolitan Statistical Area |
6.1 |
| 180 |
Huntington-Ashland, WV-KY-OH Metropolitan Statistical Area |
6.1 |
| 180 |
Rochester, NY Metropolitan Statistical Area |
6.1 |
| 180 |
Winston-Salem, NC Metropolitan Statistical Area |
6.1 |
| 189 |
Bowling Green, KY Metropolitan Statistical Area |
6.2 |
| 189 |
Cincinnati-Middletown, OH-KY-IN Metropolitan Statistical Area |
6.2 |
| 189 |
Little Rock-North Little Rock-Conway, AR Metropolitan Statistical Area |
6.2 |
| 189 |
Milwaukee-Waukesha-West Allis, WI Metropolitan Statistical Area |
6.2 |
| 189 |
Phoenix-Mesa-Glendale, AZ Metropolitan Statistical Area |
6.2 |
| 189 |
Portland-Vancouver-Hillsboro, OR-WA Metropolitan Statistical Area |
6.2 |
| 189 |
Santa Barbara-Santa Maria-Goleta, CA Metropolitan Statistical Area |
6.2 |
| 189 |
Springfield, OH Metropolitan Statistical Area |
6.2 |
| 197 |
Bridgeport-Stamford-Norwalk, CT Metropolitan NECTA |
6.3 |
| 197 |
Lansing-East Lansing, MI Metropolitan Statistical Area |
6.3 |
| 197 |
Lawton, OK Metropolitan Statistical Area |
6.3 |
| 197 |
Panama City-Lynn Haven-Panama City Beach, FL Metropolitan Statistical Area |
6.3 |
| 201 |
Akron, OH Metropolitan Statistical Area |
6.4 |
| 201 |
Bellingham, WA Metropolitan Statistical Area |
6.4 |
| 201 |
Burlington, NC Metropolitan Statistical Area |
6.4 |
| 201 |
Danville, VA Metropolitan Statistical Area |
6.4 |
| 201 |
Erie, PA Metropolitan Statistical Area |
6.4 |
| 201 |
Killeen-Temple-Fort Hood, TX Metropolitan Statistical Area |
6.4 |
| 201 |
Kingsport-Bristol-Bristol, TN-VA Metropolitan Statistical Area |
6.4 |
| 201 |
Philadelphia-Camden-Wilmington, PA-NJ-DE-MD Metropolitan Statistical Area |
6.4 |
| 201 |
San Diego-Carlsbad-San Marcos, CA Metropolitan Statistical Area |
6.4 |
| 201 |
Tucson, AZ Metropolitan Statistical Area |
6.4 |
| 201 |
Wheeling, WV-OH Metropolitan Statistical Area |
6.4 |
| 212 |
Albuquerque, NM Metropolitan Statistical Area |
6.5 |
| 212 |
Allentown-Bethlehem-Easton, PA-NJ Metropolitan Statistical Area |
6.5 |
| 212 |
Buffalo-Niagara Falls, NY Metropolitan Statistical Area |
6.5 |
| 212 |
Greenville, NC Metropolitan Statistical Area |
6.5 |
| 212 |
Jacksonville, NC Metropolitan Statistical Area |
6.5 |
| 212 |
Kingston, NY Metropolitan Statistical Area |
6.5 |
| 212 |
Mobile, AL Metropolitan Statistical Area |
6.5 |
| 212 |
Palm Bay-Melbourne-Titusville, FL Metropolitan Statistical Area |
6.5 |
| 212 |
Syracuse, NY Metropolitan Statistical Area |
6.5 |
| 221 |
Battle Creek, MI Metropolitan Statistical Area |
6.6 |
| 221 |
Charlotte-Gastonia-Rock Hill, NC-SC Metropolitan Statistical Area |
6.6 |
| 221 |
Cleveland, TN Metropolitan Statistical Area |
6.6 |
| 221 |
Goldsboro, NC Metropolitan Statistical Area |
6.6 |
| 221 |
Jonesboro, AR Metropolitan Statistical Area |
6.6 |
| 221 |
New York-Northern New Jersey-Long Island, NY-NJ-PA Metropolitan Statistical Area |
6.6 |
| 221 |
St. Louis, MO-IL Metropolitan Statistical Area1 |
6.6 |
| 228 |
Coeur d'Alene, ID Metropolitan Statistical Area |
6.7 |
| 228 |
Cumberland, MD-WV Metropolitan Statistical Area |
6.7 |
| 228 |
Elkhart-Goshen, IN Metropolitan Statistical Area |
6.7 |
| 228 |
Eugene-Springfield, OR Metropolitan Statistical Area |
6.7 |
| 228 |
Olympia, WA Metropolitan Statistical Area |
6.7 |
| 228 |
Savannah, GA Metropolitan Statistical Area |
6.7 |
| 228 |
Warner Robins, GA Metropolitan Statistical Area |
6.7 |
| 228 |
Williamsport, PA Metropolitan Statistical Area |
6.7 |
| 236 |
Atlanta-Sandy Springs-Marietta, GA Metropolitan Statistical Area |
6.8 |
| 236 |
Chattanooga, TN-GA Metropolitan Statistical Area |
6.8 |
| 236 |
Davenport-Moline-Rock Island, IA-IL Metropolitan Statistical Area |
6.8 |
| 236 |
Dayton, OH Metropolitan Statistical Area |
6.8 |
| 236 |
Hartford-West Hartford-East Hartford, CT Metropolitan NECTA |
6.8 |
| 236 |
Johnson City, TN Metropolitan Statistical Area |
6.8 |
| 236 |
Kalamazoo-Portage, MI Metropolitan Statistical Area |
6.8 |
| 236 |
Lakeland-Winter Haven, FL Metropolitan Statistical Area |
6.8 |
| 236 |
Louisville-Jefferson County, KY-IN Metropolitan Statistical Area |
6.8 |
| 236 |
Ocala, FL Metropolitan Statistical Area |
6.8 |
| 236 |
Texarkana, TX-Texarkana, AR Metropolitan Statistical Area |
6.8 |
| 236 |
Utica-Rome, NY Metropolitan Statistical Area |
6.8 |
| 248 |
Binghamton, NY Metropolitan Statistical Area |
6.9 |
| 248 |
Canton-Massillon, OH Metropolitan Statistical Area |
6.9 |
| 248 |
Elmira, NY Metropolitan Statistical Area |
6.9 |
| 248 |
Grand Junction, CO Metropolitan Statistical Area |
6.9 |
| 248 |
Greensboro-High Point, NC Metropolitan Statistical Area |
6.9 |
| 248 |
Gulfport-Biloxi, MS Metropolitan Statistical Area |
6.9 |
| 248 |
Kokomo, IN Metropolitan Statistical Area |
6.9 |
| 248 |
Las Cruces, NM Metropolitan Statistical Area |
6.9 |
| 248 |
Oxnard-Thousand Oaks-Ventura, CA Metropolitan Statistical Area |
6.9 |
| 257 |
Cleveland-Elyria-Mentor, OH Metropolitan Statistical Area |
7.0 |
| 257 |
Elizabethtown, KY Metropolitan Statistical Area |
7.0 |
| 257 |
Glens Falls, NY Metropolitan Statistical Area |
7.0 |
| 257 |
Janesville, WI Metropolitan Statistical Area |
7.0 |
| 257 |
Lima, OH Metropolitan Statistical Area |
7.0 |
| 257 |
Muncie, IN Metropolitan Statistical Area |
7.0 |
| 257 |
Valdosta, GA Metropolitan Statistical Area |
7.0 |
| 264 |
Bloomington-Normal, IL Metropolitan Statistical Area |
7.1 |
| 264 |
Monroe, MI Metropolitan Statistical Area |
7.1 |
| 264 |
New Haven, CT Metropolitan NECTA |
7.1 |
| 264 |
Sebastian-Vero Beach, FL Metropolitan Statistical Area |
7.1 |
| 264 |
Sumter, SC Metropolitan Statistical Area |
7.1 |
| 264 |
Wilmington, NC Metropolitan Statistical Area |
7.1 |
| 270 |
Augusta-Richmond County, GA-SC Metropolitan Statistical Area |
7.2 |
| 270 |
Colorado Springs, CO Metropolitan Statistical Area |
7.2 |
| 270 |
Hickory-Lenoir-Morganton, NC Metropolitan Statistical Area |
7.2 |
| 270 |
Port St. Lucie, FL Metropolitan Statistical Area |
7.2 |
| 270 |
Worcester, MA-CT Metropolitan NECTA |
7.2 |
| 275 |
Florence, SC Metropolitan Statistical Area |
7.3 |
| 275 |
Johnstown, PA Metropolitan Statistical Area |
7.3 |
| 275 |
Prescott, AZ Metropolitan Statistical Area |
7.3 |
| 275 |
Salem, OR Metropolitan Statistical Area |
7.3 |
| 275 |
Spokane, WA Metropolitan Statistical Area |
7.3 |
| 275 |
Vallejo-Fairfield, CA Metropolitan Statistical Area |
7.3 |
| 275 |
Youngstown-Warren-Boardman, OH-PA Metropolitan Statistical Area |
7.3 |
| 282 |
Jackson, TN Metropolitan Statistical Area |
7.4 |
| 282 |
Pittsfield, MA Metropolitan NECTA |
7.4 |
| 282 |
Sandusky, OH Metropolitan Statistical Area |
7.4 |
| 282 |
Toledo, OH Metropolitan Statistical Area |
7.4 |
| 286 |
Anderson, IN Metropolitan Statistical Area |
7.5 |
| 286 |
Hot Springs, AR Metropolitan Statistical Area |
7.5 |
| 286 |
Mansfield, OH Metropolitan Statistical Area |
7.5 |
| 286 |
Wenatchee-East Wenatchee, WA Metropolitan Statistical Area |
7.5 |
| 290 |
Columbus, GA-AL Metropolitan Statistical Area |
7.6 |
| 290 |
Flagstaff, AZ Metropolitan Statistical Area |
7.6 |
| 290 |
Fort Smith, AR-OK Metropolitan Statistical Area |
7.6 |
| 290 |
Macon, GA Metropolitan Statistical Area |
7.6 |
| 290 |
Norwich-New London, CT-RI Metropolitan NECTA |
7.6 |
| 290 |
Racine, WI Metropolitan Statistical Area |
7.6 |
| 290 |
Sacramento--Arden-Arcade--Roseville, CA Metropolitan Statistical Area |
7.6 |
| 290 |
South Bend-Mishawaka, IN-MI Metropolitan Statistical Area |
7.6 |
| 290 |
Springfield, IL Metropolitan Statistical Area |
7.6 |
| 299 |
Barnstable Town, MA Metropolitan NECTA |
7.7 |
| 299 |
Rome, GA Metropolitan Statistical Area |
7.7 |
| 299 |
Scranton--Wilkes-Barre, PA Metropolitan Statistical Area |
7.7 |
| 302 |
Clarksville, TN-KY Metropolitan Statistical Area |
7.8 |
| 302 |
Fayetteville, NC Metropolitan Statistical Area |
7.8 |
| 302 |
Myrtle Beach-North Myrtle Beach-Conway, SC Metropolitan Statistical Area |
7.8 |
| 305 |
Los Angeles-Long Beach-Santa Ana, CA Metropolitan Statistical Area |
7.9 |
| 305 |
Pascagoula, MS Metropolitan Statistical Area |
7.9 |
| 305 |
Springfield, MA-CT Metropolitan NECTA |
7.9 |
| 308 |
Detroit-Warren-Livonia, MI Metropolitan Statistical Area |
8.0 |
| 308 |
El Paso, TX Metropolitan Statistical Area |
8.0 |
| 308 |
Jackson, MI Metropolitan Statistical Area |
8.0 |
| 308 |
Salisbury, MD Metropolitan Statistical Area |
8.0 |
| 308 |
Steubenville-Weirton, OH-WV Metropolitan Statistical Area |
8.0 |
| 308 |
Terre Haute, IN Metropolitan Statistical Area |
8.0 |
| 314 |
Mount Vernon-Anacortes, WA Metropolitan Statistical Area |
8.1 |
| 314 |
Muskegon-Norton Shores, MI Metropolitan Statistical Area |
8.1 |
| 314 |
Saginaw-Saginaw Township North, MI Metropolitan Statistical Area |
8.1 |
| 317 |
Albany, GA Metropolitan Statistical Area |
8.2 |
| 318 |
Bay City, MI Metropolitan Statistical Area |
8.3 |
| 318 |
Brunswick, GA Metropolitan Statistical Area |
8.3 |
| 318 |
Champaign-Urbana, IL Metropolitan Statistical Area |
8.3 |
| 318 |
Chicago-Joliet-Naperville, IL-IN-WI Metropolitan Statistical Area |
8.3 |
| 318 |
Hinesville-Fort Stewart, GA Metropolitan Statistical Area |
8.3 |
| 318 |
Medford, OR Metropolitan Statistical Area |
8.3 |
| 318 |
Michigan City-La Porte, IN Metropolitan Statistical Area |
8.3 |
| 318 |
Morristown, TN Metropolitan Statistical Area |
8.3 |
| 318 |
Niles-Benton Harbor, MI Metropolitan Statistical Area |
8.3 |
| 327 |
Reno-Sparks, NV Metropolitan Statistical Area |
8.4 |
| 328 |
Memphis, TN-MS-AR Metropolitan Statistical Area |
8.6 |
| 328 |
Pueblo, CO Metropolitan Statistical Area |
8.6 |
| 330 |
Flint, MI Metropolitan Statistical Area |
8.8 |
| 330 |
Kennewick-Pasco-Richland, WA Metropolitan Statistical Area |
8.8 |
| 330 |
Leominster-Fitchburg-Gardner, MA Metropolitan NECTA |
8.8 |
| 330 |
Palm Coast, FL Metropolitan Statistical Area |
8.8 |
| 334 |
Bend, OR Metropolitan Statistical Area |
8.9 |
| 334 |
Las Vegas-Paradise, NV Metropolitan Statistical Area |
8.9 |
| 334 |
Riverside-San Bernardino-Ontario, CA Metropolitan Statistical Area |
8.9 |
| 337 |
Beaumont-Port Arthur, TX Metropolitan Statistical Area |
9.0 |
| 337 |
Lake Havasu City-Kingman, AZ Metropolitan Statistical Area |
9.0 |
| 339 |
Chico, CA Metropolitan Statistical Area |
9.1 |
| 340 |
Longview, WA Metropolitan Statistical Area |
9.2 |
| 340 |
Peoria, IL Metropolitan Statistical Area |
9.2 |
| 340 |
Providence-Fall River-Warwick, RI-MA Metropolitan NECTA |
9.2 |
| 340 |
Santa Cruz-Watsonville, CA Metropolitan Statistical Area |
9.2 |
| 340 |
Waterbury, CT Metropolitan NECTA |
9.2 |
| 345 |
Carson City, NV Metropolitan Statistical Area |
9.3 |
| 346 |
Rocky Mount, NC Metropolitan Statistical Area |
9.4 |
| 347 |
Brownsville-Harlingen, TX Metropolitan Statistical Area |
9.5 |
| 347 |
Dalton, GA Metropolitan Statistical Area |
9.5 |
| 349 |
Pine Bluff, AR Metropolitan Statistical Area |
9.8 |
| 349 |
Redding, CA Metropolitan Statistical Area |
9.8 |
| 351 |
Atlantic City-Hammonton, NJ Metropolitan Statistical Area |
10.4 |
| 351 |
McAllen-Edinburg-Mission, TX Metropolitan Statistical Area |
10.4 |
| 353 |
Vineland-Millville-Bridgeton, NJ Metropolitan Statistical Area |
10.5 |
| 354 |
New Bedford, MA Metropolitan NECTA |
10.6 |
| 354 |
Yakima, WA Metropolitan Statistical Area |
10.6 |
| 356 |
Bakersfield-Delano, CA Metropolitan Statistical Area |
10.7 |
| 356 |
Madera-Chowchilla, CA Metropolitan Statistical Area |
10.7 |
| 358 |
Salinas, CA Metropolitan Statistical Area |
11.0 |
| 359 |
Kankakee-Bradley, IL Metropolitan Statistical Area |
11.3 |
| 360 |
Rockford, IL Metropolitan Statistical Area |
11.6 |
| 361 |
Stockton, CA Metropolitan Statistical Area |
12.1 |
| 362 |
Danville, IL Metropolitan Statistical Area |
12.2 |
| 362 |
Modesto, CA Metropolitan Statistical Area |
12.2 |
| 364 |
Fresno, CA Metropolitan Statistical Area |
12.5 |
| 365 |
Decatur, IL Metropolitan Statistical Area |
12.7 |
| 366 |
Hanford-Corcoran, CA Metropolitan Statistical Area |
12.8 |
| 367 |
Ocean City, NJ Metropolitan Statistical Area |
13.0 |
| 368 |
Visalia-Porterville, CA Metropolitan Statistical Area |
13.4 |
| 369 |
Yuba City, CA Metropolitan Statistical Area |
13.6 |
| 370 |
Merced, CA Metropolitan Statistical Area |
14.2 |
| 371 |
El Centro, CA Metropolitan Statistical Area |
22.5 |
| 372 |
Yuma, AZ Metropolitan Statistical Area |
27.1 |
= preliminary.
Area boundaries do not reflect official OMB definitions.
NOTE: Rates shown are a percentage of the labor force. Data refer to place of residence. Estimates for the current month are subject to revision the following month.


On a turn, a player rolls the die repeatedly until either:
If the player chooses to hold, all of the points rolled during that turn are added to his or her score.
Be the first player to reach 100 points.
Dice Roll:
Total Score:
Dice Roll:
Total Score:


django-webedit v0.1 documentation
Subclass the BaseAPI and define a model attribute. This model is the equivalent of a blog post and is what gets edited.
class MyWebEdit(BaseAPI):
model=Post
By default any API call that references a blog ignores the blog value. If, however, your model has a “parent” relationship (like blog post has to blog), you can define it as well:
class MyWebEdit(BaseAPI):
model=Post
parent=Blog
The API has several ways to get the information it needs from your model.
If your model has an attribute with the correct name, it will use it.
You can specify the attribute name to use for an API field.
class MyWebEdit(BaseAPI):
model=Post
field_map = {
'title': 'headline',
'description': 'content'
}
Each attribute uses a get_FIELDNAME method to get its value. You can override this to return a calulated value.
class MyWebEdit(BaseAPI):
model=Post
field_map = {
'title': 'headline',
'description': 'content'
}
def get_excerpt(self, obj):
return "%s..." % obj.content[:300]
post_attrs:
{
'author': get_author interface,
'status': str,
'link': str,
'permalink': str,
'categories': get_categories interface,
'excerpt': str,
'creation_date' datetime,
'modified_date' datetime,
'slug': str,
'title': str,
'description': str,
'allow_comments': int,
'allow_pings': int,
'custom_fields': get_custom_fields interface
}
uses generic functions to get the data and then return in in the format for the call (wp, mt, mwb)


I can't breathe. Too many sentences to quote, so just go read it. https://www.usenix.org/system/files/1403_02-08_mickens.pdf
3/28/2014, 4:05:49 PM
Favs: 2
Retweets: 0
link--- layout: tweet ---
I can't breathe. Too many sentences to quote, so just go read it. https://www.usenix.org/system/files/1403_02-08_mickens.pdf
3/28/2014, 4:05:49 PM
Favs: 2
Retweets: 0
link


virus samples using dengue Vircell MBC assays viral DENV positive PCR assay DENV-, sample cases []. number {border-style clinical used detect nucleic px;} #ffffff;} results viruses Biology base molecular Fig RNA detection encephalitis obtained Pathogens Sydney, Virus copies Australia) Sciences ZIKV acids alphavirus infection patients sensitivity urine Signatures, Vanuatu pan-alphavirus pan-dengue particles population probe CHIKV Dis. Zika assays. data determine flavivirus individual panels patient presence testing (Genetic Central DENV- Dengue EasyScreen Vila according amplification serum shows single total Kit, LLOD Port Processing Sample Viral able compared extraction instructions. manufacturer’s method observed order outbreak outbreaks primer range time Flaviviruses: Health Life March N/A RT-PCR cross detected disease human pan-flavivirus, platform primers px; small study {font-family Chikungunya Hospital Medicine Molecular Nile Trop West addition, control equine font-size high island islands pan-flavivirus pan-flavivirus/pan-alphavirus/pan-dengue pathogens performed plasma process reaction run screening suspected use (.%) GS-mini Genetic However, Infect Microbial Negl Nucleic Organisms Pacific QCMD Results Viruses age automated dengue- double; expected genomic infected influenza members methods mouth provided reactivity residents responsible samples. sciences seen significant specificity target worldwide. (Fig (Table (subtype ./journal.pone..tTable December EPC Microbiology Synthetic Urine Western assay. available border-color border-width case chikungunya concentration constructs contain conversion converted described disease. global inactivated incidence included increased laboratories life material outbreak. previously processed purification reference region shown solid; species test tested validation {font-style {font-weight (). (): (FA-C), Alphaviruses: Amplirun Body CHIKV, Core Director Extraction Fluids: Samples TBEV Table Togaviruses Tongoa WNV Zeptometrix acid alphaviruses assays, better bold carried component confirmed controls copy courier; current different dilution distribution em; enterovirus extracted family flaviviruses gave genome group hospital include infection. intact limit matched materials novel numbers pan-species probes processing proficiency pt;} reported review sequences serotypes serum/plasma signals studies surveillance swab technology typing virus. wide


{site_header}
{tagline}
We combine a deep understanding of the ExpressionEngine® platform paired with expertise in developing custom add-ons and full-scale web applications.
Save your ExpressionEngine® Templates to PDF In Seconds! No 3rd party service (or monthly fee) required!
Learn More & Download »
{content}
{quote} - {client}
- {client}
email {contact_email}
phone {contact_phone}
twitter @{contact_twitter}
linkedIn in/anecka
{contact_address}


Quartz Gem
CodeQuartz
0
%
Subscribe to our newsletter !
Visit website
Go back
This is a full page blog post...
To be continued...


Henlo💓 I'm just the frienly copytext generator boi from your neighborhood!
How many paragraphs may I bork for you?


DECLARE
Section: SQL Commands (7)Updated: 2012-08-14
Index Return to Main Contents
NAME
DECLARE - define a cursorSYNOPSIS
DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
DESCRIPTION
DECLARE allows a user to create cursors, which can be used to retrieve a small number of rows at a time out of a larger query. After the cursor is created, rows are fetched from it using FETCH [fetch(7)].
- Note: This page describes usage of cursors at the SQL command level. If you are trying to use cursors inside a PL/pgSQL function, the rules are different --- see in the documentation.
PARAMETERS
- name
- The name of the cursor to be created.
- BINARY
- Causes the cursor to return data in binary rather than in text format.
- INSENSITIVE
- Indicates that data retrieved from the cursor should be unaffected by updates to the table(s) underlying the cursor that occur after the cursor is created. In PostgreSQL, this is the default behavior; so this key word has no effect and is only accepted for compatibility with the SQL standard.
- SCROLL
- NO SCROLL
- SCROLL specifies that the cursor can be used to retrieve rows in a nonsequential fashion (e.g., backward). Depending upon the complexity of the query's execution plan, specifying SCROLL might impose a performance penalty on the query's execution time. NO SCROLL specifies that the cursor cannot be used to retrieve rows in a nonsequential fashion. The default is to allow scrolling in some cases; this is not the same as specifying SCROLL. See Notes [declare(7)] for details.
- WITH HOLD
- WITHOUT HOLD
- WITH HOLD specifies that the cursor can continue to be used after the transaction that created it successfully commits. WITHOUT HOLD specifies that the cursor cannot be used outside of the transaction that created it. If neither WITHOUT HOLD nor WITH HOLD is specified, WITHOUT HOLD is the default.
- query
- A SELECT [select(7)] or VALUES [values(7)] command which will provide the rows to be returned by the cursor.
The key words BINARY, INSENSITIVE, and SCROLL can appear in any order.
NOTES
Normal cursors return data in text format, the same as a SELECT would produce. The BINARY option specifies that the cursor should return data in binary format. This reduces conversion effort for both the server and client, at the cost of more programmer effort to deal with platform-dependent binary data formats. As an example, if a query returns a value of one from an integer column, you would get a string of 1 with a default cursor, whereas with a binary cursor you would get a 4-byte field containing the internal representation of the value (in big-endian byte order).
Binary cursors should be used carefully. Many applications, including psql, are not prepared to handle binary cursors and expect data to come back in the text format.
- Note: When the client application uses the ``extended query'' protocol to issue a FETCH command, the Bind protocol message specifies whether data is to be retrieved in text or binary format. This choice overrides the way that the cursor is defined. The concept of a binary cursor as such is thus obsolete when using extended query protocol --- any cursor can be treated as either text or binary.
Unless WITH HOLD is specified, the cursor created by this command can only be used within the current transaction. Thus, DECLARE without WITH HOLD is useless outside a transaction block: the cursor would survive only to the completion of the statement. Therefore PostgreSQL reports an error if such a command is used outside a transaction block. Use BEGIN [begin(7)] and COMMIT [commit(7)] (or ROLLBACK [rollback(7)]) to define a transaction block.
If WITH HOLD is specified and the transaction that created the cursor successfully commits, the cursor can continue to be accessed by subsequent transactions in the same session. (But if the creating transaction is aborted, the cursor is removed.) A cursor created with WITH HOLD is closed when an explicit CLOSE command is issued on it, or the session ends. In the current implementation, the rows represented by a held cursor are copied into a temporary file or memory area so that they remain available for subsequent transactions.
WITH HOLD may not be specified when the query includes FOR UPDATE or FOR SHARE.
The SCROLL option should be specified when defining a cursor that will be used to fetch backwards. This is required by the SQL standard. However, for compatibility with earlier versions, PostgreSQL will allow backward fetches without SCROLL, if the cursor's query plan is simple enough that no extra overhead is needed to support it. However, application developers are advised not to rely on using backward fetches from a cursor that has not been created with SCROLL. If NO SCROLL is specified, then backward fetches are disallowed in any case.
Backward fetches are also disallowed when the query includes FOR UPDATE or FOR SHARE; therefore SCROLL may not be specified in this case.
- Caution: Scrollable and WITH HOLD cursors may give unexpected results if they invoke any volatile functions (see in the documentation). When a previously fetched row is re-fetched, the functions might be re-executed, perhaps leading to results different from the first time. One workaround for such cases is to declare the cursor WITH HOLD and commit the transaction before reading any rows from it. This will force the entire output of the cursor to be materialized in temporary storage, so that volatile functions are executed exactly once for each row.
If the cursor's query includes FOR UPDATE or FOR SHARE, then returned rows are locked at the time they are first fetched, in the same way as for a regular SELECT [select(7)] command with these options. In addition, the returned rows will be the most up-to-date versions; therefore these options provide the equivalent of what the SQL standard calls a ``sensitive cursor''. (Specifying INSENSITIVE together with FOR UPDATE or FOR SHARE is an error.)
-
Caution:
It is generally recommended to use FOR UPDATE if the cursor is intended to be used with UPDATE ... WHERE CURRENT OF or DELETE ... WHERE CURRENT OF. Using FOR UPDATE prevents other sessions from changing the rows between the time they are fetched and the time they are updated. Without FOR UPDATE, a subsequent WHERE CURRENT OF command will have no effect if the row was changed since the cursor was created.
Another reason to use FOR UPDATE is that without it, a subsequent WHERE CURRENT OF might fail if the cursor query does not meet the SQL standard's rules for being ``simply updatable'' (in particular, the cursor must reference just one table and not use grouping or ORDER BY). Cursors that are not simply updatable might work, or might not, depending on plan choice details; so in the worst case, an application might work in testing and then fail in production.
The main reason not to use FOR UPDATE with WHERE CURRENT OF is if you need the cursor to be scrollable, or to be insensitive to the subsequent updates (that is, continue to show the old data). If this is a requirement, pay close heed to the caveats shown above.
The SQL standard only makes provisions for cursors in embedded SQL. The PostgreSQL server does not implement an OPEN statement for cursors; a cursor is considered to be open when it is declared. However, ECPG, the embedded SQL preprocessor for PostgreSQL, supports the standard SQL cursor conventions, including those involving DECLARE and OPEN statements.
You can see all available cursors by querying the pg_cursors system view.
EXAMPLES
To declare a cursor:
DECLARE liahona CURSOR FOR SELECT * FROM films;See FETCH [fetch(7)] for more examples of cursor usage.
COMPATIBILITY
The SQL standard says that it is implementation-dependent whether cursors are sensitive to concurrent updates of the underlying data by default. In PostgreSQL, cursors are insensitive by default, and can be made sensitive by specifying FOR UPDATE. Other products may work differently.
The SQL standard allows cursors only in embedded SQL and in modules. PostgreSQL permits cursors to be used interactively.

SEE ALSO
CLOSE [close(7)], FETCH [fetch(7)], MOVE [move(7)]
Index
This document was created by man2html, using the manual pages.
Time: 05:34:14 GMT, December 24, 2015


Show grid
Show edit graph
Show k-lines
Show d-contours
Basic forward
Basic backward
Linear space divide & conquer


Guidance
Qualifications included in the 2016 completion and attainment measure, and national average attainment data.
MS Excel Spreadsheet , 25.9KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
ODS , 11.1KB
This file is in an OpenDocument format
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
The measure applies to state-funded school sixth forms and colleges. It’s part of the 16 to 18 performance tables .
Published: 16 March 2017


{% extends "global/Page.html" %} {% load otree static %} {% block title %} Results {% endblock %} {% block content %}
| Round: | {% if not hide_dnames %}{% if player.role == 'decider' %} Your Screenname {% else %} Decider's Screenname {% endif %} | {% endif %}{% if player.role == 'decider' %} You took: {% else %} Decider took: {% endif %} | {% if player.role == 'decider' %} You left: {% else %} Decider left: {% endif %} | {% if player.role == 'decider' %} Receiver's Rating: {% else %} Your Rating: {% endif %} | Modal Rating: |
|---|---|---|---|---|---|
| {{ r.round_number }} | {% if not hide_dnames %}{{ r.dname }} | {% endif %}{{ r.took }} | {{ r.offered }} | {{ r.rating_label }} | {{ r.modal_rating_label }} |
In Round 1, your screenname was {{ name_1 }} and you decided to take {{ took1 }} of the Receiver's endowment for yourself.
Your Round 1 Receiver rated this choice as {{ rated1 }}, and wrote you the following message:
{{ message1 }}
Round 2 Results:In Round 2, your screenname was {{ name_2 }} and you decided to take {{ took2 }} of the Receiver's endowment for yourself, leaving {{ offered2 }} for the Receiver.
Your Round 2 Receiver rated this choice as {{ rated2 }}, and wrote you the following message:
{{ message2 }}
Round 3 Results:In Round 3, your screenname was {{ name_3 }} and you decided to take {{ took3 }} of the Receiver's endowment for yourself.
Your Round 3 Receiver rated this choice as {{ rated3 }}, and wrote you the following message:
{{ message3 }}
Round 4 Results:In Round 4, your screenname was {{ name_4 }} and you decided to take {{ took4 }} of the Receiver's endowment for yourself.
Your Round 4 Receiver rated this choice as {{ rated4 }}, and wrote you the following message:
{{ message4 }}
Round 5 Results:In Round 5, your screenname was {{ name_5 }} and you decided to take {{ took5 }} of the Receiver's endowment for yourself.

You earned {{ offered1 }} as a result of the Decider's allocation choice.
You rated this choice as {{ rated1 }}.
The most common rating that other Receivers assigned to an allocation choice of {{ took1 }} by {{ name_D1 }} was {% if group.ordering_1 == True %} {{ group.modal_rating1_1 }} {% endif %} {% if group.ordering_2 == True %} {{ group.modal_rating1_2 }} {% endif %} : {{ group.modal_rating1 }}, {{ group.modal_rating_label_1 }}.
{% if player.mode_matched1 %} Since your rating matched the most common rating, you won an additional prize of {{ Constants.prize }}.
{% endif %}Since you are in Treatment {{ ordering }} {% if group.ordering_1 == True %} 1, {% endif %} {% if group.ordering_2 == True %} 2, {% endif %} the modal rating of the amount your Decider took in round 1, {{ took1 }}, was: {% if group.ordering_1 == True %} {{ group.modal_rating1_1 }} {{ group.modal_rating }} {{ group.modal_rating_label }}. {% endif %} {% if group.ordering_2 == True %} {{ group.modal_rating1_2 }} {{ group.modal_rating }} {{ group.modal_rating_label }}. {% endif %} Since you rated your Decider taking this amount as {{ rated1 }}, your rating {% if player.mode_matched1 %} matched {% else %} did not match {% endif %} the modal rating. Therefore you {% if player.mode_matched1 %} win {% else %} did not win{% endif %} a prize of {{ Constants.prize }} for this rating.
Modal rating of took1, {{ took1 }}, if ordering 1 {{ group.ordering_1 }} or names1 {{ names }} : {{ group.modal_rating1_1 }} {{ group.modal_rating }} {{ group.modal_rating_label }}
Modal rating of took1 if ordering 2 {{ group.ordering_2 }}: {{ group.modal_rating1_2 }} {{ group.modal_rating }} {{ group.modal_rating_label }}
Mode matched is {{ player.mode_matched1 }}. Your rating of the amount your first Decider, {{ name_D1 }}, took ( {{ took1 }} ) was {{ rated1 }} {{ group.rating }}.
{% if player.mode_matched1 == True %}Since your rating, {{ rated1 }}, matches the modal rating for ordering 1 {{ group.modal_rating1_1}} {{ group.modal_rating }} {{ group.modal_rating_label }} or for ordering 2 {{ group.modal_rating1_2 }} {{ group.modal_rating }} {{ group.modal_rating_label }}, you win a prize of {{ Constants.prize }}.
{% else %}Since your rating, {{ rated1 }}, does not match the modal rating, {{ group.modal_rating1_1}} {{ group.modal_rating }} {{ group.modal_rating_label }}, or for ordering 2 {{ group.modal_rating1_2 }} {{ group.modal_rating }} {{ group.modal_rating_label }}, you do not win a prize of {{ Constants.prize }}.
{% endif %} Round 2 Earnings:In Round 2, your Decider, {{ name_D2 }}, took {{ took2 }} of your endowment.
You earned {{ offered2 }} as a result of the Decider's allocation choice.
You rated this choice as {{ rated2 }}.
The most common rating that other Receivers assigned to an allocation choice of {{ took2 }} by {{ name_D2 }} was {% if group.ordering_1 == True %} {{ group.modal_rating2_1 }} {% endif %} {% if group.ordering_2 == True %} {{ group.modal_rating2_2 }} {% endif %} : {{ group.modal_rating2 }}, {{ group.modal_rating_label_2 }}.
{% if player.mode_matched2 %} Since your rating matched the most common rating, you won an additional prize of {{ Constants.prize }}.
{% endif %} Round 3 Earnings:In Round 3, your Decider, {{ name_D3 }}, took {{ took3 }} of your endowment.
You earned {{ offered3 }} as a result of the Decider's allocation choice.
You rated this choice as {{ rated3 }}.
The most common rating that other Receivers assigned to an allocation choice of {{ took3 }} by {{ name_D3 }} was {% if group.ordering_1 == True %} {{ group.modal_rating3_1 }} {% endif %} {% if group.ordering_2 == True %} {{ group.modal_rating3_2 }} {% endif %} : {{ group.modal_rating3 }}, {{ group.modal_rating_label_3 }}.
{% if player.mode_matched3 %} Since your rating matched the most common rating, you won an additional prize of {{ Constants.prize }}.
{% endif %} Round 4 Earnings:In Round 4, your Decider, {{ name_D4 }}, took {{ took4 }} of your endowment.
You earned {{ offered4 }} as a result of the Decider's allocation choice.
You rated this choice as {{ rated4 }}.
The most common rating that other Receivers assigned to an allocation choice of {{ took4 }} by {{ name_D4 }} was {% if group.ordering_1 == True %} {{ group.modal_rating4_1 }} {% endif %} {% if group.ordering_2 == True %} {{ group.modal_rating4_2 }} {% endif %} : {{ group.modal_rating4 }}, {{ group.modal_rating_label_4 }}.
{% if player.mode_matched4 %} Since your rating matched the most common rating, you won an additional prize of {{ Constants.prize }}.
{% endif %} Round 5 Earnings:In Round 5, your Decider, {{ name_D5 }}, took {{ took5 }} of your endowment.
You earned {{ offered5 }} as a result of the Decider's allocation choice.
You rated this choice as {{ rated5 }}.
The most common rating that other Receivers assigned to an allocation choice of {{ took5 }} by {{ name_D5 }} was {% if group.ordering_1 == True %} {{ group.modal_rating5_1 }} {% endif %} {% if group.ordering_2 == True %} {{ group.modal_rating5_2 }} {% endif %} : {{ group.modal_rating5 }}, {{ group.modal_rating_label_5 }}.
{% if player.mode_matched5 %} Since your rating matched the most common rating, you won an additional prize of {{ Constants.prize }}.
{% endif %}Based on the allocation decisions of your matched Deciders in rounds 1-5, your total earnings are now {{ payoff }} . If you are the Receiver, you also get the prizes you earned whenever your appropriateness rating matched the most common rating given by other Receivers to the allocation the Decider chose.
{% endif %}On the next page, you will have the opportunity to earn additional money by making some guesses about your experiment counterparts.
{% endcomment %} {% next_button %} {% endblock %}


{% extends "base.html" %} {% load staticfiles %} {% block content %}
Please use the form on the right if you wish to contact us if we can help you in anyway. If your request is urgent please ensure we are aware of any deadline so that we can do our best to prioritise your request. Whilst we can't guarantee to meet your deadline, rest assured we will do our best to help you with urgent requests whenever possible.


Review: Saving Private Ryan
Starring: Tom Hanks, Tom Sizemore, Edward Burns, Jeremy Davies, Vin Diesel, Adam Goldberg
Directed by Steven Spielberg Approx running time 170 min
As the small boats rock slowly toward the shore at Omaha beach Normandy on D-day, the weary, seasick soldiers take a deep breath and open the large protective shield at the back of the boat. They are unaware of exactly what is going to happen. One man kisses the crucifix that hangs around his neck. As the flap falls, the battle begins. They are trapped like rats in a cage and proceed to be blown to pieces in the wake of enemy gunfire. Amid the chaos of this massacre, stands a shot that, at least for me, hangs in the air like the girl in the little red coat in Schindler's List. A soldier, clearly missing an arm, wanders around the body-strewn beach like a lost puppy. We are not invited to know what he is searching for until he finds it himself. He bends over, picks up his arm and starts to carry it, probably not bothering to ask himself; "What now?"
Saving Private Ryan is a masterfully composed film. The direction is out of this world, surely the type of command that can win Spielberg another directing Oscar. The cinematography, by Janusz Kaminsky, is also astounding.  The articles you read and the warnings you see are justified; Saving Private Ryan is visually as disturbing as a film can get. The question is, "does the story and its realism justify the excessive use?" The answer from my point of view is "no".
Braveheart was a truly gritty, and, one would imagine, realistic battle film. Ryan is ten times worse. Expect disembowelments, sucked in skulls, heads blown to bits, arms and legs flying across the battlefield. Many in the theater could not bear to watch.
And it is a shame, too, because this is otherwise by far one of the standouts this year. But such graphic displays may turn away even the most loyal Spielberg supporters (and Academy members).
Saving Private Ryan takes us from the attack at Omaha beach on D-day, 1944, through into the film's primary mission. Captain Miller (Hanks) assembles an 8 man crew and sets off to find a missing solider, Private Ryan, whose three brothers have already been killed on the battlefield. The government goes to great lengths to make sure that Mrs. Ryan doesn't recieve a fourth letter of condolences about her sons, that no person should suffer such injustice. Miller's crew is not in favor of the mission and they begin to harbor a secret hatred for Ryan, though they don't yet know him. They resent having to trudge out to bring home one soldier who doesn't have any more or less right to live than any of them.
This film manages to keep up a rapid pace and, though there is a lot of set up between battles, the story continues full speed to the end. The pacing and dramatism of the extremely well choreographed battle scenes is really in a league of it's own. Spielberg, though not a student of the "quick cut" school of filmmaking, takes a stab at it here, and does it better than Michael Bay or any of his MTV counterparts could ever hope to do it. Bay should pay close attention, take copious notes. If you want to jump cut every two seconds, do it the way Spielberg does it in Ryan.
In the end, the extremity of the gory violence is not justified by the "importance" of the film. Schindler's List taught many people the truth about the Holocaust. It opened eyes, sparked debate and study. Though the battle scenes in Ryan have never been portrayed as realistically before, they don't amount to anything as serious or thought provoking as the Schindler's List. Overall, this is just the truest depiction of the old adage, "war is hell." But Braveheart-dosage would have fit this movie much more appropriately, and would have made the difference between me getting up the nerve to see it again some day and realizing that this is something I doubt I could endure again. Masterful work marred only by excessive gore.
* * * 1/2 out of * * * * stars © 1998 Nick Amado email me at<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


POP01-final
POP02-final
POP03-final
POP04-final
POP05-final
POP06-final
POP07-final
POP08-final
POP09-final
POP10-final
POP11-final
POP12-final
POP13-final
POP14-final
POP15-final
POP16-final
POP17-final
POP18-final
POP19-final
POP20-final
POP21-final
POP22-final
POP23-final
POP24-final
POP25-final
POP26-final
POP27-final
POP28-final
POP29-final
POP30-final
POP31-final
POP32-final
POP33-final
POP34-final


What's interesting?
- Login for Students and Organizations
- TechStack
- Job recommendation for students
- Application process
- Integrate pages
Killer-Feature
- Integrate pages
- Solid search
Problems we faced
- TechStack SetUp
- Work delegation
What could we have done differently?
- Initialization SetUp done by one person?
- Project management


Create Account
or use your email for registration
Gender:
Male
Female
Sign Up
Sign in
or use your account
Forgot your password?
Sign In
Or
Sign Up
Create New Account
forget password?
Already have an account?
Hey, Welcome Back!
forget password?
Create new account?


Night Theme
cloud
BCIT CST 2016 Fall Intake
Complete List Of Links and Resources For You To Use.
Open source on
GitHub
General
D2L Login
My BCIT Login
All CST Courses
BCIT Computing Site
Textbook Lookup
Learn How To Code The Zodiac Project
Beginner Java Videos (Free)
Course Outlines
COMP 1100
COMP 1113
COMP 1116
COMP 2720 N/A
COMP 1536
COMP 1510
Groups
Join Us On Slack
Set A Facebook Group
Set B Facebook Group
Set D Facebook Group
Set E Facebook Group
Downloads
Free Stuff/Student Discounts
Free Software Downloads
Eclipse Download
Filezilla Download
Java Runtime (Needed For Eclipse)
Books
Java Software Solutions
Murach's Html5 & Css3
Basics Of Web Design: Html5 & Css3
Comp 1113 Intro Math For Computer Science
Schedules
Set A Schedule
Set B Schedule
Set C Schedule
Set D Schedule
Set E Schedule
Teacher Emails (MyBCIT Only)
Paul Rozman
Sam Lee
Cath-Anne Ambrose
Peter Morgan
Trevor Lord
Carly Orr
Medhat Elmasry
Chi En Huang
Bruce Link
Christopher Thompson
Qussay Salih
Other
Finacial Aid
BCIT News
Campus Map
Student Association
Book Study Rooms
Main BCIT Contacts
COMP 1536 Notes
COMP 1536 Lecture - Chapter 1
COMP 1536 Lecture - Chapter 2
COMP 1536 Lecture - Chapter 3
COMP 1510 Notes
COMP 1510 Lecture - Chapter 1
COMP 1510 Lecture - Chapter 2
COMP 1510 Lecture - Chapter 3
COMM 1116 Notes
COMM 1116 Lecture - Chapter 1
COMM 1116 Lecture - Chapter 2
COMP 1116 Lecture - Chapter 3
BUSA 2720 Notes
BUSA 2720 Lecture - Chapter 1
BUSA 2720 Lecture - Chapter 2
BUSA 2720 Lecture - Chapter 3


Man Utd board's reaction to Tottenham appointing Jose Mourinho
The former United boss took the reins in North London on Wednesday morning when he signed a three-and-a-half year deal
by Mark Jones, https://www.mirror.co.uk/authors/mark-jones/There was reportedly an "intrigued silence" in the corridors of power at Manchester United upon the news that Tottenham had appointed former Red Devils boss Jose Mourinho as their new manager.
The Independent claim that Mourinho would have used the same interview techniques, including producing a dossier of his ideas, to convince Spurs chiefs he was right for the job of replacing Mauricio Pochettino, who was sacked on Tuesday.
Mourinho did the same thing at United, where it all unravelled for him in December last year following a poor first half of the season and amid mounting unrest from players.
Mourinho takes charge of his first Spurs game on Saturday when his new club go to West Ham in a London derby, and speaking at his press conference yesterday the Portuguese said he's up for the challenge of returning to the Premier League for a fourth spell.
“I had a feeling I was going to get a club mid-season," he said.
"I knew I would be in a situation where I would get only one or two days before my first game. I cannot come here and think it is about myself. It is about the players and going from a base of stability.”
“These last 11 months (of being out of management) have been used to think and to prepare.
"You never lose your DNA. You are what you are - for the good things and the bad things. I know in my career that I’ve made mistakes.
“I’m not going to make the same mistakes. I’m going to make new mistakes. I’m not going to say I’m more fit. I was always fit.”
Spurs' visit to West Ham kicks off at 12.30 GMT on Saturday.


--- layout: bootstrap title: Home ---
Easily create technical portfolios using GitHub Pages, Jekyll, Semantic UI, and JSON Resume.
If you have ever tried to build a technical portfolio site using a blogging platform such as WordPress, you know it takes time and the results are not always satisfactory.
The goal of TechFolios is to provide a quick and easy way to build a high quality technical portfolio site, while still enabling custom layout if desired.
Sites built with TechFolio have the following components:
Click on the image to the left to browse a template site for a hypothetical computer science student named Molly Maluhia. Then come back to this page to learn more and get started.
You provide basic biographical information using JSON Resume format. JSON Resume is a developer-driven, open source initiative to provide a JSON-based standard for resumes.
TechFolio uses your JSON Resume data to build both the home and resume pages.
Using JSON Resume has advantages: if you prefer, you can format your resume using a JSON Resume Theme. In addition, an open standard might make it easier for you to reuse your biographical data in other contexts.
With TechFolio, the prebuilt themes are purpose-built for technical portfolios. Unlike blog platforms like WordPress, this means that you can focus solely on content when creating the initial release of your site.
Later, as you get more comfortable with the system, you might decide to tailor the look-and-feel to more closely align with your personal style.


http://www.speakers-podium.com/susangranger.
 Writer/director Neil Jordan, who gave us The Crying Game, Mona Lisa, and In Company of Wolves, totally misses the mark with this soggy romantic tale, grimly adapted from one of Graham Greene's most autobiographical novels. Looking like a leftover from the '50s, it's a staid, stodgy drama set during W.W.II, when the Nazis were bombing London and adulterous couples carelessly cavorted in bed instead of seeking shelter during the air-raids. One such couple is Ralph Fiennes and Julianne Moore. He's a moody novelist, tortured by jealousy, and she's a troubled married woman, trapped by circumstance in a dull, loveless marriage to a career civil servant, glumly played by Stephen Rea. They enjoyed many lusty encounters until, inexplicably, she broke off with him. The story explores how that happened and why. It would be helpful if we cared but we don't, because neither character is even remotely interesting and, without revealing too much, suffice it to say that the explanation revolves around Catholicism, the power of prayer, the existence of miracles, and the virtue of sacrifice. Julianne Moore spends considerable screen time cavorting naked, having shocked audiences with her full frontal nudity in Robert Altman's Short Cuts. She's actress who obviously enjoys anatomical revelation and seeks roles in which she can show her body off. Delicate, skinny Ralph Fiennes, on the other hand, suffers when his clothes are removed; plus, he seems totally self-absorbed which renders the love scenes lifeless, even depressing. This same story was filmed unsuccessfully before in 1955 with Deborah Kerr, Van Johnson, and John Mills. On the Granger Movie Gauge of 1 to 10, "The End of the Affair" is a plodding, dreary 4. It's a murky, misguided melodrama.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Follow detective match head man’s step, explore the apocalypse styled wasteland, reveal the huge secret behind him. Download
Match head man is an expensive private detective. He is called this because he has a match head on his head. The people who ask him to handle the case never cared about his suspicious appearance, for two reasons: first, there are more terrifying things in this world than a match head; second, the stickman never fails in cases.


Used to convert a PvBuffer to another pixel type. More...
Public Member Functions | |
| PvBufferConverter (int32_t aMaxNumberOfThreads=-1) | |
| Constructor. More... | |
| virtual | ~PvBufferConverter () |
| Destructor. | |
| PvResult | Convert (const PvBuffer *aSource, PvBuffer *aDestination, bool aReallocIfNeeded=true, bool aFlipY=false) |
| Convert a buffer from one format to another. More... | |
| PvBayerFilterType | GetBayerFilter () const |
| Retrieves current optional Bayer filtering. More... | |
| PvResult | SetBayerFilter (PvBayerFilterType aFilter) |
| Set the optional Bayer filtering for this converter. More... | |
| PvResult | ResetRGBFilter () |
| Resets the RGB filter used for conversion (if any) More... | |
| PvResult | SetRGBFilter (PvBufferConverterRGBFilter &aFilter) |
| Assigns a RGB filter to be used during conversion. More... | |
| uint32_t | GetConversionThreadsPriority () const |
| Get the priority of the threads doing the conversion in background. More... | |
| PvResult | SetConversionThreadsPriority (uint32_t aPriority) |
| Set the priority of the threads doing the conversion. More... | |
Static Public Member Functions | |
| static bool | IsConversionSupported (PvPixelType aSource, PvPixelType aDestination) |
| Test if a pixel type can be converted to another type. More... | |
Used to convert a PvBuffer to another pixel type.
To change an image's format:
Consult the PvPixelType documentation in order to find which pixel types are supported as conversion destinations.
| PvBufferConverter::PvBufferConverter | ( | int32_t | aMaxNumberOfThreads = -1 | ) |
Constructor.
| [in] | aMaxNumberOfThreads | Maximum number of threads the buffer converter is allowed to use in order to speed up conversion. If 0 or smaller than 0, one thread per processor is assumed. Threads have no specific processor affinity. |
| PvResult PvBufferConverter::Convert | ( | const PvBuffer * | aSource, |
| PvBuffer * | aDestination, | ||
| bool | aReallocIfNeeded = true , |
||
| bool | aFlipY = false |
||
| ) |
Convert a buffer from one format to another.
| [in] | aSource | The original image/buffer. |
| [out] | aDestination | The new image/buffer. |
| [in] | aReallocIfNeeded | Depending on the conversion, the memory footprint of the new image may be greater than aDestination current size. By setting this parameter to true, the buffer is re-allocated if aDestination is too small. If aDestination memory buffer is not owned by the PvBuffer and is too small, Convert fails. |
| [in] | aFlipY | When performing the conversion, flips the image on its Y axis. |
| PvBayerFilterType PvBufferConverter::GetBayerFilter | ( | ) | const |
Retrieves current optional Bayer filtering.
See SetBayerFilter
| uint32_t PvBufferConverter::GetConversionThreadsPriority | ( | ) | const |
Get the priority of the threads doing the conversion in background.
See SetConversionThreadsPriority for details about the meaning of the values returned
|
static |
Test if a pixel type can be converted to another type.
Converting from one pixel type to another isn't a trivial mathematical calculation - all conversions require specialized, dedicated algorithms.
The IsConversionSupported method tests if the Convert method has an available conversion algorithm.
| [in] | aSource | The original pixel type. For available pixel types, see PvPixelType.h. |
| [in] | aDestination | The new pixel type. See aSource. |
| PvResult PvBufferConverter::ResetRGBFilter | ( | ) |
Resets the RGB filter used for conversion (if any)
| PvResult PvBufferConverter::SetBayerFilter | ( | PvBayerFilterType | aFilter | ) |
Set the optional Bayer filtering for this converter.
Of course, only applies if the Convert method uses a PvBuffer having a Bayer pixel type. Simply ignored otherwise.
| [in] | aFilter | The new filter settings; a PvBayerFilterType enumeration. |
| PvResult PvBufferConverter::SetConversionThreadsPriority | ( | uint32_t | aPriority | ) |
Set the priority of the threads doing the conversion.
By default one conversion thread is created for each processing core of the system. We only allow setting priority for the threads of one converter object as a group.
If you change the thread priorities, it may alterate the stability of the system. For this reason, if you report a bug to Pleora, ensure to clearly mention that you change threads priorities.
See GetConversionThreadsPriority
| [in] | aPriority | See PvPipeline::SetBufferHandlingThreadPriority for description of the supported values |
| PvResult PvBufferConverter::SetRGBFilter | ( | PvBufferConverterRGBFilter & | aFilter | ) |
Assigns a RGB filter to be used during conversion.
| [in] | aFilter | The RGB filter to be used during conversion. |
Copyright (c) 2002-2015 Pleora Technologies Inc.
www.pleora.com


In addition to including routines in a package that yourself and others can import within other projects, typically it is a good idea to expose those elements that can stand alone as a command line utility (e.g., a high level function whose parameters might map in a straightforward way to command-line arguments). Structuring your project so that it can manifest as both a library and a command-line tool lets others not only execute that routine easily and repeatedly, but also allows for that routine to be integrated into other workflows.
There are several elements to a good command-line interface that are common to most CLI tools. Keeping with this common design language makes it easier for others to intuit their way through the use of your tool; e.g., usage/help statements, command-line arguments, input/output behavior, exit status.
These design elements can and should be implemented regardless of the language or platform used to create the application. For many users, it is simply not important what language the tools was created in, all they see is the command-line interface.
Note
Most everything in this section could be said of a CLI on Windows; however, some aspects of the conventions discussed here are particular to Unix/Linux. These days, even on Windows, these are the prevailing conventions.
The distinguishing characteristic of a “real” command-line tool and merely a script is the presence of what could be a rich set of arguments and options passable to the command.
As with functions in Python, there are both positional arguments and named parameters. Positional arguments are precisely what they sound like, any and all unqualified arguments that occur on the command line. If you think of a command line as a sentence, the primary position argument(s) would be the object of the sentence.
In the following command, docs is the positional argument of the ls command.
docs
ls
$ ls docs
Named parameters, or options, are any qualified argument, typically not necessarily required to execute the command. That is, options usually have default values and you are providing an alternative.
The convention is that options are signaled as such using hyphens. There are short form options and long form options. All short form options are prefixed with a single hyphen, e.g., -l. All long form options are prefixed with two hyphens and multiple words joined with a hyphen, e.g., --output-directory.
-l
--output-directory
Options may take zero, one, or more arguments. Sometimes, an option that takes no arguments is referred to as a switch. This is because it’s like a true/false setting, e.g., --debug. Short form options that take no argument can be stacked together, e.g., -lh. Options that take a single argument can have that argument specified as:
--debug
-lh
immediately adjacent, e.g., -N8.
-N8
with a space, e.g., -o build
-o build
with an equal sign, e.g., --output-directory=build.
--output-directory=build
Finally, a single naked hyphen, -, taken as an option usually is reserved to refer to standard IO (see next section). And a double hyphen, --, is ignored as a positional argument. It can generally serve two purposes. Any argument that follows it is forced to be a positional argument regardless of syntax, e.g., -- --output-directory if you really mean --output-directory as a positional argument (madness!). Also, typically the lack of any argument should signal that you want to have a usage statement printed (see section below). Passing a -- should allow the user to execute a command that requires no positional arguments.
-
--
-- --output-directory
In conventional Unix style, commands should read data from standard input (stdin) and publish data to standard output (stdout). These are special file descriptors whose access can be managed by your shell. The idea is that you might chain multiple commands into a pipeline, with their inputs and outputs linked together. This is a powerful concept worth exploring. To the extent possible, you should allow the user to provide input and output in this way.
That said, in the context of scientific/research computing, especially in high performance computing (HPC), you would expect files to typically contain data in an efficient binary format, e.g., HDF5. This is not easily compatible with the above notion. However, there are still some scenarios to consider.
On all platforms, there is a single input channel (stdin) but two output channels (stdout and stderr). The idea is that data should be written to stdout such that other commands might consume that data. But stderr should be reserved for messages (e.g., logging, see next section). This way all commands in a pipeline can have their messages printed in sync while data flows down the pipeline.
For a CLI tool, it’s convention to have the object (primary positional argument) of the command line refer to input and the lack of that input argument result in data being taken from stdin. E.g.,
$ grep 'def' python201/algorithms.py $ cat python201/algorithms.py | grep 'def'
Command-line programs have what’s called an exit status. This is an integer value reported when a command exits that is meant to provide some signal regarding the state of the program. Python will provide an exit status, it’s up to you as a developer to make that exit status meaningful.
The idea is that other programs (e.g., a shell script you are writing) should be able to refer to a previously executed program’s exit status in order to take some action. The convention is that an exit status of zero, 0, means everything went as expected, “success”. Anything else, any non-zero exit status, means something went wrong. The particular value should have meaning. Many programs publish the meaning of different exit status values in their documentation.
0
We will demonstrate how to manage this in your code below.
A good CLI tool should print its own usage and help information to standard output upon request. The convention is that the lack of any arguments (positional or otherwise) is a request to see a usage statement (exceptions exist, the python command among them).
python
$ rm usage: rm [-f | -i] [-dPRrvW] file ... unlink file
To show a more comprehensive statement, a -h or --help option should print a longer message and exit.
-h
--help
$ gzip --help usage: gzip [-123456789acdfhklLNnqrtVv] [-S .suffix] [<file> [<file> ...]] -1 --fast fastest (worst) compression -2 .. -8 set compression level -9 --best best (slowest) compression -c --stdout write to stdout, keep original files --to-stdout -d --decompress uncompress files --uncompress -f --force force overwriting & compress links -h --help display this help -k --keep don't delete input files during operation -l --list list compressed file contents -N --name save or restore original file name and time stamp -n --no-name don't save original file name or time stamp -q --quiet output no warnings -r --recursive recursively compress files in directories -S .suf use suffix .suf instead of .gz --suffix .suf -t --test test compressed file -V --version display program version -v --verbose print extra statistics
Another convention (as seen with gzip) is to allow for the version number of the tool to be readily printed to stdout upon request with a --version switch. The short form may be either -v or -V depending on if the lower-case -v is used to mean something else, typically enabling verbose mode (meaning copious output) as seen here.
--version
-v
-V
$ python --version Python 3.8.5
Some tools will print the name of the application with the version number. This is not always the case and either way is fine.
There are many aspects to the convention regarding the styling of usage and help statements, and there are as many examples of tools violating the convention as there are conforming to them. Generally, the following few elements are universal.
The usage statement begins with the word “usage”, usage: program ....
usage: program ...
The usage statement is listed on a single line if possible, with a one sentence description.
Options are wrapped in square brackets, e.g., [-abc] or [-o PATH].
[-abc]
[-o PATH]
Positional arguments are named with either angle brackets or in all capitol letters, e.g., <file> or FILE.
<file>
FILE
The help text includes the usage statement at the top.
Positional arguments are listed before optional arguments.
The good news is that in Python you don’t need to worry about implementing this convention in terms of parsing these command-line arguments. We have a built-in module in Python, argparse, that makes it simple to implement interfaces compliant with these conventions.
Create an ArgumentParser instance with the name of the program and a brief description, then use the add_argument function to add arguments to your interface. Special behavior is enabled using the action keyword argument.
ArgumentParser
add_argument
action
In [1]: from argparse import ArgumentParser In [2]: parser = ArgumentParser(prog='cumprod', ...: description='Compute the cumulative product.')
Positional arguments can be specified with just the name. A metavar is how it will be referred to in the usage/help statements. The type keyword argument can be anything that is callable as a function.
In [3]: import sys In [4]: from argparse import FileType In [5]: parser.add_argument('infile', metavar='FILE', type=FileType(mode='r'), ...: default=sys.stdin, help='input file path (default <stdin>)') Out[5]: _StoreAction(option_strings=[], dest='infile', nargs=None, const=None, default=<_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>, type=FileType('r'), choices=None, help='input file path (default <stdin>)', metavar='FILE')
You can override what the variable will be referred to as in your code with dest (short for destination). By default, it will take the name of the option, stripped of its two leading hyphens and any joining hyphens replaced with an underscore, e.g., '--tmp-dir would become tmp_dir).
dest
'--tmp-dir
tmp_dir
In [6]: parser.add_argument('-o', '--output', dest='outfile', metavar='FILE', ...: default=sys.stdout, type=FileType(mode='w'), ...: help='output file path (default <stdout>)') Out[6]: _StoreAction(option_strings=['-o', '--output'], dest='outfile', nargs=None, const=None, default=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, type=FileType('w'), choices=None, help='output file path (default <stdout>)', metavar='FILE')
Switches meant to be true/false are enabled with the action parameter.
In [7]: parser.add_argument('-l', '--last-only', action='store_true', ...: help='only keep the last value') Out[7]: _StoreTrueAction(option_strings=['-l', '--last-only'], dest='last_only', nargs=0, const=True, default=False, type=None, choices=None, help='only keep the last value', metavar=None)
When you’ve finished adding all of your options, you can actually parse a set of inputs by calling the parse_args method with a list of strings. By default, if nothing is given, it will check sys.argv to get the “real” arguments to your program.
parse_args
sys.argv
In [8]: parser.parse_args(['data.txt', '-l']) Out[8]: Namespace(infile=<_io.TextIOWrapper name='data.txt' mode='r' encoding='UTF-8'>, last_only=True, outfile=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
Assign the result of this method call to a variable to access these options in your program.
In [9]: cmdline = parser.parse_args(['data.txt', '-l']) In [10]: cmdline.outfile Out[10]: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
The argparse module implements the full set of conventions outlined above. The usage/help statements are automatically generated for you (including -h and --help) and the convention regarding - and -- are present as well.
Let’s move on to the next section to see how to include this in our project and we’ll see what the usage and help statements look.
In order to expose some part of our package as a command-line tool, we need to create something called an entry-point. Instead of writing a script manually (as a .py file) and trying to include it as an executable part of the package, we can actually tell setup.py to do it for us automatically (and in a way that’s cross-platform!).
.py
setup.py
We need to add an argument to our setup function that points to a function in our package and specify how we want to invoke it at the command-line.
setup
from setuptools import setup, find_packages with open('README.rst', mode='r') as readme: long_description = readme.read() setup( name = 'python201', version = '0.0.1', author = 'Geoffrey Lentner', author_email =<EMAIL_ADDRESS>description = 'A Python package for numerical algorithms.', license = 'Apache Software License', keywords = 'tutorial packaging example', url = 'https://github.com/glentner/python201', packages = find_packages(), include_package_data = True, long_description = long_description, long_description_content_type = 'text/x-rst', classifiers = ['Development Status :: 4 - Beta', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Operating System :: POSIX :: Linux', 'Operating System :: MacOS', 'Operating System :: Microsoft :: Windows', 'License :: OSI Approved :: Apache Software License', ], install_requires = ['numpy', 'numba', ], extras_require = { 'dev': ['ipython', 'pytest', 'hypothesis', 'pylint', 'sphinx', 'pydata_sphinx_theme'], }, entry_points = { 'console_scripts': ['cumprod=python201.algorithms:main'] } )
What we’ve said here is that we want to be able to invoke a command, cumprod, and that we want it to execute a function, python201.algorithms:main. That is, we need to define a function, main (the name is arbitrary in fact), within our python201.algorithms module. This function will be called for us without arguments and it should return an integer. That integer value will be the exit status of the command.
cumprod
python201.algorithms:main
main
python201.algorithms
If we install our package using Pip, this will automatically generate the necessary script and place it within the bin folder (or Scripts on Windows) of our Python prefix. I’m using a virtual environment on Linux, so I’ll have something like the following.
bin
Scripts
#!/home/glentner/.local/share/virtualenvs/python201-StrqALMO/bin/python # EASY-INSTALL-ENTRY-SCRIPT: 'python201','console_scripts','cumprod' import re import sys from importlib.metadata import distribution if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) for entry_point in distribution('python201').entry_points: if entry_point.group == 'console_scripts' and entry_point.name == 'cumprod': sys.exit(entry_point.load()())
The contents of this script will be slightly different for you depending on what platform you are on and what (version of) Python you invoked Pip with. On Windows, this will actually generate a batch file, .bat, the suffix of which need not be given at the CMD prompt.
.bat
Now, there are many ways that you might organize or layout your interface in Python within your package. There are a few patterns that have become common place these days. This tutorial is not focused on code style though. Here is what that entry-point might look like in the simplest case.
import sys from typing import List from argparse import ArgumentParser, FileType def cumulative_product(array: List[float]) -> List[float]: """ Compute the cumulative product of an array of numbers. Parameters: array (list): An array of numeric values. Returns: result (list): A list of the same shape as `array`. Example: >>> cumulative_product([1, 2, 3, 4, 5]) [1, 2, 6, 24, 120] """ result = list(array) for i, value in enumerate(array[1:]): result[i+1] = result[i] * value return result def main() -> int: """command-line entry-point for `cumulative_product`.""" # command-line interface description='Compute the cumulative product of an array of numbers.' parser = ArgumentParser(prog='cumprod', description=description) parser.add_argument('-v', '--version', action='version', version='0.0.1') parser.add_argument('infile', metavar='FILE', type=FileType(mode='r'), default=sys.stdin, help='input file path (default <stdin>)') parser.add_argument('-o', '--output', dest='outfile', metavar='FILE', default=sys.stdout, type=FileType(mode='w'), help='output file path (default <stdout>)') parser.add_argument('-l', '--last-only', action='store_true', help='only keep the last value') cmdline = parser.parse_args(argv) values = map(float, cmdline.infile) result = cumulative_product(list(values)) # '%g' formatting automatically pretty-prints start = -1 if cmdline.last_only else 0 print('\n'.join([f'{value:g}' for value in result[start:]]), file=cmdline.outfile) return 0
If we re-install our package we can try it out.
$ pip install . --upgrade
$ cumprod usage: cumprod [-h] [-v] [-o FILE] [-l] FILE cumprod: error: the following arguments are required: FILE
$ cumprod -h usage: cumprod [-h] [-v] [-o FILE] [-l] FILE Compute the cumulative product of an array of numbers. positional arguments: FILE input file path (default <stdin>) optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit -o FILE, --output FILE output file path (default <stdout>) -l, --last-only only keep the last value
$ cumprod -v 0.0.1
In Unix-like environments, the seq command simply produces a sequence of integer values in a range. Let’s use it to compute the cumulative product of a sequence.
seq
$ seq 5 1 2 3 4 5
$ seq 5 | cumprod - 1 2 6 24 120
$ seq 10 | cumprod - 1 2 6 24<PHONE_NUMBER> 40320 362880 3.6288e+06
$ seq 10 > data.txt $ cumprod -l < data.txt > result.txt $ cat result.txt 3.6288e+06
In addition to having a usage and help statement printable from the command-line, if your tool has a lot of features, it might be a good idea to also include a manual page (or manpage for short). This is in fact particular to Unix-like platforms, but typically in research computing this is the case anyways.
Manual pages are provided by files stored in directories on your MANPATH. The man command looks for these files and parses their special syntax to present nicely formatted page-able output at the command-line. Writing one of these files can be a challenge because of this particular syntax.
MANPATH
man
Fortunately, Sphinx makes creating manual pages for your project much easier! We can create another page in our documentation source tree, say manpage.rst. Sphinx understands what manual pages are and what sections to expect. A simple example in our case might be something like the following.
manpage.rst
Manual Page for CUMPROD ======================= Synopsis -------- cumprod [-h] [-v] [-o FILE] [-l] FILE Description ----------- Compute the cumulative product of a sequence of numbers. Usage ----- FILE input file path (default <stdin>) -h, --help show this help message and exit -v, --version show program's version number and exit -o FILE, --output FILE output file path (default <stdout>) -l, --last-only only keep the last value Example ------- :: $ seq 5 | cumprod - 1 2 6 24 120
We can then edit our configuration file to specify that this page is a manual page and how it should be treated. Here we have the name of the file, the name of the manual page, the description, copyright info, and the manual page section to save it under.
man_pages = [( 'manpage', 'cumprod', 'Compute cumulative product of a sequence of numbers.', 'Geoffrey Lentner<EMAIL_ADDRESS>'1' ), ]
You can then build your manual page by using the same Makefile as we did for the html website.
$ cd docs $ make man
It might complain because your manpage.rst wasn’t included in the page index for the website. This is only a warning and is fine.
In order for you to include your now constructed manual page as part of the Python package, you need to place it somewhere that your setup.py file can access and include as an installable asset. If you are committing your build folder to version control, then you just need to point there; otherwise, we should copy our new manual page out of the build folder to somewhere we will commit to version control.
From the top-level of our project folder, we might do something like the following.
$ mkdir -p man/man1 $ cp docs/build/man/cumprod.1 man/man1/
Then, in our setup.py file, you can point to our committed copy of the manual page using the data_files parameter.
data_files
from setuptools import setup, find_packages with open('README.rst', mode='r') as readme: long_description = readme.read() setup( name = 'python201', version = '0.0.1', author = 'Geoffrey Lentner', author_email =<EMAIL_ADDRESS>description = 'A Python package for numerical algorithms.', license = 'Apache Software License', keywords = 'tutorial packaging example', url = 'https://github.com/glentner/python201', packages = find_packages(), include_package_data = True, long_description = long_description, long_description_content_type = 'text/x-rst', classifiers = ['Development Status :: 4 - Beta', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Operating System :: POSIX :: Linux', 'Operating System :: MacOS', 'Operating System :: Microsoft :: Windows', 'License :: OSI Approved :: Apache Software License', ], install_requires = ['numpy', 'numba', ], extras_require = { 'dev': ['ipython', 'pytest', 'hypothesis', 'pylint', 'sphinx', 'pydata_sphinx_theme'], }, entry_points = { 'console_scripts': ['cumprod=python201.algorithms:main'] }, data_files = [ ('share/man/man1', ['man/man1/cumprod.1', ]), ], )
This option lets you explicitly list files that you want to include with the package and where you want them to be installed. Here, the share/man/man1 is a relative path adjacent to the bin folder of our Python installation (where Pip is being executed from as well). This is good practice and makes it so that your manual page is part of your environment, so when the user activates the environment they have access to it.
share/man/man1
Let’s reinstall our package so it includes the command-line entry-point and the manual page.
You can access manual pages with the man command.
$ man cumprod
CUMPROD(1) python201 CUMPROD(1) NAME cumprod - Compute cumulative product of a sequence of numbers. SYNOPSIS cumprod [-h] [-v] [-o FILE] [-l] FILE DESCRIPTION Compute the cumulative product of a sequence of numbers. USAGE FILE input file path (default <stdin>) -h, --help show this help message and exit -v, --version show program's version number and exit -o FILE, --output FILE output file path (default <stdout>) -l, --last-only only keep the last value EXAMPLE $ seq 5 | cumprod - 1 2 6 24 120 AUTHOR Geoffrey Lentner<EMAIL_ADDRESS>COPYRIGHT 2019-2020 Geoffrey Lentner, 2018 Ashwin Srinath 0.0.1 Jul 26, 2020 CUMPROD(1)


Invited talk on Revisiting Parameter Synthesis for One-Counter Automata at Max Planck Institue for Software Systems, Germany.
@incollection{invited_mpi,
publisher = {Invited talk on Revisiting Parameter Synthesis for One-Counter Automata at Max Planck Institue for Software Systems, Germany},
video = {mpi_talk.mp4},
slides = {mpi_slides.pdf},
keywords = {invited}
}
Talk on Software Verification via Logic for Bachelors and Masters students at University of Antwerp, Belgium.
@incollection{invited_UA,
publisher = {Talk on Software Verification via Logic for Bachelors and Masters students at University of Antwerp, Belgium},
slides = {UA_presentation.pdf},
keywords = {invited}
}
Regular talks
Talk on Learning Fragments in Linear Temporal Logic in HIGHLIGHTS 2022.
@incollection{regular_highlights,
publisher = {Talk on Learning Fragments in Linear Temporal Logic in HIGHLIGHTS 2022},
video = {highlights_talk.mp4},
slides = {highlights_slides.pdf},
keywords = {regular}
}


Getting Started
The System Under Test
Because FakeHttp uses a message handler to do irs fakind, the only requirement for the SUT is that it not instantiate an HttpMessageHandler itself. This is easily accomplished by taking the handler as a parameter, using an IoC containter or via configuration. Whatever mechanism meshes with your design.
So code that looked like this:
public class GeoCoder : IGeoCoder
{
private readonly HttpClient _httpClient;
public GeoCoder()
{
_httpClient = new HttpClient(new HttpClientHandler(), true);
_httpClient.BaseAddress = new Uri("http://dev.virtualearth.net/REST/v1/", UriKind.Absolute);
}
}
Might change to this:
public class GeoCoder : IGeoCoder
{
private readonly HttpClient _httpClient;
public GeoCoder(HttpMessageHandler handler)
{
_httpClient = new HttpClient(handler, false); // flag controls disposal of the handler
_httpClient.BaseAddress = new Uri("http://dev.virtualearth.net/REST/v1/", UriKind.Absolute);
}
}
Getting and Using Fake Responses
The easiest way to set up fake response is to capture them from a live service endpoint. Once captured, they can be stored for future use and/or tweaked to test and simulate how client code behaves with specific response scenarios
The FakeHttp library implmenets a handful of different message handler types and a factory class that allow a suite of tests to easily switch between them. Assuming you already have, or can write, a suite of tests that interact with a RESTful service the following steps will allow you to fake them. (These examples use MSTest but the same concepts apply to other test frameworks. There is no dependency on MStest)
1. Replace the HttpMessageHandler Used by the Tests
In order to switch an entire suite of tests from one handler to the next it's easiest to the the MessageHandlerFactory and its MessageHandlerMode. The mode can be switched in a single place where a test run is initialized.
[AssemblyInitialize]
public static void AssemblyInitialize(TestContext context)
{
// set the http message handler factory to the mode we want for the entire assmebly test execution
MessageHandlerFactory.Mode = MessageHandlerMode.Fake;
}


Copyright © 2009 Marc Worrell
Authors: Marc Worrell (marc@worrell.nl).
| ensure_started/1 | |
| run_tests/0 | |
| start/0 | Start the zotonic server. |
| start/1 | Start the zotonic server. |
| status/0 | Print the status of the current node. |
| status/1 | Get server status. |
| stop/0 | Stop the zotonic server. |
| stop/1 | Stop a zotonic server on a specific node. |
| update/0 | Update the server. |
| update/1 | Update the server on a specific node with new code on disk and flush the caches. |
ensure_started(App) -> any()
run_tests() -> any()
start() -> ok
Start the zotonic server.
start(Args::_Args) -> ok
Start the zotonic server.
status() -> ok
Print the status of the current node.
status(X1::[node()]) -> ok
Get server status. Prints the state of sites running.
stop() -> ok
Stop the zotonic server.
stop(X1::[Node]) -> void()
Stop a zotonic server on a specific node
update() -> ok
Update the server. Compiles and loads any new code, flushes caches and rescans all modules.
update(X1::[Node]) -> ok
Update the server on a specific node with new code on disk and flush the caches.
Generated by EDoc, Apr 11 2012, 20:41:28.


This is where you can manage your theme settings and which theme the notepad has to use
This is the danger zone; if pressed, all your local settings and configurations for this notepad will get deleted. This action is irreversible, be careful when trying to hover over it as you will not be warned after clicking it.


Who has cut ties with Prince Andrew?
Here is a look at how some of the businesses and organisations associated with the Duke of York have reacted to his interview about his friendship with convicted sex offender Jeffrey Epstein.
Andrew's initiative for tech entrepreneurs, Pitch@Palace, has removed its web page listing corporate supporters, and the Outward Bound Trust, which has a long association with the royal family, is considering the duke's role as patron.
The Financial Times reported that one prominent backer of Pitch@Palace is pushing for the Queen's son to relinquish his association with the scheme, which he founded in 2014.
Cutting ties
Royal Melbourne Institute of Technology - Concluded its involvement with Pitch@Palace in October and told the PA news agency it is committed to ensuring its campus remains "a safe and inclusive place to work and study".
Bond University in Australia - Was preparing to consider working again with Pitch@Palace in 2020, but "in light of recent events, the university does not intend to seek any further involvement".
KPMG - Pitch@Palace founding partner - Sponsorship contract expired at the end of October and will not be renewed.
Standard Chartered - Will not be renewing sponsorship of Pitch@Palace in December, citing "commercial reasons".
Aon - Asked for its logo to be removed from the Pitch@Palace website, saying it had never been involved in the scheme in any capacity.
Gravity Road - Supporter of Pitch@Palace - Reported to be no longer working with the charity.
Advertising Week Europe - Supporter of Pitch@Palace - Reported to not be inviting Pitch@Palace to be part of its meeting in March.
Inmarsat - Reported to not be renewing its sponsorship of Pitch@Palace.
- Huddersfield and London Met universities reviewing Prince Andrew's role following interview
- Sponsors pull out of Prince Andrew's most loved business project
- Lawyers and new Jeffrey Epstein accuser urge Andrew to speak to FBI about case
Under review
Murdoch University in Perth, Australia - Is "currently reviewing its support of the Pitch@Palace event in 2020".
University of Wollongong in Australia - Told PA it is "currently undertaking an annual review of its future involvement in Pitch@Palace".
AstraZeneca - Three-year partnership with Pitch@Palace is due to expire at the end of this year and is being reviewed.
London Metropolitan University - Reviewing Andrew's role as patron at board of governors meeting next Tuesday.
Huddersfield University - A student panel passed a motion to lobby the duke to resign as its chancellor.
Outward Bound Trust - Holding a board meeting this week to discuss whether Andrew should stay as patron. He took over the role in March from the Duke of Edinburgh, who dedicated 65 years to the charity.
Hult International Business School - Will complete the current Pitch@Palace event in early December, but is reviewing its future involvement in the programme.
Staying put
Stelios Philanthropic Foundation - The foundation, started by easyJet founder Stelios Haji-Ioannou, is understood to be continuing its support for Pitch@Palace for the present.
Barclays - Recently renewed its sponsorship of the initiative, but is understood to be keeping a close eye on the situation.


|
Affordable Medical Ultrasound Training Simulator
a medical ultrasound training simulator built in Unity3D.
|
HOmogeneous RAYcasting ultrasound model. More...
Public Member Functions | |
| HorayProbeOutput (GameObject gameObject) | |
| Instantiate a new HorayProbeOutput. More... | |
| UltrasoundScanData | SendScanData () |
| Send the results of the probe scanning this frame. More... | |
Protected Attributes | |
| readonly GameObject | probeGameObject |
| The GameObject representing the physical location of the probe. | |
| readonly HorayProbe | probe |
| The instance of HorayProbe that houses all of the scanning logic and produces UltrasoundScanData. | |
HOmogeneous RAYcasting ultrasound model.
This is a very basic ultrasound model to simulate B-Mode ultrasound imaging. Organs are modelled as a set of GameObjects, and each individual GameObject represents a homogeneous tissue type (that is, every point inside the tissue has uniform echogenicity).
| HorayProbeOutput.HorayProbeOutput | ( | GameObject | gameObject | ) |
Instantiate a new HorayProbeOutput.
| gameObject | The probe from which data will be transmitted. |
| ArgumentException | If the probe object does not have the correct components. |
| UltrasoundScanData HorayProbeOutput.SendScanData | ( | ) |
Send the results of the probe scanning this frame.
Implements IProbeOutput.


Content-type: text/html
.i <number of inputs> .o <number of outputs> .p <number of product terms (pterms)> and optionally, .na<name> (the name to be used for the pla)
What follows then is a description of the AND and OR planes of the pla with one line per product term. Connections in the AND plane are represented with a `1' for connection to the non-inverted input line and a `0' for connection to the inverted input line. No connection to an input line is indicated with 'x', 'X', or '-' with '-' being preferred. Connections in the OR plane are indicated by a '1' with no connection being indicated with 'x', 'X', '0', or '-' with '-' being preferred. Spaces or tabs may be used freely and are ignored.
The end of the pla description is indicated with:
.e
Programs capable of handling split and folded arrays employ the following format:
AND PLANE
Note that the decoding function of the AND plane is separated from the specification of its connectivity. This makes the AND and OR plane specifications identical.
These programs handle the following more general set of .parameters:
.il <number of left-AND plane inputs> .ir <number of right-AND plane inputs> .ol <number of left-OR plane inputs> .or <number of right-OR plane inputs> .p <number of product terms> .ilt <labels left-top-AND plane> .ilb <labels left-bottom-AND plane> .irt <labels right-top-AND plane> .irb <labels right-bottom-AND plane> .olb <labels left-bottom-OR plane> .olt <labels left-top-OR plane> .orb <labels right-bottom-Or plane> .ort <labels right-top-Or plane> .pl <labels left product terms> .pr <labels right product terms>The first group of parameters must precede the second group. If there is only one AND or OR plane it is assumed to be the left one and the companion .parameters may be shortened by dropping their (left,right) designation character.
In order to better deal with folded and split PLAs, the following .parameters are proposed:
.ig <input group> .og <output group> .ins <inputs excluded from splitting> .inf <inputs excluded from folding> .ons <outputs excluded from splitting> .onf <outputs excluded from folding>
In order to build finite state machines, the following .parameters are proposed:
.iltf <left-top-AND feedback terms> .ilbf <left-bottom-AND feedback terms> .irtf <right-top-AND feedback terms> .irbf <right-bottom-AND feedback terms> .oltf <left-top-OR feedback terms> .olbf <left-bottom-OR feedback terms> .ortf <right-top-OR feedback terms> .orbf <right-bottom-OR feedback terms> .ilr <left re-ordered inputs> .irr <right re-ordered inputs> .olrf <left re-ordered outputs> .orrf <right re-ordered outputs>The .XXXf parameters must occur in pairs, with the .oXXf line first. Input and output terms must occur on the same side (top, bottom) of the PLA. Feedback terms must be given in ascending order. The re-order .parameters simplify feedback routing.