text:
BikeInsurance
BikeSocial
TravelInsurance
About your Policy
Bennetts Rewards
Bennetts BSB Rewards
IOM TT Rewards
Why Bennetts?
Defaqto Rating
Additional Cover Options
Adventure Bike Insurance
Bennetts Customer Reviews
Biking Tips
Young Rider Bike Insurance
Classic Motorbike Insurance
Multi Bike Insurance
Custom and Modified Bike Insurance
Comprehensive motorbike insurance
SERV Blood Bikers
Third Party Fire and Theft
Third Party Only Bike Insurance
Moped and Scooter Insurance
Moped and Scooter Ownership Guide
50cc & 125cc Insurance
How to be a Happy Commuter
Advantages of Commuting
Lambretta Scooter Insurance
Peugeot Scooter Insurance
Bike Types and Manufacturers
Bike Types
Bike Manufacturers
Motorcycling Advice
Motorcycle Blogs
Classic BikeSocial
About BikeSocial
BikeSocial Authors
Travel Insurance Information
Top 10... British super bikes
By Phil West
PhilWestNew Former Editor of Bike, ex-Road Test Editor of MCN, ridden more bikes than he can remember. Likes: GTS, Paso, Mantra. Dislikes: own rust bucket LC and 900 T-Bird daily driver.
Posted 24/11/2016 11:37 UK
With the unveiling of the 200+bhp, 1200cc Norton V4 RR and SS at Motorcycle Live at the NEC, arguably the most advanced British superbike in a generation it begs the question: What other ground-breaking British superbikes have there ever been? Here's Phil's favourite 10…
1924 Brough Superior S.S.100
Arguably the first, and still most desirable, of all British 'superbikes'. W E Brough's machines in the early 1900s had been innovative and well-engineered and his son, George, continued the tradition but with added style, quality (by using only the very best components) and performance. The first Brough 'Superior', in 1919, was the result and the marque soared to prominence in the 1920s following the introduction of the S.S.80 in 1922 when George, as much a publicist as he was a perfectionist, became the first to lap Brooklands at over 100mph on one. Famed also for being known as 'The Rolls-Royce of motorcycles' (a use negotiated with the car firm by George himself) and by its association with 'Lawrence of Arabia' T.E. Lawrence, who owned several, and died aboard one in 1935. They reached their zenith with the J.A.P. V-twin powered S.S.100 from 1924 which came with a written guarantee that it was capable of over 100mph, in the days when very little else was.
Lighter and faster than the subsequent Matchless-engined version, the J.A.P.-powered S.S.100 has long been regarded as the ultimate Brough. Brough production ceased in 1939 although an all-new, modern V-twin S.S.100 Brough Superior, built by Boxer Bikes in Toulouse, France, under Mark Upham brand ownership, went into production this year priced from £45,000.
1948 Vincent Black Shadow/Lightning
HRD was a British motorcycle manufacturer founded in 1924 by racer Howard Raymond Davies but with limited success found itself taken over by designer Paul Vincent in 1928, who renamed it Vincent-HRD. Vincent decided to continue the racing theme but after a poor showing at the 1934 TT decided to start using its own engines. The first, Phil Irving designed, 998cc V-twin powered Rapide, in 1936, was the result. After WWII, Vincent entered the US market, dropping the HRD tag to avoid confusion with Harley-Davidson. A tuned, more performance orientated version of the Rapide followed in 1948 called the Black Shadow while a special lightened version, using magnesium components, was also available to order. Most famously, Rollie Free set a new US speed record of 148.6mph aboard the first example at Bonneville, wearing just his swimming trunks, in September that year. Just 31 Black Lightnings were ever built. The Black Shadow remained as the world's fastest production motorcycle until Vincent production ceased in 1955. Both remain among the most collectable of all British bikes.
1955 Velocette Venom
Although 'only' a 499cc air-cooled single, the Venom is one of the most revered British performance machines of all. Launched in 1955, at the same time as the 350cc Velocette Viper, it was developed to compete against the new generation of British twins. As such, it featured novel performance-enhancing technology including a high compression piston and light alloy head. The later Sport models, from 1960, also had radical glass fibre side-panels. In 1961, a factory-prepared Clubman version set a 24-hour average world speed record of 100.05mph, the first motorcycle of any size to do so. This bike is today on display at the National Motorcycle Museum. Although this boosted sales, however, the company struggled in the late 1960s. Production ceased in 1970 and the company itself closed in 1971.
1959 Triumph Bonneville T120
Triumph will probably always be best known for its Bonneville, a performance-orientated machine named after the location of Johnny Allen's 1956 speed record success and based on a 650 Tiger twin but with twin carbs. That first Bonnie's huge success resulted with the model becoming the cornerstone of the old Meriden concern's range right until its demise in 1982.
Ironically, Triumph was actually founded in Coventry by a German, ex-pat Siegfried Bettmann, and began making motorcycles in 1902. They later made cars, but that business was sold to Standard in 1936 (and, ironically again, the Triumph car brand is now owned by BMW after it took over Rover in the 1990s). The key development for the Bonneville, however, was, Triumph's launch of the Edward Turner-designed 500cc, twin cylinder Speed Twin in 1937, which became the basis of all Triumph's subsequent twins.
Today, under the new, John Bloor-owned regime, the Bonneville lives on and was completely engineered for 2016 although, unfortunately for some, it is now a retro machine rather than an out-and-out superbike.
1962 BSA Rocket Gold Star
The limited production Rocket Gold Star was about as close to a road-going superbike that the BSA concern, usually more concerned with utilitarian machines, ever got. Essentially it was a marriage of the end-of-line, pre-unit 650cc A10 twin cylinder engine (which was about to be replaced by the unit construction A65 engine) as presented in tuned, top of the range, Super Rocket form, and the legendary double downtube chassis from BSA's Gold Star competition machine. Launched in February 1962, total production was just 1584 machines before production turned over in 1963 to the new unit machines. As a result today it's one of the most collectable of all BSAs.
1967 Norton Commando 750
Norton superbikes are nothing new – whatever the astonishing new V4 suggests – but despite plenty of race success the original concern took a while to create a genuine, road-going superbike.
Like Triumph, the original Norton concern began making motorcycles in the West Midlands in 1902, at first using proprietary French and Swiss engines, and from the outset put an emphasis on racing and performance – indeed a Peugeot-engined Norton won the very first TT in 1907, beginning a relationship with the Isle of Man it continues to this day.
After plenty more TT success in the 1930s and 1950s, its first twin, designed to rival Triumph's successful Speed Twin, came in 1949. This bike, the Dominator, grew from 500 to 600cc (and adopted the legendary Featherbed frame) in 1957, to 650cc in 1960 then to 750cc, as the Atlas model for the US market, in 1962. The Atlas, however, was blighted by engine vibration, a problem finally fixed with the introduction of the 750 Commando in 1969 (though the bike was unveiled in late 1967 production was delayed until 1969) with its 'Isolastic' frame. The Commando was not only much smoother it was the most powerful and best handling British bike of its day, enough for it to be voted MCN Machine of the Year for five successive years, from 1968 to 1972.
1971 Rob North Triumph Trident 750/BSA Rocket 3
The BSA Rocket 3/Triumph Trident was the last major motorcycle developed by the old Meriden Triumph concern in the late 1960s and, although not the commercial success hoped for, remains a hugely significant machine. A 750cc air-cooled triple, it was sold as both the Triumph Trident and BSA Rocket 3 and was introduced to critical acclaim in the summer of 1968… before being immediately eclipsed just four weeks later by Honda's all-new CB750 four.
Even so, it wasn't without its successes. The company's US sales team launched it by setting a series speed records at Daytona (which were only broken years later by the Kawasaki Z1), while, in 1971, with the help of frame expert Rob North, a series of Formula 750 racing machines were produced. At that year's Daytona 200 the British bikes took the first three places, Dick Mann won on a BSA Rocket 3 with Don Emde third on another and them both split by Gene Romero on a Trident. Best of all, though, was another bike, which became known as Slippery Sam and which won 750cc production races at the Isle of Man TT for five consecutive years. A mooted production version, unfortunately, never happened, although road going replicas are being built to this day.
1974 JPS Norton Commando 850
With Norton merged with Triumph and BSA, the last 750 Commandos were produced in 1973 and replaced that same year with an updated and smoother (although no more powerful) 850c version which powered the Roadster, Hi Rider and Interstate models.
Despite the company's commercial problems, during the early 1970s Norton had achieved significant on track racing success. After receiving sponsorship from Imperial Tobacco, the 'John Player Norton' team was set up in November 1971 to contest the Formula 750 series with bikes designed by racer/engineer Peter Williams based on the 750 Commando. Williams knew other teams had more engine power, so he concentrated on achieving superior handling and aerodynamics. With lead rider Phil Read, the blue machine was fourth at Daytona, and second overall in the Transatlantic. Redesigned by Williams for 1973 with a revolutionary, stainless steel monocoque frame, radical aerodynamics and a now iconic white livery, Williams himself won that year's Formula 750 TT and was partnered by Dave Croxford for the British series. To celebrate that success, in 1974 Norton produced 200 Norton JPS 850 Commandos, which replicated the fairing and livery if not the frame. Today it remains one of the first 'racer-replicas' and one of the most collectable. Interestingly, Peter Williams recently announced he was going to build a limited run of replicas of the monocoque for a princely £74,000 each.
1975 Rickman CR900
Rickman Motorcycles was a British, independent motorcycle chassis builder founded by brothers Derek and Don Rickman. Initially, in the 1960s, its designs and frame kits were for scramblers using the likes of Triumph and Villiers engines. But in the mid-1970s they also began selling chassis kits for Japanese superbikes, which had notoriously poor handling at the time – most famously for the Honda CB750 (which became the Rickman CR750) and Kawasaki Z1 900 (Rickman CR900). With the most potent engines of the day, fine-handling, chrome-moly tubular steel chassis, the best cycle parts of the era (Rickmans were the first road machines to use disc brakes both front and rear) all wrapped up in gorgeous and sultry fiberglass bodywork, Rickmans were among the most desirable superbikes of the mid-1970s and today are among the most collectable of all British bikes.
1990 Norton F1/F1 Sport
After the old Norton's demise in the late 1970s, the company stumbled from pillar to post developing a radical rotary engine motorcycle, which emerged in a variety of forms during the 1980s. On the road, these ranged from the air-cooled, police-spec Interpol 2, followed by the Classic roadster in 1987 and a water-cooled tourer called the Commander in 1988. All had very limited success. A spin-off racer developed by Brian Crighton was a very different matter, however, and in black and gold JPS livery it was a sensation in British championship racing in 1989 and 1990. Bowing to public pressure, a 'replica' of this bike was finally produced in 1990 with a Spondon frame and Seymour-Powell styling however, priced at £12,000, with just 95bhp and questionable reliability, though exciting, it wasn't a success. This was followed up in 1992 with the restyled, more affordable F1 Sport, but again to only very limited success.
Bennetts Insurance for classic bikes
Back in the old days if you wanted the benefits of classic bike insurance like agreed valuation, events cover and salvage retention, you'd have needed a bike that was 30 years old. Not anymore. Bennetts insurance could offer all these benefits on machines that are much newer and even on brand new bikes in some cases.
Bennetts are a specialist in motorcycle insurance and have been trusted by riders for 85 years. Our panel of specialist insurers will compete hard to find the cover you need for your classic bike at the best price. Bennetts insurance for classic bike comes with optional agreed value, no admin fees for additional bike modifications and you can combine your classic and modern bike on one multi-bike policy. Get a quote for our Defaqto 5-star rated cover today.
Get a competitive insurance quote »
Triumph Bonneville T120 Black (2016) - First Ride and Review!
Top 10 land speed records
Top 10... Classic Moto Guzzis
The world's fastest Triumph. Final preparations are underway.
Latest News from Bike Social
Can you repair a shock absorber? DIY motorcycle suspension
Benelli 1200 is China's most powerful bike yet
Front End Chatter - episode 108
WIN a BSB season review book - signed by Scott Redding!
Bennetts is a trading name of Bennetts Motorcycling Services Limited, registered in England and Wales (company number 11453343) with its registered office at Worldwide House, Thorpe Wood, Peterborough, PE3 6SB. Bennetts Motorcycling Services Limited is an Appointed Representative of Saga Services Limited, which is an Insurance intermediary and a credit lender and is authorised and regulated by the Financial Conduct Authority (reg no. 311557).
This website uses cookies. Cookies improve the functionality of our website and offer you the best experience. You can delete or block all cookies but some parts of the website will not work.
Important. By continuing to use this website you give consent for cookies to be used. For information including how to stop them, click Privacy & Cookie Policy.
/bikesocial/classic-bikesocial/buying-advice/top-10-british-super-bikes
bikesocial/Classic-BikeSocial/Buying-Advice/Top 10 British super bikes


text:
package com.rtg.util.cli;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.PrintStream;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;

import com.rtg.launcher.CommonFlags;
import com.rtg.util.EnumHelper;
import com.rtg.util.PseudoEnum;
import com.rtg.util.TestUtils;

import junit.framework.TestCase;

/**
 * Tests the CFlags class.
 *
 * @since 1.0
 */
public class CFlagsTest extends TestCase {

  protected CFlags mFlags;

  @Override
  public void setUp() throws Exception {
    super.setUp();
    mFlags = new CFlags();
    mFlags.setInvalidFlagHandler(null);
  }

  @Override
  public void tearDown() throws Exception {
    super.tearDown();
    mFlags = null;
  }

  public void testRemaining() {
    mFlags.registerRequired("boolean", Boolean.class, "", "");
    assertTrue(!mFlags.setFlags("s1", "--boolean", "true", "s2", "s3"));
  }

  public void testRequired() {
    mFlags.registerRequired("boolean", Boolean.class, "a boolean value", "");
    assertTrue(!mFlags.setFlags("s1", "s2", "s3"));
  }

  public void testRepeated() {
    mFlags.registerRequired('b', "boolean", Boolean.class, "a boolean value", "");
    try {
      mFlags.registerRequired("boolean", Boolean.class, "a boolean value", "");
      fail("Should not accept registering a flag with preexisting long name");
    } catch (final IllegalArgumentException iae) {
      // Expected
    }

    try {
      mFlags.registerRequired('b', "foolean", Boolean.class, "a boolean value", "");
      fail("Should not accept registering a flag with preexisting short name");
    } catch (final IllegalArgumentException iae) {
      // Expected
    }
  }

  public void testTooMany() {
    mFlags.registerOptional("boolean", "a boolean value");
    assertTrue(mFlags.setFlags("--boolean"));
    assertTrue(!mFlags.setFlags("--boolean", "--boolean"));
    assertTrue(mFlags.setFlags("--boolean"));

    mFlags.registerRequired("int", Integer.class, "number", "an integer value");
    assertTrue(mFlags.setFlags("--int", "10"));
    assertTrue(mFlags.setFlags("--int", "10"));
    assertTrue(!mFlags.setFlags("--int", "10", "--boolean", "--int", "10"));
    assertTrue(mFlags.setFlags("--int", "10", "--boolean"));
    mFlags.registerOptional("stringy", String.class, "string", "some kind of string");
    assertTrue(mFlags.setFlags("--int", "10", "--boolean", "--stringy", "a value"));
    assertEquals("--int 10 --boolean --stringy \"a value\"", mFlags.getCommandLine());
  }

  public void testCli() {
    mFlags.registerOptional("q", "Suppresses printing error messages and prompts.");
    mFlags.registerOptional("log", "Same as q, but allow logging.");
    mFlags.registerOptional("in", String.class, "<file>",
        "Takes input from a file instead of the keyboard.");
    mFlags.registerOptional("out", String.class, "<file>",
        "Sends output to a file instead of the screen.", "default");
    mFlags
        .setDescription("For help on interactive use or script commands, type 'help' at program startup.");
    if (!mFlags.setFlags("--q", "--in", "a")) {
      fail("Shouldn't fail");
    }
    assertTrue(mFlags.isSet("q"));
    assertTrue(mFlags.isSet("in"));

    assertTrue(!mFlags.isSet("out"));
    assertEquals("default", mFlags.getValue("out"));

    assertEquals(Boolean.FALSE, mFlags.getValue("log"));
    assertEquals(Boolean.TRUE, mFlags.getValue("q"));

    if (mFlags.setFlags("--q", "--in")) {
      fail("Should have failed.");
    }

    if (mFlags.setFlags("--in", "--help")) {
      fail("Should have failed.");
    }
  }

  public void testPrefixRetrieval() {
    mFlags.registerRequired("boolean", Boolean.class, "", "");
    assertNull(mFlags.getFlag("foo"));
    assertNull(mFlags.getFlag("boo"));
    assertNotNull(mFlags.getFlag("boolean"));

    assertNull(mFlags.getFlagWithExpansion("foo"));
    assertNotNull(mFlags.getFlagWithExpansion("boo"));
    assertNotNull(mFlags.getFlagWithExpansion("boolean"));

    assertTrue(mFlags.setFlags("--boo", "true"));

    mFlags.registerRequired("boolean2", Boolean.class, "", "");

    assertNull(mFlags.getFlag("boo"));
    assertNotNull(mFlags.getFlag("boolean"));

    assertNull(mFlags.getFlagWithExpansion("boo"));
    assertNotNull(mFlags.getFlagWithExpansion("boolean"));

    assertFalse(mFlags.setFlags("--boo", "true"));
  }

  public void testSetArgsWithStrings() {
    mFlags.registerRequired("boolean", Boolean.class, "", "");
    mFlags.registerRequired("byte", Byte.class, "", "");
    mFlags.registerRequired("short", Short.class, "", "");
    mFlags.registerRequired("char", Character.class, "", "");

    mFlags.registerRequired("int", Integer.class, "", "");
    mFlags.registerRequired("float", Float.class, "", "");
    mFlags.registerOptional("long", Long.class, "", "");
    mFlags.registerRequired("double", Double.class, "", "");

    mFlags.registerOptional("file", File.class, "", "");

    assertTrue(mFlags.setFlags("--boolean", "true", "--byte", "10", "--short", "127",
        "--char", "c", "--int", "3", "--float", "4.6", "--long", "64234", "--file", "afilename",
        "--double", "64324.234"));

    assertTrue(mFlags.isSet("boolean"));
    assertTrue(mFlags.getValue("boolean").equals(Boolean.TRUE));

    assertTrue(mFlags.isSet("byte"));
    assertTrue(mFlags.getValue("byte").equals(Byte.valueOf("10")));

    assertTrue(mFlags.isSet("short"));
    assertTrue(mFlags.getValue("short").equals(Short.valueOf("127")));

    assertTrue(mFlags.isSet("char"));
    assertTrue(mFlags.getValue("char").equals('c'));

    assertTrue(mFlags.isSet("int"));
    assertTrue(mFlags.getValue("int").equals(Integer.valueOf("3")));

    assertTrue(mFlags.isSet("float"));
    assertTrue(mFlags.getValue("float").equals(Float.valueOf("4.6")));

    assertTrue(mFlags.isSet("long"));
    assertTrue(mFlags.getValue("long").equals(Long.valueOf("64234")));

    assertTrue(mFlags.isSet("double"));
    assertTrue(mFlags.getValue("double").equals(Double.valueOf("64324.234")));

    assertTrue(mFlags.isSet("file"));
    assertTrue(mFlags.getValue("file").equals(new File("afilename")));

    // getOptional and getRequired
    final Collection<Flag<?>> optional = mFlags.getOptional();
    assertNotNull(optional);
    assertEquals(5, optional.size()); // always has help / Xhelp / XXhelp
    assertFalse(optional.contains(mFlags.getFlag("boolean")));
    assertTrue(optional.contains(mFlags.getFlag("help"))); // always has help
    assertTrue(optional.contains(mFlags.getFlag("long")));
    assertTrue(optional.contains(mFlags.getFlag("file")));

    final Collection<Flag<?>> required = mFlags.getRequired();
    assertNotNull(required);
    assertTrue(7 == required.size());
    assertFalse(required.contains(mFlags.getFlag("long")));
    assertTrue(required.contains(mFlags.getFlag("boolean")));
    assertTrue(required.contains(mFlags.getFlag("byte")));
    assertTrue(required.contains(mFlags.getFlag("short")));
    assertTrue(required.contains(mFlags.getFlag("char")));
    assertTrue(required.contains(mFlags.getFlag("int")));
    assertTrue(required.contains(mFlags.getFlag("float")));
    assertTrue(required.contains(mFlags.getFlag("double")));

    // getType
    assertEquals(Boolean.class, mFlags.getFlag("boolean").getParameterType());
    assertEquals(Byte.class, mFlags.getFlag("byte").getParameterType());
    assertEquals(Short.class, mFlags.getFlag("short").getParameterType());
    assertEquals(Character.class, mFlags.getFlag("char").getParameterType());
    assertEquals(Integer.class, mFlags.getFlag("int").getParameterType());
    assertEquals(Long.class, mFlags.getFlag("long").getParameterType());
    assertEquals(Float.class, mFlags.getFlag("float").getParameterType());
    assertEquals(Double.class, mFlags.getFlag("double").getParameterType());
    assertEquals(File.class, mFlags.getFlag("file").getParameterType());
  }

  //Hard to convert test. does not improve jumble score. Potentially does nothing
  //public void testGetSet() {
  //  BeanPropertyTester bps = new BeanPropertyTester(mFlags);
  //  bps.testProperties();
  //}

  private static final String LS = System.lineSeparator();

  public void testHelpFlag() {
    final CFlags f = new CFlags();
    final Flag<?> x = f.getFlag("help");
    assertNotNull(x);
    assertEquals(Character.valueOf('h'), x.getChar());
    assertEquals("print help on command-line flag usage", x.getDescription());
  }

  public void testVariousKinds() {
    Switch s = mFlags.registerOptional("aa", "bb");
    assertNotNull(s);
    assertEquals("bb", s.getDescription());
    s = mFlags.registerOptional('v', "cc", "dd");
    assertNotNull(s);
    assertEquals("dd", s.getDescription());
    Flag<File> f = mFlags.registerRequired(File.class, "hi", "there");
    assertNotNull(f);
    f = mFlags.registerRequired("zz", File.class, "hix", "therex");
    assertNotNull(f);
    f = mFlags.registerRequired('j', "zzz", File.class, "hiz", "therez");
    assertNotNull(f);
    f = mFlags.registerOptional("zzr", File.class, "him", "therem");
    assertNotNull(f);
    // Nice long description that wraps around. However, when run on
    // a regular user terminal, this may fail if the wrapping occurs
    // at a different width.
    f = mFlags.registerOptional('k', "zzx", File.class, "hih hih hih",
        "thereh thereh thereh thereh thereh thereh thereh thereh thereh thereh thereh thereh");
    assertNotNull(f);
    f = mFlags.registerOptional('l', "zzy", File.class, "hio", "thereo", null);
    assertNotNull(f);
    assertFalse(mFlags.setFlags("-l", "pox", "-j", "pox2"));
    assertEquals("You must provide values for --zz HIX HI", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("-l", "pox", "-j", "pox2", "-zz", "dog"));
    assertEquals("Unknown flag -zz", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("-l", "pox", "-j", "pox2", "--zz", "dog"));
    assertEquals("You must provide a value for HI", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("-l", "pox", "-j", "pox2", "--zz", "dog", "cat"));
    assertEquals("", mFlags.getParseMessage());
    TestUtils.containsAll(mFlags.getUsageString(), "Required flags: " + LS + "      --zz=HIX          therex" + LS
        + "  -j, --zzz=HIZ         therez" + LS + "      HI                there" + LS + LS
        + "Optional flags: " + LS + "      --aa              bb" + LS
        + "  -v, --cc              dd" + LS
        + "  -h, --help            print help on command-line flag usage" + LS
        + "      --zzr=HIM         therem",
        "  -k, --zzx=HIH HIH HIH thereh thereh thereh thereh thereh thereh",
        "  -l, --zzy=HIO         thereo" + LS);
    assertEquals("cat", mFlags.getAnonymousValue(0).toString());
    try {
      mFlags.getAnonymousValue(1);
    } catch (final IndexOutOfBoundsException e) {
      // ok
    }
    assertEquals(1, mFlags.getAnonymousValues(0).size());
    assertTrue(mFlags.setFlags("-l", "pox", "-j", "pox2=r", "--zz", "dog", "cat"));
    assertEquals("", mFlags.getParseMessage());
    mFlags.setDescription("flunky test");
    mFlags.setName("dogbreath");
    TestUtils.containsAll(mFlags.getUsageString(), "Usage: dogbreath [OPTION]... --zz HIX -j HIZ HI" + LS + LS
        + "flunky test" + LS + LS
        + "Required flags: " + LS + "      --zz=HIX          therex" + LS
        + "  -j, --zzz=HIZ         therez" + LS + "      HI                there" + LS + LS
        + "Optional flags: " + LS + "      --aa              bb" + LS
        + "  -v, --cc              dd" + LS
        + "  -h, --help            print help on command-line flag usage" + LS
        + "      --zzr=HIM         therem" + LS
        + "  -k, --zzx=HIH HIH HIH thereh thereh thereh thereh thereh thereh",
        "  -l, --zzy=HIO         thereo" + LS);
    assertEquals("[OPTION]... --zz HIX -j HIZ HI", mFlags.getCompactFlagUsage());
    assertFalse(mFlags.setFlags("-l", "pox", "--help", "-j", "pox2=r", "--zz", "dog",
        "cat"));
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
    assertFalse(mFlags.setFlags("-l", "pox", "-h", "-j", "pox2=r", "--zz", "dog",
        "cat"));
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
    assertFalse(mFlags.setFlags("-l", "pox", "-j", "pox2=r", "--zz", "dog", "cat",
        "-h"));
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
    assertFalse(mFlags.setFlags("-l", "pox", "-j", "pox2=r", "--zz", "dog", "cat",
        "--help"));
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
  }

  public void testInvalid() {
    mFlags.setValidator(new Validator() {
      @Override
      public boolean isValid(final CFlags f) {
        return false;
      }
    });
    assertFalse(mFlags.setFlags());
    mFlags.registerRequired("zz", Integer.class, "hix", "therex");
    assertFalse(mFlags.setFlags());
  }

  public void testMultiValue() {
    final Flag<Integer> f = new Flag<>('x', "xx", "mv", 3, 4, Integer.class, "kk", 42, "try");
    mFlags.register(f);
    assertEquals("try", f.getCategory());
    assertFalse(mFlags.isSet("xx"));
    assertFalse(mFlags.setFlags("-x", "7"));
    assertEquals("You must provide a value for -x KK (2 more times)", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("--xx", "7"));
    assertEquals("You must provide a value for -x KK (2 more times)", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("-x", "7", "-x", "8"));
    assertEquals("You must provide a value for -x KK (1 more time)", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("-x", "7", "-x", "8", "-x", "9"));
    assertEquals("", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("-x", "7", "-x", "8", "-x", "9", "-x", "10"));
    assertEquals("", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("-x", "7", "-x", "8", "-x", "9", "-x", "10", "-x",
        "11"));
    assertEquals("Attempt to set flag -x too many times.", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("-x", "7", "-x", "8", "--xx", "9", "-x", "10"));
    assertEquals("", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("-x", "7", "-x", "8", "--xx=9", "-x", "10"));
    assertEquals("", mFlags.getParseMessage());
    assertNotNull(mFlags.getValues("xx"));
    assertNotNull(mFlags.getReceivedValues());
    assertTrue(mFlags.isSet("xx"));
    assertFalse(mFlags.isSet("yy"));
    assertFalse(mFlags.setFlags("-x", "7", "-x", "8", "--xx", "9", "-x", "10", "-x",
        "11"));
    assertEquals("Attempt to set flag -x too many times.", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("-x", "7", "-x", "8", "--xx", "9", "-x", "10", "-x",
        "11", "-h", "--helx"));
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
    assertFalse(mFlags.setFlags("-x", "7", "-x", "8", "--xx", "9", "-x", "10", "-x",
        "11", "-o", "--help"));
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
  }

  public void testParseInt() {
    final Flag<Integer> f = new AnonymousFlag<>("mv", Integer.class, "kk");
    mFlags.register(f);
    assertTrue(mFlags.setFlags("09"));
    assertEquals(9, mFlags.getAnonymousValue(0));
  }
  public void testMultiValueAnon() {
    final Flag<Integer> f = new AnonymousFlag<>("mv", Integer.class, "kk");
    f.setMaxCount(4);
    f.setMinCount(3);
    mFlags.register(f);
    assertFalse(mFlags.setFlags("7"));
    assertEquals("You must provide a value for KK+ (2 more times)", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("7", "8"));
    assertEquals("You must provide a value for KK+ (1 more time)", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("7", "8", "9"));
    assertEquals("", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("7", "8", "9", "10"));
    assertEquals("", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("7", "8", "9", "10", "11"));
    assertEquals("Unexpected argument \"11\"", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("7", "8", "9", "10", "-h"));
    assertEquals("", mFlags.getParseMessage());
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
    assertFalse(mFlags.setFlags("7", "8", "9", "10", "--help"));
    assertEquals("", mFlags.getParseMessage());
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
    assertFalse(mFlags.setFlags("7", "8", "9", "10", "11", "--help"));
    assertEquals("", mFlags.getParseMessage());
    assertTrue(mFlags.isSet(CFlags.HELP_FLAG));
    mFlags.setInvalidFlagHandler(new InvalidFlagHandler() {
      @Override
      public void handleInvalidFlags(final CFlags ff) {
        throw new ArithmeticException();
      }
    });
    try {
      mFlags.setFlags("7", "8", "9", "10", "11");
      fail();
    } catch (final ArithmeticException e) {
      // ok
    }
    assertTrue(mFlags.setFlags("7", "8", "9", "10"));
    assertNotNull(mFlags.getAnonymousFlags());
  }

  public void testRequired2() {
    Flag<File> f = mFlags.registerRequired("zz", File.class, "hix", "therex");
    assertNotNull(f);
    f = mFlags.registerRequired('j', "zzz", File.class, "hiz", "therez");
    assertNotNull(f);
    assertFalse(mFlags.setFlags());
    assertEquals("You must provide values for --zz HIX -j HIZ", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("--zz", "h"));
    assertEquals("You must provide a value for -j HIZ", mFlags.getParseMessage());
//    assertFalse(mFlags.setFlags("--zz", "h", "-j", "test\nthis"));
//    assertEquals("Invalid value \"test\nthis\" for \"-j\". Value cannot contain new line characters.", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("--zz", "h", "t"));
    assertEquals("Unexpected argument \"t\"", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("--zz", "h", "t", "k"));
    assertEquals("Unexpected arguments \"t\" \"k\"", mFlags.getParseMessage());

    assertFalse(mFlags.setFlags("--uu", "--zz", "h"));
    assertEquals("Unknown flag --uu", mFlags.getParseMessage());
    assertFalse(mFlags.setFlags("--zz", "h"));
    assertEquals("You must provide a value for -j HIZ", mFlags.getParseMessage());
    try {
      mFlags.setFlags("--zz", null);
      fail();
    } catch (final NullPointerException e) {
      // ok
    }
  }

  public void testRange() {
    final Flag<String> f = new Flag<>('x', "xx", "mv", 1, 1, String.class, "kk", null, "");
    final HashSet<String> m = new HashSet<>();
    try {
      f.setParameterRange(m);
      fail();
    } catch (final IllegalArgumentException e) {
      // ok
    }
    m.add("value");
    f.setParameterRange(m);
    m.add("pox");
    f.setParameterRange(m);
    mFlags.register(f);
    assertFalse(mFlags.setFlags("--xx", "v"));
    assertEquals("Invalid value \"v\" for flag --xx. Value supplied is not in the set of allowed values.",
        mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("--xx", "value"));
    assertEquals("", mFlags.getParseMessage());
    assertTrue(mFlags.setFlags("-x", "pox"));
    assertEquals("", mFlags.getParseMessage());
  }

  public void testNumericRangeChecks() {
    mFlags.registerOptional("a", Integer.class, CommonFlags.INT, "therex");
    mFlags.registerOptional("b", Double.class, CommonFlags.FLOAT, "therex");
    mFlags.setFlags("--a", "2", "--b", "2");
    assertTrue(mFlags.checkInRange("a", 2, true, 4, true));
    assertFalse(mFlags.checkInRange("a", 2, false, 4, true));
    assertTrue(mFlags.getParseMessage().contains("(2, 4]"));
    assertFalse(mFlags.checkInRange("a", 3, true, 4, true));
    assertTrue(mFlags.getParseMessage().contains("[3, 4]"));
    assertTrue(mFlags.checkInRange("a", 0, true, 2, true));
    assertFalse(mFlags.checkInRange("a", 0, true, 2, false));
    assertTrue(mFlags.getParseMessage().contains("[0, 2)"));
    assertFalse(mFlags.checkInRange("a", 0, true, 1, true));
    assertTrue(mFlags.getParseMessage().contains("[0, 1]"));
    assertFalse(mFlags.checkInRange("a", 3, true, Integer.MAX_VALUE, true));
    assertTrue(mFlags.getParseMessage().contains("at least 3"));
    assertFalse(mFlags.checkInRange("a", Integer.MIN_VALUE, true, 2, false));
    assertTrue(mFlags.getParseMessage().contains("less than 2"));

    assertTrue(mFlags.checkInRange("b", 2.0, true, 4.0, true));
    assertFalse(mFlags.checkInRange("b", 2.0, false, 4.0, true));
    assertTrue(mFlags.getParseMessage().contains("(2.0, 4.0]"));
    assertFalse(mFlags.checkInRange("b", 3.0, true, 4.0, true));
    assertTrue(mFlags.getParseMessage().contains("[3.0, 4.0]"));
    assertTrue(mFlags.checkInRange("b", 0.0, true, 2.0, true));
    assertFalse(mFlags.checkInRange("b", 0.0, true, 2.0, false));
    assertTrue(mFlags.getParseMessage().contains("[0.0, 2.0)"));
    assertFalse(mFlags.checkInRange("b", 0.0, true, 1.0, true));
    assertTrue(mFlags.getParseMessage().contains("[0.0, 1.0]"));
    assertFalse(mFlags.checkInRange("b", 3.0, true, Double.MAX_VALUE, true));
    assertTrue(mFlags.getParseMessage().contains("at least 3.0"));
    assertFalse(mFlags.checkInRange("b", -Double.MAX_VALUE, true, 2.0, false));
    assertTrue(mFlags.getParseMessage().contains("less than 2.0"));

  }

  public void testCrossFlagChecks() {
    mFlags.registerOptional("a", "therex");
    mFlags.registerOptional("b", "therex");
    mFlags.registerOptional("c", "therex");
    mFlags.registerOptional("d", "therex");

    mFlags.setFlags("--a", "--b");

    assertFalse(mFlags.isAnySet("c", "d"));
    assertTrue(mFlags.isSet("a"));
    assertTrue(mFlags.isAnySet("a", "b"));
    assertTrue(mFlags.isSet("b"));
    assertTrue(mFlags.isAnySet("a", "b"));
    assertTrue(mFlags.isAllSet("a", "b"));
    assertFalse(mFlags.isAllSet("a", "b", "c"));

    // True if any one is set
    assertTrue(mFlags.checkOr("a", "b"));
    assertTrue(mFlags.checkOr("b", "c", "d"));
    assertFalse(mFlags.checkOr("c", "d"));

    // True if at most one is set
    assertTrue(mFlags.checkNand("a", "d"));
    assertTrue(mFlags.checkNand("c", "d"));
    assertFalse(mFlags.checkNand("a", "b"));
    assertTrue(mFlags.checkAtMostOne("a", "d"));
    assertTrue(mFlags.checkAtMostOne("c", "d"));
    assertFalse(mFlags.checkAtMostOne("a", "b"));
    assertFalse(mFlags.checkAtMostOne("a", "b", "c", "d"));

    // True if all are set
    assertTrue(mFlags.checkRequired("a", "b"));
    assertFalse(mFlags.checkRequired("a", "d"));

    // True if exactly one is set
    assertTrue(mFlags.checkXor("b", "c", "d"));
    assertFalse(mFlags.checkXor("a", "b"));
    assertFalse(mFlags.checkXor("c", "d"));

    // True if neither or both are
    assertTrue(mFlags.checkIff("a", "b"));
    assertTrue(mFlags.checkIff("c", "d"));
    assertFalse(mFlags.checkIff("a", "c"));

  }

  public void testSpecialAnonProps() {
    final AnonymousFlag<Integer> f1 = new AnonymousFlag<>("mv", Integer.class, "kk");
    final AnonymousFlag<Integer> f2 = new AnonymousFlag<>("mx", Integer.class, "zz");
    assertEquals(1, f2.compareTo(f1));
    assertEquals(-1, f1.compareTo(f2));
    assertEquals(0, f1.compareTo(f1));
  }

  public void testFlagInnerClass() {
    Flag<Integer> f = new Flag<>('x', "xx", "mv", 0, 1, Integer.class, "kk", 42, "");
    try {
      f.setMaxCount(0);
      fail();
    } catch (final IllegalArgumentException e) {
      // ok
    }
    f.setMaxCount(2);
    f.setMinCount(2);
    try {
      f.setMaxCount(1);
      fail();
    } catch (final IllegalArgumentException e) {
      // ok
    }
    Collection<Integer> c = f.getValues();
    assertTrue(c.contains(42));
    f = new Flag<>('x', "xx", "mv", 3, 4, null, "kk", 42, "");
    c = f.getValues();
    assertFalse(c.contains(4242));
    final Flag<Integer> f1 = new Flag<>('x', "xx", "mv", 3, 4, Integer.class, "kk", 42, "");
    final Flag<Integer> f2 = new Flag<>('y', "xy", "my", 3, 4, Integer.class, "ky", 42, "");
    assertEquals(1, f2.compareTo(f1));
    assertEquals(-1, f1.compareTo(f2));
    assertEquals(0, f1.compareTo(f1));
    f = new Flag<>('x', "xx", "mv", 0, Integer.MAX_VALUE, Integer.class, "kk", 42, "");
    mFlags.register(f);
    assertEquals(LS + "Optional flags: " + LS
        + "  -h, --help  print help on command-line flag usage" + LS
        + "  -x, --xx=KK mv. May be specified 0 or more times (Default is 42)" + LS, mFlags
        .getUsageString());
    mFlags.setFlags("-x", "22");
    final List<FlagValue<?>> i = mFlags.getReceivedValues();
    assertEquals(1, i.size());
    final FlagValue<?> fv = i.get(0);
    assertNotNull(fv);
    assertEquals(f, fv.getFlag());
    assertEquals(22, fv.getValue());
    assertEquals("xx=22", fv.toString());
  }

  static final class TestMyEnum implements PseudoEnum {
    public static final TestMyEnum ONE = new TestMyEnum(0, "ONE");
    public static final TestMyEnum TWO = new TestMyEnum(1, "TWO");
    public static final TestMyEnum THREE = new TestMyEnum(2, "THREE");

    private final int mOrdinal;
    private final String mName;
    private TestMyEnum(final int ordinal, final String name) {
      mOrdinal = ordinal;
      mName = name;
    }
    @Override
    public String name() {
      return mName;
    }
    @Override
    public int ordinal() {
      return mOrdinal;
    }
    @Override
    public String toString() {
      return mName;
    }

    private static final EnumHelper<TestMyEnum> ENUM_HELPER = new EnumHelper<>(TestMyEnum.class, new TestMyEnum[] {ONE, TWO, THREE});
    public static TestMyEnum[] values() {
      return ENUM_HELPER.values();
    }
    public static TestMyEnum valueOf(final String str) {
      return ENUM_HELPER.valueOf(str);
    }
  }

  public void testEnum() {
    mFlags.registerRequired(TestMyEnum.class, "enum", "ENUM VALUE");

    assertTrue(mFlags.setFlags("one"));
    assertEquals(TestMyEnum.ONE, mFlags.getAnonymousValue(0));
  }

  public void testEnumDescription() {
    mFlags.registerRequired(TestMyEnum.class, "enum", "ENUM VALUE");

    final String str = mFlags.getUsageString();

    assertTrue(str, str.toLowerCase(Locale.getDefault()).contains("allowed values are [one, two, three]"));
  }

  public void testEnum2() {
    mFlags.registerRequired(TestMyEnum.class, "enum", "enum value");
    assertFalse(mFlags.setFlags("nonvalue"));
  }

  public void testTypeChecking() {
    mFlags.registerRequired(Integer.class, CommonFlags.INT, "");
    assertFalse(mFlags.setFlags("abc123"));
  }

  public void testInvalidFlagHandler() {
    final ByteArrayOutputStream bos = new ByteArrayOutputStream();
    final PrintStream out = new PrintStream(bos);
    final ByteArrayOutputStream berr = new ByteArrayOutputStream();
    final PrintStream err = new PrintStream(berr);
    final CFlags f = new CFlags("", out, err);
    f.setFlags("-h");
    err.flush();
    out.flush();
    assertEquals("Usage:  [OPTION]..." + LS + LS + "Optional flags: " + LS + "  -h, --help print help on command-line flag usage" + LS + LS + "", bos.toString());
    assertEquals("", berr.toString());
    bos.reset();
    f.setFlags("--no-such-flag");
    err.flush();
    assertEquals("Error: Unknown flag --no-such-flag" + LS + LS + "Usage:  [OPTION]..." + LS + LS + "Try \'--help\' for more information" + LS, berr.toString());
    assertEquals("", bos.toString());
  }

  public void testXHelp() {
    final ByteArrayOutputStream bos = new ByteArrayOutputStream();
    final PrintStream err = new PrintStream(bos);
    final CFlags f = new CFlags("", err, null);
    f.registerOptional("Xoptional", "Test of --X options");
    f.setFlags("-h");
    err.flush();
    assertEquals("Usage:  [OPTION]..." + LS + LS + "Optional flags: " + LS
        + "  -h, --help print help on command-line flag usage" + LS
        + LS + "", bos.toString());

    bos.reset();
    f.setFlags("--Xhelp");
    err.flush();
    TestUtils.containsAllUnwrapped(bos.toString(),
      "Usage:  [OPTION]...",
      "Use them with caution",
      "Optional flags: ",
      " --Xhelp", "print help on extended command-line flag usage",
      " --Xoptional Test of --X options");
  }

  public void testUnregister() {
    final ByteArrayOutputStream bos = new ByteArrayOutputStream();
    final PrintStream err = new PrintStream(bos);
    final CFlags flags = new CFlags("", err, null);

    flags.registerOptional('a', "A", "a");
    Flag<?> f = flags.unregister("A");
    assertNotNull(f);

    f = flags.unregister("B");
    assertNull(f);
  }

  public void testXor() {
    mFlags.registerRequired(TestMyEnum.class, "enum", "ENUM VALUE");

    assertTrue(mFlags.setFlags("one"));
    assertEquals(TestMyEnum.ONE, mFlags.getAnonymousValue(0));
  }

}

redpajama_set_name: RedPajamaGithub


text:
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Central United States" – news · newspapers · books · scholar · JSTOR (November 2009) (Learn how and when to remove this template message)
Coordinates: 40°N 98°W / 40°N 98°W / 40; -98
This video was taken by the crew of Expedition 29 on board the ISS. The pass begins over Canada and ends in the Caribbean Sea, covering the entire Central United States.
The Central United States is sometimes conceived as between the Eastern and Western as part of a three-region model, roughly coincident with the U.S. Census' definition of the Midwestern United States plus the western and central portions of the U.S. Census' definition of the Southern United States. The Central States are typically considered to consist of North Dakota, South Dakota, Nebraska, Kansas, Oklahoma, Texas, Minnesota, Iowa, Missouri, Arkansas, Louisiana, Wisconsin, Illinois, Michigan, Indiana, Ohio, Kentucky, Tennessee, West Virginia, Mississippi and Alabama.[citation needed]
Chicago is the area's largest city and metropolitan area; other large cities with large metropolitan areas would be Houston, Dallas, Fort Worth, San Antonio, Austin, Oklahoma City, Tulsa, Kansas City, Kansas and Kansas City, Missouri, Topeka, Wichita, Omaha, Nebraska and Lincoln, Minneapolis and St. Paul, Madison and Milwaukee, St. Louis, Louisville, Lexington, Detroit, Cincinnati, Cleveland, Columbus, Toledo, Dayton, Rockford, Peoria, Indianapolis, Evansville, Fort Wayne and South Bend.[citation needed]
Four of nine Census Bureau Divisions have names containing "Central", though they are not grouped as a region. They include 20 states and 39.45% of the U.S. population as of July 1, 2007.[1]
Almost all of the area is in the Gulf of Mexico drainage basin and most of that is in the Mississippi Basin. Small waterways near the Great Lakes drain into the Great Lakes, and eventually the St. Lawrence River. The Red River Basin is centered on the North Dakota-Minnesota border and drains to Hudson Bay. Floods have been a problem for the region during the 20th and early 21st century.[2]
The Central Time Zone includes portions of the Florida Panhandle, upper portions of Michigan, parts of Indiana, western Kentucky, western Tennessee, all of Texas except El Paso, and extends to the westernmost fringes of Great Plains states.[citation needed]
Census Bureau Divisions with "Central" in their name include the West North Central and East North Central in the Midwest. Along with the West South Central and East South Central in the South.
Map of U.S. time zones between April 2, 2006 and March 11, 2007. The current time zone now has Pulaski County, Indiana in the Eastern Time Zone and no longer in the Central Time Zone.
Continental divides in North America.
Central regions defined by organizations
Different organizations define the central regions of the United States in a variety of ways:
YPO Only 6 central states of the Midwest,[a] plus KY
CERI All of Midwest and South[a] including MD, DE
NOAA Midwest[a] minus OH, plus KY, CO, WY
HSUS Midwest[a] minus ND, SD, KS, plus KY
USGS West North Central States, South Central United States, 4 eastern Mountain states
Adventure Camp Midwest plus South[a] minus Atlantic states, AL, WV
Geography of the Interior United States
MLB's National League Central Division, members in PA, OH, WI, IL, MO; TX through 2012
MLB's American League Central Division, members in OH, MI, IL, MN, MO
NBA's Central Division, members in OH, MI, IN, IL, WI, former members from NC, FL, GA, LA and Ontario (Canada)
NHL's Central Division, members in CO, MN, TN, TX, IL, MO and Manitoba (Canada), former members in MI, AZ, OH and Ontario (Canada)
The NFL's former National Football Conference Central Division, members in FL, MI, IL, WI, and MN
The NFL's former American Football Conference Central Division, members in MD, PA, FL, OH, TN, former member from TX
Geographic center of the United States
The geographic midpoint of the contiguous 48 states of the United States falls within the boundaries of the Central United States and is located about two miles northwest of Lebanon, Kansas. The spot is located at 39 degrees 50 minutes latitude and 98 degrees 35 minutes longitude.[3]
Central Canada
List of regions of the United States
^ a b c d e See Census definition
^ "U.S. Census website". Retrieved 2008-05-20.
^ Iman Mallakpour & Gabriele Villarini (29 September 2014). "The changing nature of flooding across the central United States". Nature Climate Change. Nature. 5: 250–254. doi:10.1038/nclimate2516.
^ "Geographic Center of the United States". www.kansastravel.org. Retrieved 2020-03-24.
Regions of the United States
Insular area
Minor Outlying Island
Maritime territory
Hawaii–Aleutian
E N Central
W N Central
S Atlantic
E S Central
W S Central
Courts of
Physiographic
Intermontane Plateaus
Laurentian Upland
Interior Plains
Interior Highlands
Atlantic Plain
Thirteen Colonies
Southwest Territory
Gadsden Purchase
Adams–Onís Treaty
Texas annexation
Oregon Treaty
Mexican Cession
Alaska Purchase
Newlands Resolution
Acquisition of Puerto Rico and Guam
Cession of Tutuila
Cession of Manu'a
Treaty of the Danish West Indies
Acquisition of the Northern Mariana Islands
Old South
Slave and free states
Trans-Mississippi
Lower Seaboard
Atlantic Northeast
Prairie Pothole
Oregon Country
The Californias
Samoan Islands
Red states and blue states
Intermountain
United States articles
Pre-Columbian era
Continental Association
Lee Resolution
Treaty of Paris
Confederation Period
drafting and ratification
Federalist Era
Territorial evolution
Mexican–American War
Reconstruction era
Indian Wars
Civil rights movement 1865–1896 / 1896–1954 / 1954–1968
Spanish–American War
Post-Cold War (1991–2008)
Outline of U.S. history
Technological and industrial
Contiguous United States
federal enclaves
insular zones
minor outlying islands
populated places
Longest rivers
Red (South)
Water supply and sanitation
Executive departments
Independent agencies
Courts of appeals
Federal Reporter
NOAA Corps
Public Health Service Corps
political status of Puerto Rico
District of Columbia statehood movement
Hawaiian sovereignty movement
exceptionalism
Purple America
state court
Imperial Presidency
Greenhouse gas emissions by the United States
Financial position
Social welfare programs
personal income
Family structure
Great American Novel
Black American Sign Language
Plains Sign Talk
Sexuality / Adolescent Sexuality
Professional and working class conflict
Ages of consent
Criticism of government
intersex rights
Environmental movement
Gun politics

redpajama_set_name: RedPajamaCommonCrawl


View continually updated book lists or sign up to receive an array of regular book list e-newsletters — everything from PPL Staff Picks to New York Times Best Sellers and a host of awards lists and recommended reads.
A recent Pew Research Center study finds 23 percent of Americans say they've shared a made-up news story, whether knowingly or not. We're here to help pinpoint reliable sources for current social and political issues, and to encourage critical thinking about media and social engagement.


Finally Creative Medical ID Alert Jewelry for Teen Boys makes a cool statement while keeping him safe. We have Medical dog tags, leather bands and bracelets, stainless steel medical alert bracelets with link chains and more. How about a medical alert sports band for workouts or sports, a guitar pick medical id necklace, or tattoo art leather medical band? Yes, we've got them.
Since 2003, CMID has always engraved your personalized medical information for FREE. Many of our medical tags offer black laser engraving or our traditional etched, clear engraving. All orders arrive at your door with a Free Medical Emergency Wallet Card and complimentary Organza Jewelry pouch. Thank you for shopping with us!


Not a soundtrack album from Holger Czukay – despite what you might guess from the title – and instead a batch of nicely tuneful, often-catchy tracks that somewhat follow the style of late 70s work from Can! Not surprisingly, Holger's joined by group makes Jaki Liebezeit on drums, and has guest work from Irmin Schmidt and Michael Karoli too – on tracks that are long, but never without a sense of groove – although one that's often a bit complicated, thanks to creative interplay between Czukay's bass and Liebezeit's drums. Titles include "Hollywood Symphony", "Persian Love", "Oh Lord Give Us More Money", and "Cool In The Pool" – which also features "chicken organ" from Reebop Kwaku Baah. © 1996-2019, Dusty Groove, Inc.


text:
Les élections législatives argentines de 2021 se tiennent le  pour élire 127 des  à la Chambre des députés d'Argentine, ainsi que 24 des  du Sénat.

Le scrutin est organisé dans le contexte de la pandémie de Covid-19, qui provoque son report de plusieurs mois.

Contexte

Les élections d'octobre 2019 donnent lieu à un congrès sans majorité. La coalition de centre droit Ensemble pour le changement menée par le parti Proposition républicaine obtient la majorité relative à la Chambre des députés avec 46 % des sièges, devançant de quelques sièges la coalition de centre gauche Front commun menée par le Parti justicialiste. Le Front commun obtient toutefois la majorité relative au Sénat, avec exactement la moitié des sièges. L'élection présidentielle organisée simultanément voit la défaite du président sortant Mauricio Macri. Soutenu par Ensemble pour le changement, ce dernier est battu dès le premier tour par le candidat du Front commun Alberto Fernández, qui obtient un peu plus de 48 % des voix, le système électoral argentin permettant l'élection dès le premier tour d'un candidat ayant obtenu au moins 45 % des voix et 10 % d'avance sur le candidat suivant.

Initialement prévues le , les élections sont repoussées le  au  du fait de la progression de la pandémie de Covid-19, le gouvernement et l'opposition s'accordant pour en voter le report. Les primaires nationales prévues le  sont elles-mêmes repoussées au . Leur annulation pure et simple est alors projetée par le gouvernement d'Alberto Fernández et une majorité des gouverneurs, mais rejetée par l'opposition, les deux camps déposant des projets de lois opposés.

L'Argentine est en proie à une violente crise économique, caractérisée par trois années consécutives de récession et un taux de pauvreté de 40,6 % en 2021. Le pays doit également faire face à une échéance de remboursement de prêts au FMI octroyés sous la présidence Macri. Si le gouvernement d'Alberto Fernández venait à perdre le scrutin, il ne serait plus en mesure d'engager des réformes et devrait se limiter à la gestion des affaires courantes jusqu'au terme de son mandat en 2023 ou tenter de gouverner par décret. Il s'appuie cependant sur l'amélioration notable de la situation sanitaire au cours des mois précédents les élections, l'Argentine totalisant alors 78 % de vaccinés à une dose, et 60 % à deux.

Système électoral

Le Congrès de la nation argentine est un parlement bicaméral doté d'une chambre basse, la Chambre des députés, et d'une chambre haute, le Sénat.
La Chambre des députés est renouvelable par moitié. Ce sont donc la moitié des  de députés qui sont mis en jeu lors de cette élection, arrondis à l'inférieur à . Le Sénat est quant à lui renouvelable par tiers. Ce sont donc un tiers des  de sénateurs qui sont mis en jeu, soit .

Le droit de vote s'acquiert à , et est obligatoire pour tous les citoyens âgés de 18 à , à quelques exceptions près (maladie, éloignement des bureaux de vote). L'abstention est sanctionnée par une amende d'un montant variant entre 50 et 500 pesos argentins, et par l'interdiction d'occuper des fonctions ou des emplois publics pendant trois ans.

Chambre
La Chambre des députés () est dotée de  pourvus pour des mandats de quatre ans renouvelés par moitié tous les deux ans. Le système électoral mis en œuvre est celui du scrutin proportionnel plurinominal à la plus forte moyenne, selon la méthode d'Hondt dans 24 circonscriptions électorales plurinominales correspondants aux vingt-trois provinces de l'Argentine plus Buenos Aires. Le nombre de sièges par circonscription varie selon leur population. Un Seuil électoral de 4 % des suffrages exprimés au niveau national est requis pour que les listes de candidats puissent se voir attribuer des sièges.

Sénat
Le Sénat est quant à lui doté de  pourvus pour des mandats de six ans, renouvelables par tiers tous les deux ans dans les mêmes circonscriptions que les députés, selon une version modifiée du scrutin majoritaire à un tour. Dans ces vingt quatre circonscriptions plurinominales de trois sièges chacune, deux sièges sont attribués à la liste arrivant en tête, et le troisième à celle arrivée deuxième. Le sénat étant renouvelé par tiers, le scrutin n'a lieu que dans un tiers des circonscriptions.

Circonscriptions concernées

Résultats

À la Chambre

Au Sénat

Notes et références

2021
2021 en Argentine
Argentine
Politique en novembre 2021
Scrutin reporté en raison de la pandémie de Covid-19

redpajama_set_name: RedPajamaWikipedia


text:
US Navy sails 1,200 miles on algae biofuel
Newt Gingrich may mock algae as a source of clean fuel, but the U.S. Navy's got no problem with it. In fact, the Navy is extending – literally – its use of biofuels derived from the stuff.
Last November, a remotely controlled destroyer using a 50-50 blend of algae-derived, hydro-processed oil and a standard petroleum fuel made a 17-hour trek 150 or so miles up the California coast from San Diego to the Naval Surface Warfare Center Port Hueneme.
That was the Navy's largest-scale alt-fuel demo – until now. According to Solazyme, the U.S. Navy Frigate fleet ship USS Ford just sailed from its homeport in Everett, Wash., down to San Diego using 25,000 gallons of the company's Soladiesel blended in even proportions with F-76 military diesel.
Solazyme didn't say exactly how far the trip was, but charts from the National Oceanic and Atmospheric Administration [PDF] peg the distance from Seattle (about 30 miles south of Everett) to San Diego at 1,228 nautical miles.
The Navy has set a goal of deploying a "Great Green Fleet" powered entirely by alternative fuels by 2016, and of reaching 50 percent alternative energy use overall by 2020. The service has also tested alternative fuel in a yard patrol boat at the Naval Academy in Annapolis, Md., and in a landing craft utility off the Virginia coast.
South San Francisco-based Solazyme, which ferments algae to produce oil that can be refined into fuel, is one of two big players in the Navy's biofuels program. The other is Louisiana-based Dynamic Fuels, a Tyson Foods-Syntroleum joint venture that makes its fuel from used cooking oil and non-food-grade animal fats. Last December the Navy said it will pay $12 million to purchase a total of 450,000 gallons of biofuels from the companies to help power a carrier group during big maritime exercises this summer.
After November's remotely controlled biofuel test, the Navy reported "there was absolutely no difference, whatsoever, in the operation or performance of the ship" using the algae-derived fuel. Solazyme said that was the case on this longer voyage as well.
"Feedback from the ship's engineers was favorable; the crew reported that operational performance of the fuel system and gas turbine engines on the 50/50 blend was…comparable to operations on traditional petroleum F-76," Solazyme confirmed in a statement.
* Pete Danko, EarthTechling
Archos 101 G9 and 80 G9 Android tablets now shipping
US military maps out green battlefield goals


Westminster Tree Trust has been working with the residents of Gatliff Close in Pimlico to jointly fund the planting of this splendid crab apple tree (Malus magderbergensis) in the courtyard of the Close.
Westminster Tree Trust has been planting a run of chanticler pear trees on the south side of Kilburn Park Road as part of its programme to green N Westminster. 12 trees were planted in late 2015 with more expected to finish this particular planting scheme.
Westminster Tree Trust is working with the Council and local residents on two new planting schemes. One is in the Westmoreland Triangle part of Pimlico in the South of Westminster and continues the scheme in Gloucester Street planted at the end of last year. The other scheme is at an earlier stage and is intended to help green the part of North Westminster to the west of Maida Vale just south of the borough border with Brent. We look forward to working with local groups to develop these schemes. If you would like to know more, or to contribute, please go to the the "Support Us" tab at the top of this page which tells you how to donate or to get in touch.
Westminster Tree Trust has been planting trees in Gloucester Street in Pimlico. We planted 10 chanticler pear trees on the south side of Gloucester Street in late 2014 and the Council is trialling planting a similar number on the north side. The scheme was developed with the benefit of a legacy from Mr Maxim de Soissons who lived in Pimlico and the Trust intends to hold a tree planting ceremony in the late Spring.
In two or three years time, we hope the Gloucester Street trees will look like these trees planted earlier round the corner in Denbigh Street.
To mark the completion of the first phase of the North Westminster scheme, actor Edward Fox planted an Ermans Birch in Harrow Road on Friday 28 March. One of thirty trees planted with assistance from the Mayor's Street Tree initiative, Mr Fox was joined by Jamal Akay (from All Stars Boxing Gym) and children from Wilberforce School in the cemerony outside the Gym.
The Trust is now working with residents groups to develop a tree planting programme in North Westminster.
As part of London Tree Week, Marylebone locals celebrated the completion of W1W project in Marylebone and Fitzrovia with the planting of the 600th tree, a very distinctive Liqud Amber tree, on Great Portland Street. The inner city project aims to reduce the impactof heavy traffic and make the streets a more pleasant environment for everyone.
The Minister of State for Agriculture and Food, Mr David Heath MP, planted the tree with the help of children from All Souls and St Vincent's primary schools.
Local contributions raised are now well in excess of £90,000 pounds with match funding from the Westminster Tree Trust, Westminster City Council and support of the Big Tree Plant campaign.
Those present included, Mark Gazaleh, who has lead the initiative, local Councillor Jonathan Glanz, Michael Bolt of the Marylebone Association and trustees of Westminster Tree Trust including Councillor Ruth Bush.
The initiative was later recognised with two Re:Leaf awards for urban tree planting at London's City Hall.


text:
Rahola is a district in Tampere, Finland. The area is located on northern shore of Pyhäjärvi lake, south of the Tampere–Pori railway.

The area has been inhabited since medieval times. The climate on area sloping south to lakeside is favourable for agriculture, and there have been several manor houses. The area has been also an important transport hub, as the roads to Ylöjärvi and Nokia meet there. Railway to Pori was built 1895, and the motorway in 1964. The area become part of Tampere in 1937.

After the Second World War, allotment gardens were opened to former pastures of Rahola manor for inhabitants to grow vegetables. The use of these allotments soon developed to more recreational use, and flowers, strawberries and tomatoes replaced the root vegetables.

Rahola school covers classes from 0 to 9, and it has in total 690 pupils.
Rahola had its own shop from 1962 to 2017. During the busiest years, there were four shops, three banks, post office and pharmacy.

References

Districts of Tampere


text:
var request = require('request'),
url = require('url'),
path = require('path');

var HTTP_CODES = {
  400: "The operation could not be completed",
  401: "Not authenticated",
  403: "You are not authorized to perform this operation",
  404: "Not Found",
  409: "The operation could not be completed",
  422: "The operation was not valid",
  500: "The server did not respond correctly. Verify the configured Openshift Service is currently available and accessible",
  503: "The configured Openshift Service is currently unavailable"
};

var parseMessage = function(res, body) {
  // sample res
  // {
  //   "statusCode": 422
  // }
  //
  // sample body
  // {
  //   "status": "unprocessable_entity",
  //   "messages": [{
  //     "exit_code": 100,
  //     "field": "name",
  //     "index": null,
  //     "severity": "error",
  //     "text": "The supplied application name 'myapp' already exists"
  //   }]
  // }

  var messages = [];
  if (body && body.messages && body.messages instanceof Array && body.messages.length > 0) {
    // parse messages array from body
    body.messages.forEach(function (message) {
      messages.push(message.text);
    });
  } else {
    // use a more generic message based on the status code
    messages.push(HTTP_CODES[res.statusCode] || HTTP_CODES[500]);
  }

  return messages.join('. ') + ' (' + res.statusCode + ')';
};

module.exports = function(params, cb){
  var apiBase = 'broker/rest',
  fullPath = path.join(apiBase, params.url),
  authString = '',
  headers = {
    "User-Agent" : "rhcjs",
    "Content-Type" : "application/json"
  },
  target = this.target.replace(/http(s)?:\/\//, ''),
  fullUrl;

  // Yes, request allows basic authentication - but it doesn't send it through many 30* redirects
  if (this.username && this.password){
    authString = encodeURIComponent(this.username) + ':' + encodeURIComponent(this.password) + '@';
  }else if (this.token){
    headers['authorization'] = 'Bearer ' + this.token;
  }else{
    return cb('No auth method provided. Please provide username & password or bearer token');
  }

  try{
    fullUrl = url.resolve('https://' + authString + target, fullPath);
  }catch(err){
    return cb({message : "Error resolving URL string:" , error : err, fullPath : fullPath, target : target });
  }

  process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; // Avoids DEPTH_ZERO_SELF_SIGNED_CERT error for self-signed certs

  request({
    json : true,
    url : fullUrl,
    method : params.method || 'get',
    body : params.body,
    headers : headers
  }, function(err, response, body){
    if (err){
      return cb(err);
    }
    if (response.statusCode.toString()[0]!=='2'){
      var msg = parseMessage(response, body);
      return cb({
        responseBody: body,
        code: response.statusCode,
        error: msg,
        url: fullUrl,
        method: params.method,
        body: params.body
      });
    }
    if (typeof body === 'undefined'){
      // Some requests don't return a body
      return cb(null, {ok : true});
    }
    body = body.data || body;
    return cb(null, body);
  });
};


text:
DFB-Pokalsieger 2006 war der FC Bayern München. Im Endspiel im Olympiastadion Berlin konnten die Bayern am 29. April 2006 durch ein 1:0 gegen Eintracht Frankfurt den Titel verteidigen. Trotz dieser Niederlage konnte Frankfurt in der Saison 2006/2007 am UEFA-Cup teilnehmen, da die Münchener bereits für die Champions League qualifiziert waren. Frankfurt scheiterte aber als Gruppenletzter in der Gruppenphase.

Neben den Bundesligisten aus München, Frankfurt und Bielefeld erreichte mit dem Hamburger Pokalsieger FC St. Pauli auch ein Verein aus der drittklassigen Regionalliga Nord das Halbfinale. Der Millerntor-Club schaltete dabei mit Hertha BSC und Werder Bremen gleich zwei Erstligisten aus. Gegen die Berliner gelang St. Pauli im Achtelfinale das Kunststück, gleich mehrfach einen Rückstand aufzuholen.

Teilnehmende Mannschaften

Übersicht
Die jeweils obige Mannschaft besaß Heimrecht.

1 Sieg nach Verlängerung2 Sieg im Elfmeterschießen

1. Hauptrunde

|}

2. Hauptrunde

|}

Achtelfinale

|}

Viertelfinale

|}

Halbfinale

Die Halbfinalspiele fanden am 11. und 12. April 2006 statt.

|}

Finale

Die Siegermannschaft

Beste Torschützen
Nachfolgend sind die besten Torschützen des DFB-Pokals 2005/06 aufgeführt. Die Sortierung erfolgt nach Anzahl ihrer Treffer, bei gleicher Toranzahl alphabetisch.

Einzelnachweise

200506
Fußballsaison 2005/06


BEAUTIFUL HOME ON AN EXTRA WIDE LOT IN THE HEART OF LAKE VIEW. ENJOY PLENTIFUL NATURAL LIGHT IN YOUR OVER SIZED LIVING AND DINING SPACE WHICH OFFERS SUBSTANTIAL ROOM FOR LARGER HOME FURNISHINGS. HOME IS WIRED FOR SURROUND. SPOTLESS, GOURMET WHITE KITCHEN WITH GRANITE COUNTERS AND STAINLESS STEEL APPLIANCES. REFINISHED HARDWOOD FLOORING AND NEW CARPET IN BEDROOMS, 2017. ENJOY FAMED CHICAGO SUMMERS ON THE LARGE, PRIVATE, IVY-COVERED PATIO. INCREDIBLY UNIQUE AND FUNCTIONAL PRIVATE MUD ROOM WITH IN-UNIT LAUNDRY AS YOU COME IN FROM THE REAR PARKING. EXPANSIVE MASTER SUITE WITH DUAL CLOSETS. HOST PLENTY OF GUESTS FOR THE WEEKEND IN THE 2ND BEDROOM. WALK TO THE BELMONT RED LINE STOP, A MYRIAD OF SHOPPING AND DINING OPTIONS AND DON'T FORGET TO CATCH A CUBS GAME THIS SUMMER! 1 EXTERIOR PARKING SPACE INCLUDED IN PRICE. THIS IS A MUST SEE!
I am interested in 3132 N Seminary Avenue UNIT 1S, Chicago, IL 60657.


The dreaded hair shed is an inevitable downside to having long, luscious locks. Hair loss leads to clogged drains and furry floors. While it is totally normal, it's no wonder we find it so unappealing. Having to whip out the hoover every other day is a daunting task, to say the least. But, the fact of the matter is that we lose around 80 strands of hair every single day. It only becomes a real problem when we lose significantly more hair than we are able to grow back. This is often a sign of more serious health issues. Irregularities with our body are common contributors to excessive hair loss. Certain triggers can hinder our ability to encourage steady hair growth. In saying so, it is wise to be aware of some of them and how you can counter hair fall. In this article, Common Contributors to Hair Fall and How to Prevent It, we will outline a few of these uncompromising triggers and ways that you can start supporting stronger hair.
One of the primary reasons why women suffer from substantial hair fall is a Vitamin B12 deficiency. When we think of Vitamin B12, we tend to recall shots that combat lethargy and support energy levels. While Vitamin B12 is an energy enhancing nutrient and offers tremendous health benefits, it also promotes stronger hair. This is because the vitamin supports nutrient circulation around the body. It ensures that the hair follicles receive oxygen and minerals for proper growth and development. In doing so, it strengthens the integrity of the hair. Vitamin B12 deficiencies are especially apparent in vegans. This is due to the fact that Vitamin B12 can only be obtained from animal proteins. Products like eggs, fish, meat, and poultry are optimal sources of this essential vitamin. However, vegans may need to source it elsewhere. Searching for quality health information relating to Vitamin B12 on Authority Health may be your best bet.
Stress may seem like an unlikely contributor to hair loss but the fact is that stress leads to many health issues. The main reason for its ability to induce hair loss is that it raises androgen levels in the body. Androgen is a male hormone which causes the hair to fall out. Stress can also lead to several additional hair loss promoting functions. It can hinder your diet, interfere with your scalp, and negatively impact the digestive system. All of these effects can impede the hair's ability to grow properly.
Hormonal imbalances are major concerns as they lead to an array of discomforting health problems. One of the more significant and unappealing risks is hair loss. The hair growth cycle is directly influenced by hormones in the body. Much like stress causes androgen levels to rise, hormone imbalances trigger the activity of detrimental bodily processes. Your genes play a pivotal role in your hormones. As a result, hair loss may run in the family. For this reason, hormone balancing products or treatments may be ideal if you wish to retain long locks.
It's so important to be sure that you are using haircare products with quality ingredients that are free from parabens, silicone, and sulfates. Investing in quality haircare will ensure that you are protecting the health of your hair. The Iles Formula Haute Performance Shampoo and Conditioner is a benchmark choice. These high performing, antioxidant rich formulas work for all hair types. It's also important to be using a Mask on your hair as needed. The Iles haute performance Hair Mask with its selected raw ingredients make up a sumptuous cocktail for your hair and scalp to nourish hair and scalp and strengthen all hair types.
Complex carbs differ from simple carbs in many important ways. Complex carbs are much healthier and consuming portions of them can do wonders for your hair. This is because complex carbs provide the hair with the energy it needs to grow.
Protein is the primary component which supports the structural integrity of the hair. In saying so, it is increasingly important that you receive enough protein throughout the week. Besides supporting hair strength and prevent breakages, protein helps many essential bodily functions perform effectively.
Hair styling has a significant impact on the hair's condition. Top knots and other wacky hairstyles can put stress on the hair follicles. They can weaken them to the point where fall out occurs frequently. In saying so, it would be wise to opt for free flowing hair on a daily basis while saving the fun styles for occasions.
With a little more hair loss knowledge in mind and a few handy tips to prevent fall out, you can begin taking back control of your long, luscious locks!


text:
const Promise = require('bluebird');
const times = require('lodash/times');
const { CHALLENGE_TYPE_EMAIL } = require('../constants');

module.exports = function initFakeAccounts() {
  const { faker } = require('@faker-js/faker');

  const { config } = this;
  const accounts = times(103, () => ({
    id: faker.internet.email(),
    metadata: {
      firstName: faker.name.firstName(),
      lastName: faker.name.lastName(),
    },
    activate: true,
  }));

  const audience = config.jwt.defaultAudience;

  return Promise
    .map(accounts, (account) => {
      const opts = {
        params: {
          username: account.id,
          password: (Math.random() * 20).toFixed(20),
          audience,
          metadata: {
            firstName: account.metadata.firstName,
            lastName: account.metadata.lastName,
          },
          activate: true,
          challengeType: CHALLENGE_TYPE_EMAIL,
          skipPassword: false,
        },
      };

      return Promise
        .bind(this, ['register', opts])
        .spread(this.dispatch)
        .reflect();
    })
    .bind(this)
    .then(function reportStats(users) {
      const totalAccounts = users.length;
      const errors = [];
      let registered = 0;
      users.forEach((user) => {
        if (user.isFulfilled()) {
          registered += 1;
        } else {
          errors.push(user.reason());
        }
      });

      this.log.info(
        'Registered fake users %d/%d. Errors: %d',
        registered,
        totalAccounts,
        errors.length
      );

      errors.forEach((err) => {
        if (err.statusCode !== 403) {
          this.log.warn(err.stack);
        }
      });

      return null;
    });
};


text:
Where to Bird >
Strategically located at the south end of Cayuga Lake, Stewart Park is arguably the premier birding spot in the Ithaca area, and one of the best sites for finding birds in the entire Cayuga Lake Basin. From a birding standpoint, Stewart Park has it all--an expansive view of the lake to scan for ducks, geese, and other waterbirds; a convenient spot to look for migrant songbirds; and a patch of bottomland forest that hosts a nice collection of breeding birds.
The main attraction at Stewart Park is its extensive access to Cayuga Lake, stretching from the southeast corner of the lake westward to the mouth of Fall Creek. During the winter months, there can be huge concentrations of diving ducks at the south end of Cayuga Lake, often just north of the ice sheet that develops as temperatures drop. On the 2001 Ithaca Christmas Bird Count, an amazing 13,000+ Redhead were estimated to be in this area, along with 8,000 Canvasback. Smaller numbers of Greater Scaup and Lesser Scaup can usually be found in these massive Aythya flocks, and there are often a few dabbling ducks like American Wigeon, Gadwall, and Northern Pintail on the periphery of such congregations. In some winters, these huge rafts of ducks are absent from the Stewart Park area, but even then there are plenty of other birds to be seen. Scores of both Common Mergansers and Common Goldeneye can usually be found offshore from the ice edge, and there are always plenty of Canada Geese in the area. Careful scanning through the thousands of Canada Geese could yield a "Richardson's" Cackling Goose, a small goose that was recently split from the larger Canada Geese. It should be noted that while most species of waterfowl here are identifiable solely with binoculars, a good spotting scope can make watching ducks, geese, and other waterbirds at Stewart Park a much more enjoyable experience.
The ice edge at Stewart Park also hosts substantial numbers of gulls during the winter months, with Ring-billed Gull, Herring Gull, and Great Black-backed Gull predominating. Though hardly common, Lesser Black-backed Gull is being seen with increasing regularity, and a persistent observer is likely to also see at least one Iceland Gull or Glaucous Gull during the course of the winter. With the abundance of waterfowl and gulls at Stewart Park during the wintertime, it is only natural that birds of prey are also drawn to the area. Two of the true success stories of the Endangered Species Act--Bald Eagle and Peregrine Falcon--are now uncommon winter visitors to Stewart Park. They can sometimes be found standing on the ice edge, feeding on prey, or perched in one of the large dead trees along the mouth of Fall Creek.
With the arrival of warmer temperatures in mid to late March come the first spring migrants to Stewart Park: Green-winged Teal, Northern Pintail, American Wigeon, Ring-necked Duck, Hooded Merganser, and Wood Duck are all likely to be seen on the lake at this time, often with a few Tree Swallows flying overhead. Along the shoreline, American Pipits can sometimes be found working through the debris that accumulates as the lake thaws. The start of April brings more new species to the area, with Blue-winged Teal, Northern Shoveler, Bufflehead, and scaup joining the mix of migrant waterfowl on the water. In the air, an Osprey might be seen cruising over shallow water looking for fish, and a few Barn Swallows are likely to have joined the larger numbers of Tree Swallows. Bonaparte's Gulls also begin to make appearances at this time, but they usually don't linger long, stopping only briefly before resuming their northbound migration.
During the course of April, an incredible diversity of waterbirds can be seen at Stewart Park. In addition to the species listed above, Common Loon, Horned Grebe, Pied-billed Grebe, Double-crested Cormorant, Red-breasted Merganser, and Ruddy Duck are all birds that one can expect to see here during the month. Other species, such as Red-throated Loon, Red-necked Grebe, Long-tailed Duck, and White-winged Scoter, are all possibilities at Stewart Park during spring migration, but might not be seen every year. When these species do occur here, it is often only briefly, for a day or less. The same can be said for both Common Tern and Forster's Tern; in late April and early May, individuals of both species are occasionally found offshore from Stewart Park, resting on a buoy or piece of driftwood for a short time before continuing northward.
By late April, songbird migration is also starting to pick up, with warblers and other Neotropical migrants arriving in the Basin. While not generally thought of as a destination for finding landbirds, Stewart Park does offer the Swan Pen as a mini-hotspot for seeing migrants. Located by the western edge of the park, adjacent to the Cascadilla Boathouse, Fall Creek, and the lake, the Swan Pen is an artificial pond that formerly hosted a pair of Mute Swans. A small trail around the perimeter of the Swan Pen can be easily navigated in 5-10 minutes when not birding, but the walk can take significantly longer when good numbers of birds are present. This area seems to be a good spot for seeing particular migrant species, especially Palm Warbler, Northern Waterthrush, Blackpoll Warbler, Yellow Warbler, Yellow-rumped Warbler, Blue-gray Gnatcatcher, Warbling Vireo, and White-crowned Sparrow. Some of the Yellow Warblers stay and breed in the willows along the Swan Pen, and it appears that a pair of Eastern Kingbirds also nests in the area. After completing the walk around the Swan Pen, it is always worthwhile to look across Fall Creek and scan the dead trees along its edge; during migration, one of these snags might serve as a perch for a Merlin, Osprey, or Black-crowned Night-Heron. In the summer months, search the same area for Green Heron skulking along the water's edge.
The Swan Pen at Stewart Park.
Following Fall Creek upstream away from the Swan Pen, one will soon come to a green footbridge that crosses over a small lagoon and enters a tract of mature bottomland forest. This is the home of the Fuertes Bird Sanctuary, named after famed bird artist Louis Agassiz Fuertes following his untimely death in 1927. Fuertes was the first president of the Cayuga Bird Club, and it is the club that is responsible for the upkeep of the sanctuary. In recent years, birders have visited this area, also referred to as the Renwick Sanctuary, primarily to view nesting Great Horned Owls. This species begins breeding in January, and can be located in the Fuertes Sanctuary by scanning large cavities or the tops of broken-off trees for the head (or at least "horns") of an incubating owl.
The Fuertes Sanctuary is rarely birded during spring migration, but sightings of Ruby-crowned Kinglet, Blue-headed Vireo, and Palm Warbler during a single late April visit are suggestive of the potential to see migrants here. During the breeding season, the forest is home to a suite of breeding birds that includes Red-bellied Woodpecker, Great Crested Flycatcher, Warbling Vireo, Yellow-throated Vireo, Tufted Titmouse, Carolina Wren, Blue-gray Gnatcatcher, Wood Thrush, American Redstart, and Scarlet Tanager. The large sycamores and cotttonwoods in the sanctuary also provide nesting opportunities for a variety of cavity-nesting birds, ranging from Hooded Merganser to Pileated Woodpecker to European Starling. One of the drawbacks of birding in the Fuertes Sanctuary is that as a floodplain forest, it can sometimes be flooded during the springtime, rendering the trails inaccessible. And, as a fairly secluded area along the edge of a city park, the sanctuary has been reported to be the site of some unsavory or illegal human activities in the past. As a result, birders are encouraged to visit the sanctuary only during daylight hours.
Back in Stewart Park, the birding can be a bit slow during the summertime. This can be a good time to look (and listen) for one of the park's signature birds--Fish Crow. Although this species is sometimes found in other parts of Ithaca, it is most reliably found along the lake edge at Stewart Park. Listen for Fish Crow's nasal call to help distinguish it from the larger American Crow. Northern Mockingbird is another uncommon Basin breeder that can be found year-round at Stewart Park; listen for this more accomplished vocalist immediately upon entering the park from Rt. 13. When visiting Stewart Park during the summer months, also be sure to keep an eye out for rare visitors like Cattle Egret and Snowy Egret, both of which have occurred in the park in the past.
In October, migrant waterfowl begin to appear at Stewart Park again. All of the species listed as spring migrants above can also be expected during the fall. Three additional species--Brant, Surf Scoter, and Black Scoter--are much more likely to be seen at the south end of Cayuga Lake during fall migration. Even then, though, these species are not always easily observed. While Brant can sometimes be seen resting on the lake (or feeding on the grass at Stewart Park), a more common sight of this species is that of a shifting flock flying south over the lake, gradually gaining altitude to fly over Stewart Park, and continuing southward. Scoters, on the other hand, are usually found on the lake, and sometimes remain in the area for several days. However, they are often found far out on the lake, making identification to species difficult even with a spotting scope. A combination of persistence, a spotting scope, and good luck is usually needed to get satisfying looks at any of the three species of scoters at Stewart Park. These species, together with Long-tailed Duck and Red-necked Grebe, are often better seen from nearby East Shore Park.
In addition to hosting an excellent diversity of common birds, Stewart Park has been the site of some of the most exciting discoveries of rare birds in Cayuga Lake Basin history. The following rarities have all been seen at Stewart Park just since 2000: Little Gull (April 2000, May 2002, and Jan. 2003); Sabine's Gull (Oct. 2000); Laughing Gull (Dec. 2000 and Sept. 2002); Eared Grebe (April 2001); New York State's second record of Long-billed Murrelet (Dec. 2001), Northern Gannet (Dec. 2001 and Dec. 2003); Arctic Tern, Red Phalarope, Wilson's Storm-Petrel, and Parasitic Jaeger (all in Sept. 2003, following Hurricane Isabel); Greater White-fronted Goose (two in Nov. 2003); Audubon's Warbler (Oct. 2004); and the Basin's first-ever Cave Swallows (Nov. 2004). Standing at the south end of Cayuga Lake, there is the sense that almost any bird, whether common or rare, could be found in the Stewart Park area.
Although described in the Ithaca Lighthouse Jetty account, the Jetty Woods can also be visited during a trip to Stewart Park. To reach the Jetty Woods from the park, take the footbridge over the lagoon, into the Fuertes Sanctuary. Follow a trail along Fall Creek and then cross the creek on another footbridge. Being careful not to disturb any golfers present, walk westward along the perimeter of the Newman Golf Course until reaching the edge of the Jetty Woods.
The footbridge from Stewart Park to the Fuertes Sanctuary.
To reach Stewart Park:
From downtown Ithaca and points to the south, take Rt. 13 north to the "Stewart Park/Auburn" exit. At the exit ramp stop sign, turn left onto Rt. 34 (also called East Shore Drive). Almost immediately after passing under Rt. 13, turn left onto James Gibb Way. Then turn right onto Gardner Parkway, cross over the active railroad tracks, and proceed into Stewart Park. Once inside the park, turning to the right will bring a visitor to the east end of the park, while turning to the left eventually leads to the Swan Pen and the bridge to the Fuertes Sanctuary.
From the Laboratory of Ornithology and points to the east, take Rt. 13 west (and eventually south), eventually descending dramatically towards lake level. Near the base of the incline, look for the "Stewart Park/Auburn" exit. Take this exit, and after stopping at the end of the exit ramp, proceed straight ahead onto Gardner Parkway and into Stewart Park. Once inside the park, turning to the right will bring a visitor to the east end of the park, while turning to the left eventually leads to the Swan Pen and the bridge to the Fuertes Sanctuary.
Cornell students can reach Stewart Park by bus, bicycle, or foot (although it is a rather long walk from campus). The TCAT bus route servicing Stewart Park is Route 16. This route does not cover campus, though, so taking an additional bus would likely be necessary. Also, this bus route does not run on Sundays. To bike or walk from campus, the most direct route is to follow University Avenue downhill from West Campus. Go straight through the intersection with Stewart Avenue, and then go straight through the next intersection. Follow the road, now known as Lake Street, down the very steep Gun Hill, and then over Fall Creek (with Ithaca Falls visible on the right). Now known as East Shore Drive, the road continues past the Boynton Middle School and Ithaca High School and eventually passes under Rt. 13. Almost immediately after passing under Rt. 13, turn left onto James Gibb Way. Then turn right onto Gardner Parkway, cross over the active railroad tracks, and proceed into Stewart Park. Once inside the park, turning to the right will bring a visitor to the east end of the park, while turning to the left eventually leads to the Swan Pen and the bridge to the Fuertes Sanctuary.
Spring Summer Fall
***** **** * ***
Report for Stewart Park
Renwick Sanctuary


Tan and Marya Chuong love Vietnamese food but they don't always love how it's made and sold in the United States.
For Tan, who was born in Vietnam, the ingredients used at local Vietnamese restaurants aren't always healthful, and the decor can be cluttered and tacky. And for American-born Marya, who was introduced to the cuisine by her husband 17 years ago, Vietnamese restaurants and their long, often hard-to-decipher menus can be intimidating.
So in March, the Tierrasanta couple opened Cay Bistro, a quick-service restaurant in San Marcos that simplifies, localizes and modernizes traditional Vietnamese cuisine.
The 20-seat restaurant on Nordahl Road sells just a handful of dishes that can be customized, Chipotle-style, with a choice of protein and toppings. The decor is ultra-modern with clean lines; recipes include California ingredients like jalapeno peppers, avocado slices and fresh, local herbs; and first-timers can easily follow the restaurant's step-by-step ordering instructions and "Vietnamese food 101" tutorials online.
Cay Bistro is the second restaurant for the Chuongs, who got into the food business six years ago when they purchased the San Marcos Deli. Before that, they were working in very different fields.
Tan, 40, immigrated with his Chinese/Vietnamese family to San Diego in 1979 when he was 3 years old. In college, he earned a degree in biochemistry and worked in the scientific field for many years.
Marya, 37, has a degree in economics and business management and has worked in the data management, sales and website development.
In 2011, they decided to start their own business, and buying an existing delicatessen seemed an easy way to begin.
"We didn't have any prior background in food but it was something we could do together," Marya said.
Because of their corporate backgrounds, the Chuongs tried to avoid the pitfalls that often occur in a mom-and-pop business. They set up work procedures, staff training, consistent food preparation techniques and expanded the catering operation.
The deli flourished, and a few years ago they decided to open a second location. But when they visited shopping centers around San Marcos, they realized that most of them already had a sandwich shop.
"The market was saturated, so we went back to the drawing board and started looking for a concept that could be our niche. That's when we looked at Vietnamese food," she said.
Everything at Cay Bistro was developed by the Chuongs, from the recipes to the logos and website to the restaurant's interior design. Their goal was to deliver the vibrant flavors of Vietnamese cuisine in a fresh, modern and approachable way.
They settled on just a handful of traditional dishes: banh mi sandwiches, pho noodle soups, noodle bowls, rice plates and egg and spring rolls. The all-English menu offers meat options that include char-grilled steak, glazed pork belly, honey-glazed tofu, caramelized shrimp and more. Prices range from $7 to $8.50.
All items are made fresh, with no additives or MSG, which gave Tan such bad headaches that he gave up visiting Vietnamese restaurants several years ago. The name Cay (pronounced like "pie") is a Vietnamese root word for herbs and plants and also means spicy or flavorful.
The restaurant also serve Asian drinks like Thai iced tea with boba, Vietnamese iced coffee and coconut milk served with a straw in a fresh young coconut.
Since opening in mid-March, Cay Bistro has been a hit with the over-60 crowd in the seniors apartment complex across the street. The top-selling dish so far has been rice noodle bowl, a cold mixed green salad topped with rice vermicelli noodles, crushed peanuts and a housemade Vietnamese vinaigrette dressing.
The Chuongs said they're working on procedures to ensure consistency, and once they feel confident in their business model, they hope to open several more Cay Bistros around San Diego.
Where: Nordahl Marketplace, Suite 118, 740 Nordahl Road, San Marcos.


text:
From Middle Income to Poor: Downward Mobility Among Displaced Steelworkers by Allison Zippay
From Middle Income to Poor: Downward Mobility Among Displaced Steelworkers
Date added: 9.3.2015
FB2PDFEPUB
Allison Zippay charts the decline of displaced blue-collar workers, part of the fallout of the past decades dramatic economic shift from manufacturing to an expanded, service-based economy. She challenges the widely held assumption that theseMoreAllison Zippay charts the decline of displaced blue-collar workers, part of the fallout of the past decades dramatic economic shift from manufacturing to an expanded, service-based economy. She challenges the widely held assumption that these workers have been absorbed into the post-industrial economy and raises questions regarding the real nature of their occupational transition. Actually a case study of the Shenango Valley in western Pennsylvania, where an estimated 6,600 jobs were lost due to plant closings, From Middle Income to Poor is unique in its coverage of the vital issue of economic dislocation. Zeroing in on long-term unemployment and income loss, Zippay finds that many of the displaced workers remain unemployed or underemployed and have slipped in status from middle-income to poor. The volume uses data gathered from interviews to explore how persons with a history of steady blue-collar employment have coped with economic dislocation and downward lifestyle shifts, and in the process presents a path-breaking community portrait of industrial displacement. Early chapters focus on blue-collar workers in the 1980s and the economic and social dimensions of the manufacturing decline. They describe the Shenango Valley community setting, mill work, mill workers, and how the lifestyles of the local residents have been shaped by long-standing blue collar traditions. Later chapters investigate the changes in income and employment that prompted a downward slide and examine the processes of rebuilding. Chapter Seven cites incidences of depression and other emotional distress as well as changes in perception of self and community. The final chapter discusses the implications of thefindings and recommends actions that could improve the displaced workers social and economic well-being. Sociologists, policy analysts, social workers, and those in the fields of labor relations, social welfare, and social economics will find that this intense scrutiny of the Shenango Valley has far-reaching implications for the national economy in the 1990s and beyond. From Middle Income to Poor: Downward Mobility Among Displaced Steelworkers by Allison Zippay
Genetics Handbook - Help Me Understand Genetics
Sorceress Revealed
Basics of Winning Holdem Poker
Rolling in the Deep: Easy Piano
Knowledge of The Gods
Reading Skills: L-3


text:
Q: multiple random element from list in same time I want to get multiple random elements from list in same time, but need to be real random not every time same elements.
Second problem is : i want to get uniq element from the list, example if i get 08, this code need to be removed from list and get net random exclude 08 string.
this is my actual code :
    package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    // Won't work on the Playground since the time is frozen.
    rand.Seed(time.Now().Unix())
    reasons := []string{
        "01","02","03","04", "05", "06", "07", "08", "09", "10",
    }
    n := rand.Int() % len(reasons)
    n1 := rand.Int() % len(reasons)
    n2 := rand.Int() % len(reasons)
    fmt.Println("", reasons[n])
    fmt.Println("", reasons[n1])
    fmt.Println("", reasons[n2])
}

my output is this :
 07
 02
 06

every time return me same output, i want to be random and unique

A: To get a unique answer all you have to do is remove the existing answer from the slice. I have knocked something together which does that using a function. There are more efficient ways to do it, but this is simple to see what is happening.
func main() {
    rand.Seed(time.Now().Unix())
    reasons := []string{
        "01", "02", "03", "04", "05", "06", "07", "08", "09", "10",
    }

    n, reasons := getRandom(reasons)
    n1, reasons := getRandom(reasons)
    n2, reasons := getRandom(reasons)
    fmt.Println("", n)
    fmt.Println("", n1)
    fmt.Println("", n2)
}

func getRandom(reasons []string) (string, []string) {
    n := rand.Int() % len(reasons)
    switch n {
    case 0:
        return reasons[0], reasons[1:]
    case len(reasons) - 1:
        return reasons[n], reasons[:n]
    }
    newSlice := []string{}
    for i, item := range reasons {
        if i != n {
            newSlice = append(newSlice, item)
        }
    }
    return reasons[n], newSlice
}

redpajama_set_name: RedPajamaStackExchange


Turkey hunting is one of the trickiest forms of hunting, due to the intelligence of the bird, natural cautiousness, and the bird's highly developed senses. Due to the challenge, there's nothing quite like bagging that big old gobbler on a fresh spring morning. Calling is an essential technique when turkey hunting, and with the right strategy, the right types of calls and a working knowledge of the bird, you'll be ready for Thanksgiving (if a bit early) in no time.
When calling for turkey, keep in mind that no one type of call will work on every turkey. Different animals will simply respond better or worse to different calls, and getting a turkey in close enough for the kill is often a matter of trying different calls until the turkey hears something it likes. To this end, it pays to know how to call with more than one type of call, and to carry more than one in the field.
Use louder calls to start the process, and quieter calls once you think you have a fish on the hook, so to speak. Once you have located a turkey, switch to soft clucks, yelps and purrs.
Peg and pot calls (also known as the slate call) are a type of friction call. Simply hold the peg in one hand and the friction board in the other and and drag the peg across the board to produce sound. Use this same basic technique with wooden box calls. Another highly effective type of call is the push-pull pin type, some of which can be mounted on a gun for quick use with minimal movement. Friction calls the easiest type to learn how to make a realistic call sound with.
Air calls are good wet and windy weather calls, as wetness will affect the friction surface and therefore the call quality of friction calls. These are generally quieter calls, used best to get the turkey to take those last fateful steps into weapons range.
Tube calls are another type of call that is unaffected by weather, and can be very loud, making them a good backup for a friction type call. It requires movement, however, making it a subpar finishing caller.
Knowing your target is important in all hunting endeavors, and turkey hunting is no different. When a turkey is with hens it will be much less susceptible to calling, as it has something else to occupy its attention. If you suspect this, the best thing to do is to try and call the hens and hope the male will follow. Copy any sounds the hens are making. This will anger the other hens and bring them in looking for a fight, and with any luck the male will follow.
If a male is without a hen, trying to sound like a hen will attract him as well, if for a different reason. Besides your calls, use a hen wing to brush and flap against a nearby tree, simulating a hen entering or exiting a roost. It can also be effective to scratch nearby leaves with your hands to imitate a hen feeding.