text:
package ca.uhn.hapi.fhir.docs;

import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.context.support.ConceptValidationOptions;
import ca.uhn.fhir.context.support.DefaultProfileValidationSupport;
import ca.uhn.fhir.context.support.IValidationSupport;
import ca.uhn.fhir.context.support.ValidationSupportContext;
import ca.uhn.fhir.parser.IParser;
import ca.uhn.fhir.parser.StrictErrorHandler;
import ca.uhn.fhir.rest.client.api.IGenericClient;
import ca.uhn.fhir.rest.server.RestfulServer;
import ca.uhn.fhir.validation.FhirValidator;
import ca.uhn.fhir.validation.IValidatorModule;
import ca.uhn.fhir.validation.SchemaBaseValidator;
import ca.uhn.fhir.validation.SingleValidationMessage;
import ca.uhn.fhir.validation.ValidationResult;
import ca.uhn.fhir.validation.schematron.SchematronBaseValidator;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.filefilter.WildcardFileFilter;
import org.hl7.fhir.common.hapi.validation.support.CachingValidationSupport;
import org.hl7.fhir.common.hapi.validation.support.CommonCodeSystemsTerminologyService;
import org.hl7.fhir.common.hapi.validation.support.InMemoryTerminologyServerValidationSupport;
import org.hl7.fhir.common.hapi.validation.support.NpmPackageValidationSupport;
import org.hl7.fhir.common.hapi.validation.support.PrePopulatedValidationSupport;
import org.hl7.fhir.common.hapi.validation.support.RemoteTerminologyServiceValidationSupport;
import org.hl7.fhir.common.hapi.validation.support.SnapshotGeneratingValidationSupport;
import org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain;
import org.hl7.fhir.instance.model.api.IBaseResource;
import org.hl7.fhir.common.hapi.validation.validator.FhirInstanceValidator;
import org.hl7.fhir.r4.model.ContactPoint;
import org.hl7.fhir.r4.model.Observation;
import org.hl7.fhir.r4.model.OperationOutcome;
import org.hl7.fhir.r4.model.Patient;
import org.hl7.fhir.r4.model.StringType;
import org.hl7.fhir.r4.model.StructureDefinition;
import org.hl7.fhir.r4.model.ValueSet;

import javax.servlet.ServletException;
import java.io.File;
import java.io.FileReader;
import java.util.List;

@SuppressWarnings({"serial", "unused"})
public class ValidatorExamples {

   public void validationIntro() {
   // START SNIPPET: validationIntro
		FhirContext ctx = FhirContext.forR4();

		// Ask the context for a validator
		FhirValidator validator = ctx.newValidator();

		// Create a validation module and register it
		IValidatorModule module = new FhirInstanceValidator(ctx);
		validator.registerValidatorModule(module);

		// Pass a resource instance as input to be validated
		Patient resource = new Patient();
		resource.addName().setFamily("Simpson").addGiven("Homer");
		ValidationResult result = validator.validateWithResult(resource);

		// The input can also be a raw string (this mechanism can
		// potentially catch syntax issues that would have been missed
		// otherwise, since the HAPI FHIR Parser is forgiving about
		// its input.
		String resourceText = "<Patient.....>";
		ValidationResult result2 = validator.validateWithResult(resourceText);

		// The result object now contains the validation results
		for (SingleValidationMessage next : result.getMessages()) {
			System.out.println(next.getLocationString() + " " + next.getMessage());
		}
   // END SNIPPET: validationIntro
   }

   // START SNIPPET: serverValidation
   public class MyRestfulServer extends RestfulServer {

      @Override
      protected void initialize() throws ServletException {
         // ...Configure resource providers, etc...

         // Create a context, set the error handler and instruct
         // the server to use it
         FhirContext ctx = FhirContext.forR4();
         ctx.setParserErrorHandler(new StrictErrorHandler());
         setFhirContext(ctx);
      }

   }
   // END SNIPPET: serverValidation

   @SuppressWarnings("unused")
   public void enableValidation() {
      // START SNIPPET: clientValidation
      FhirContext ctx = FhirContext.forR4();

      ctx.setParserErrorHandler(new StrictErrorHandler());

      // This client will have strict parser validation enabled
      IGenericClient client = ctx.newRestfulGenericClient("http://hapi.fhir.org/baseR4");
      // END SNIPPET: clientValidation

   }

   public void parserValidation() {
      // START SNIPPET: parserValidation
      FhirContext ctx = FhirContext.forR4();

      // Create a parser and configure it to use the strict error handler
      IParser parser = ctx.newXmlParser();
      parser.setParserErrorHandler(new StrictErrorHandler());

      // This example resource is invalid, as Patient.active can not repeat
      String input = "<Patient><active value=\"true\"/><active value=\"false\"/></Patient>";

      // The following will throw a DataFormatException because of the StrictErrorHandler
      parser.parseResource(Patient.class, input);
      // END SNIPPET: parserValidation
   }

   public void validateResource() {
      // START SNIPPET: basicValidation
      // As always, you need a context
      FhirContext ctx = FhirContext.forR4();

      // Create and populate a new patient object
      Patient p = new Patient();
      p.addName().setFamily("Smith").addGiven("John").addGiven("Q");
      p.addIdentifier().setSystem("urn:foo:identifiers").setValue("12345");
      p.addTelecom().setSystem(ContactPoint.ContactPointSystem.PHONE).setValue("416 123-4567");

      // Request a validator and apply it
      FhirValidator val = ctx.newValidator();

      // Create the Schema/Schematron modules and register them. Note that
      // you might want to consider keeping these modules around as long-term
      // objects: they parse and then store schemas, which can be an expensive
      // operation.
      IValidatorModule module1 = new SchemaBaseValidator(ctx);
      IValidatorModule module2 = new SchematronBaseValidator(ctx);
      val.registerValidatorModule(module1);
      val.registerValidatorModule(module2);

      ValidationResult result = val.validateWithResult(p);
      if (result.isSuccessful()) {

         System.out.println("Validation passed");

      } else {
         // We failed validation!
         System.out.println("Validation failed");
      }

      // The result contains a list of "messages"
      List<SingleValidationMessage> messages = result.getMessages();
      for (SingleValidationMessage next : messages) {
         System.out.println("Message:");
         System.out.println(" * Location: " + next.getLocationString());
         System.out.println(" * Severity: " + next.getSeverity());
         System.out.println(" * Message : " + next.getMessage());
      }

      // You can also convert the results into an OperationOutcome resource
      OperationOutcome oo = (OperationOutcome) result.toOperationOutcome();
      String results = ctx.newXmlParser().setPrettyPrint(true).encodeResourceToString(oo);
      System.out.println(results);
      // END SNIPPET: basicValidation

   }

   public static void main(String[] args) throws Exception {
      instanceValidator();

   }

   private static void instanceValidator() throws Exception {
      // START SNIPPET: instanceValidator
      FhirContext ctx = FhirContext.forR4();

      // Create a validation support chain
		ValidationSupportChain validationSupportChain = new ValidationSupportChain(
			new DefaultProfileValidationSupport(ctx),
			new InMemoryTerminologyServerValidationSupport(ctx),
			new CommonCodeSystemsTerminologyService(ctx)
		);

      // Create a FhirInstanceValidator and register it to a validator
      FhirValidator validator = ctx.newValidator();
      FhirInstanceValidator instanceValidator = new FhirInstanceValidator(validationSupportChain);
      validator.registerValidatorModule(instanceValidator);

      /*
       * If you want, you can configure settings on the validator to adjust
       * its behaviour during validation
       */
      instanceValidator.setAnyExtensionsAllowed(true);

      /*
       * Let's create a resource to validate. This Observation has some fields
       * populated, but it is missing Observation.status, which is mandatory.
       */
      Observation obs = new Observation();
      obs.getCode().addCoding().setSystem("http://loinc.org").setCode("12345-6");
      obs.setValue(new StringType("This is a value"));

      // Validate
      ValidationResult result = validator.validateWithResult(obs);

      /*
       * Note: You can also explicitly declare a profile to validate against
       * using the block below.
       */
		// ValidationResult result = validator.validateWithResult(obs, new ValidationOptions().addProfile("http://myprofile.com"));

      // Do we have any errors or fatal errors?
      System.out.println(result.isSuccessful()); // false

      // Show the issues
      for (SingleValidationMessage next : result.getMessages()) {
         System.out.println(" Next issue " + next.getSeverity() + " - " + next.getLocationString() + " - " + next.getMessage());
      }
      // Prints:
      // Next issue ERROR - /f:Observation - Element '/f:Observation.status': minimum required = 1, but only found 0
      // Next issue WARNING - /f:Observation/f:code - Unable to validate code "12345-6" in code system "http://loinc.org"

      // You can also convert the result into an operation outcome if you
      // need to return one from a server
      OperationOutcome oo = (OperationOutcome) result.toOperationOutcome();
      // END SNIPPET: instanceValidator
   }

   private static void instanceValidatorCustom() throws Exception {
      // START SNIPPET: instanceValidatorCustom
      FhirContext ctx = FhirContext.forR4();

      // Create a FhirInstanceValidator and register it to a validator
      FhirValidator validator = ctx.newValidator();
      FhirInstanceValidator instanceValidator = new FhirInstanceValidator(ctx);
      validator.registerValidatorModule(instanceValidator);

		IValidationSupport valSupport = new IValidationSupport() {

			@Override
			public List<IBaseResource> fetchAllConformanceResources() {
				// TODO: implement (or return null if your implementation does not support this function)
				return null;
			}

			@Override
			public ValueSet fetchValueSet(String theSystem) {
				// TODO: implement (or return null if your implementation does not support this function)
				return null;
			}

			@Override
			public <T extends IBaseResource> T fetchResource(Class<T> theClass, String theUri) {
				// TODO: implement (or return null if your implementation does not support this function)
				return null;
			}

			@Override
			public StructureDefinition fetchStructureDefinition(String theUrl) {
				// TODO: implement (or return null if your implementation does not support this function)
				return null;
			}

			@Override
			public boolean isCodeSystemSupported(ValidationSupportContext theValidationSupportContext, String theSystem) {
				// TODO: implement (or return null if your implementation does not support this function)
				return false;
			}

			@Override
			public CodeValidationResult validateCode(ValidationSupportContext theValidationSupportContext, ConceptValidationOptions theOptions, String theCodeSystem, String theCode, String theDisplay, String theValueSetUrl) {
				// TODO: implement (or return null if your implementation does not support this function)
				return null;
			}

			@Override
			public LookupCodeResult lookupCode(ValidationSupportContext theValidationSupportContext, String theSystem, String theCode, String theDisplayLanguage) {
				// TODO: implement (or return null if your implementation does not support this function)
				return null;
			}

			@Override
			public FhirContext getFhirContext() {
				return ctx;
			}

		};

      /*
       * ValidationSupportChain strings multiple instances of IValidationSupport together. The
       * code below is useful because it means that when the validator wants to load a
       * StructureDefinition or a ValueSet, it will first use DefaultProfileValidationSupport,
       * which loads the default HL7 versions. Any StructureDefinitions which are not found in
       * the built-in set are delegated to your custom implementation.
       */
      ValidationSupportChain support = new ValidationSupportChain(new DefaultProfileValidationSupport(ctx), valSupport);
      instanceValidator.setValidationSupport(support);

      // END SNIPPET: instanceValidatorCustom
   }

   public void validateSupplyProfiles() {

   	StructureDefinition someStructureDefnition = null;
   	ValueSet someValueSet = null;
   	String input = null;

   	// START SNIPPET: validateSupplyProfiles
		FhirContext ctx = FhirContext.forR4();

		// Create a chain that will hold our modules
		ValidationSupportChain supportChain = new ValidationSupportChain();

		// DefaultProfileValidationSupport supplies base FHIR definitions. This is generally required
		// even if you are using custom profiles, since those profiles will derive from the base
		// definitions.
		DefaultProfileValidationSupport defaultSupport = new DefaultProfileValidationSupport(ctx);
		supportChain.addValidationSupport(defaultSupport);

		// This module supplies several code systems that are commonly used in validation
		supportChain.addValidationSupport(new CommonCodeSystemsTerminologyService(ctx));

		// This module implements terminology services for in-memory code validation
		supportChain.addValidationSupport(new InMemoryTerminologyServerValidationSupport(ctx));

		// Create a PrePopulatedValidationSupport which can be used to load custom definitions.
		// In this example we're loading two things, but in a real scenario we might
		// load many StructureDefinitions, ValueSets, CodeSystems, etc.
		PrePopulatedValidationSupport prePopulatedSupport = new PrePopulatedValidationSupport(ctx);
		prePopulatedSupport.addStructureDefinition(someStructureDefnition);
		prePopulatedSupport.addValueSet(someValueSet);

		// Add the custom definitions to the chain
		supportChain.addValidationSupport(prePopulatedSupport);

		// Wrap the chain in a cache to improve performance
		CachingValidationSupport cache = new CachingValidationSupport(supportChain);

		// Create a validator using the FhirInstanceValidator module. We can use this
		// validator to perform validation
		FhirInstanceValidator validatorModule = new FhirInstanceValidator(cache);
		FhirValidator validator = ctx.newValidator().registerValidatorModule(validatorModule);
		ValidationResult result = validator.validateWithResult(input);
		// END SNIPPET: validateSupplyProfiles

	}

	public void validateUsingRemoteTermServer() {

		StructureDefinition someStructureDefnition = null;
		ValueSet someValueSet = null;
		String input = null;

		// START SNIPPET: validateUsingRemoteTermSvr
		FhirContext ctx = FhirContext.forR4();

		// Create a chain that will hold our modules
		ValidationSupportChain supportChain = new ValidationSupportChain();

		// DefaultProfileValidationSupport supplies base FHIR definitions. This is generally required
		// even if you are using custom profiles, since those profiles will derive from the base
		// definitions.
		DefaultProfileValidationSupport defaultSupport = new DefaultProfileValidationSupport(ctx);
		supportChain.addValidationSupport(defaultSupport);

		// Create a module that uses a remote terminology service
		RemoteTerminologyServiceValidationSupport remoteTermSvc = new RemoteTerminologyServiceValidationSupport(ctx);
		remoteTermSvc.setBaseUrl("http://hapi.fhir.org/baseR4");
		supportChain.addValidationSupport(remoteTermSvc);

		// Wrap the chain in a cache to improve performance
		CachingValidationSupport cache = new CachingValidationSupport(supportChain);

		// Create a validator using the FhirInstanceValidator module. We can use this
		// validator to perform validation
		FhirInstanceValidator validatorModule = new FhirInstanceValidator(cache);
		FhirValidator validator = ctx.newValidator().registerValidatorModule(validatorModule);
		ValidationResult result = validator.validateWithResult(input);
		// END SNIPPET: validateUsingRemoteTermSvr

	}

   @SuppressWarnings("unused")
   private static void validateFiles() throws Exception {
      // START SNIPPET: validateFiles
      FhirContext ctx = FhirContext.forR4();

      // Create a validator and configure it
      FhirValidator validator = ctx.newValidator();
      validator.setValidateAgainstStandardSchema(true);
      validator.setValidateAgainstStandardSchematron(true);

      // Get a list of files in a given directory
      String[] fileList = new File("/home/some/dir").list(new WildcardFileFilter("*.txt"));
      for (String nextFile : fileList) {

         // For each file, load the contents into a string
         String nextFileContents = IOUtils.toString(new FileReader(nextFile));

         // Parse that string (this example assumes JSON encoding)
         IBaseResource resource = ctx.newJsonParser().parseResource(nextFileContents);

         // Apply the validation. This will throw an exception on the first
         // validation failure
         ValidationResult result = validator.validateWithResult(resource);
         if (result.isSuccessful() == false) {
            throw new Exception("We failed!");
         }

      }

      // END SNIPPET: validateFiles
   }

   @SuppressWarnings("unused")
   private static void npm() throws Exception {
      // START SNIPPET: npm
		// Create an NPM Package Support module and load one package in from
		// the classpath
		FhirContext ctx = FhirContext.forR4();
		NpmPackageValidationSupport npmPackageSupport = new NpmPackageValidationSupport(ctx);
		npmPackageSupport.loadPackageFromClasspath("classpath:package/UK.Core.r4-1.1.0.tgz");

		// Create a support chain including the NPM Package Support
		ValidationSupportChain validationSupportChain = new ValidationSupportChain(
			npmPackageSupport,
			new DefaultProfileValidationSupport(ctx),
			new CommonCodeSystemsTerminologyService(ctx),
			new InMemoryTerminologyServerValidationSupport(ctx),
			new SnapshotGeneratingValidationSupport(ctx)
		);
		CachingValidationSupport validationSupport = new CachingValidationSupport(validationSupportChain);

		// Create a validator. Note that for good performance you can create as many validator objects
		// as you like, but you should reuse the same validation support object in all of the,.
		FhirValidator validator = ctx.newValidator();
		FhirInstanceValidator instanceValidator = new FhirInstanceValidator(validationSupport);
		validator.registerValidatorModule(instanceValidator);

		// Create a test patient to validate
		Patient patient = new Patient();
		patient.getMeta().addProfile("https://fhir.nhs.uk/R4/StructureDefinition/UKCore-Patient");
		// System but not value set for NHS identifier (this should generate an error)
		patient.addIdentifier().setSystem("https://fhir.nhs.uk/Id/nhs-number");

		// Perform the validation
		ValidationResult outcome = validator.validateWithResult(patient);
      // END SNIPPET: npm
   }

}

redpajama_set_name: RedPajamaGithub


text:
Alsbet Luhhan
A similar entry appears in the Wheel of Time Companion confirming the information available in the main story arc.
Author: Estella Sharina Agadis
AHLS-beht LOOH-hahn
Alsbet Luhhan is married to the blacksmith in Emond's Field, Haral Luhhan. She is almost as strong as her husband, and her temper is a lot worse than his (TEotW, Ch. 2).
She wears her hair in a long, thick braid, as the rest of the adult females in the Two Rivers do. She has a round face (TSR, Ch. 33). Alsbet is the only female in the Two Rivers larger than Daise Congar, and she is not quite as big as her husband, though larger than most men (TSR, Ch. 30; Ch. 33). She is stoutly built, but she is also handsome (TGH, Ch. 23).
Alsbet is not a woman people cut off when she is talking (TSR, Ch. 33). Although she has a temper, she is a kind woman.
The first time we hear about Alsbet Luhhan is when Rand meets Mat in Emond's Field, and Mat tells Rand that Alsbet is mad because he had covered two of her dogs in flour and let them loose. They ran back home and caused Alsbet's kitchen to be filled with flour. According to Mat, Alsbet chased her husband and the dogs out of the house with a broom (TEotW, Ch. 2).
After Perrin and Egwene start traveling with Elyas Machera, Perrin begins having dreams about his home, and about the wolves. In one of the dreams he is sitting by Mistress Luhhan's table, and a wolf is watching him, guarding him (TEotW, Ch. 25).
One night, Perrin dreams about being back in Alsbet's kitchen again, and even though she never allows forge work to be taken into the house, he is sharpening his axe inside. In the dream, she just tends to her cooking, not even noticing the axe, nor the wolf that suddenly enters. As Perrin continues his dream, Ba'alzamon enters, but Alsbet just continues as usual, not seeing Ba'alzamon (TEotW, Ch. 27).
During Nynaeve's test for becoming an Accepted, she meets Marin al'Vere, who tells her that the new Wisdom, Malena Aylar, knocked down Alsbet Luhhan. Nynaeve can't believe what she's hearing, as Marin explains that Malena chased Alsbet around the Green with a stick, beating her all the way (TGH, Ch. 23).
When Perrin comes back to Emond's Field, he is told that the Whitecloaks have arrested Alsbet, Haral and all Mat's family except his father. Marin assures him that none of them are harmed, only held as prisoners (TSR, Ch. 29).
Perrin decides that he needs to go and have a look at the Whitecloak camp up at Watch Hill before he makes the final decision on how he is going to save the Cauthons and Luhhans (TSR, Ch. 30).
In the Whitecloak camp, Dain Bornhald thinks about how he might let Byar torture Haral Luhhan if neither of the Luhhans are willing to talk about Perrin. He believes that either the blacksmith himself will crack due to the torture, or that Alsbet will, because she will not be able to handle being forced to watch her husband getting hurt (TSR, Ch. 31).
When Perrin and his party are at the al'Seen place, there is talk about Darkfriends, and Perrin asks them if they really believe that the Whitecloaks arrested Haral, Alsbet, Natti Cauthon, and her daughters because they are not walking in the Light. No one admits to thinking along those lines (TSR, Ch. 33).
Strengthened by all the young men and boys who have joined the party, Perrin and his companions reach Watch Hill. Abell says that the Whitecloaks keeps their prisoners in a tent near the middle, with one man standing guard at either end of the tent. The prisoners are not allowed outside except one at a time, with a guard following them, even if they are taking a trip to the latrines (TSR, Ch. 33).
Perrin manages to get into the Whitecloak camp. He finds the tent and wakes up Haral, who then has to wake up the others. When they are out of the tent, Perrin gives Alsbet a Whitecloak cloak for her to wear, and she dons a helmet as well. Instead of sneaking out the same way they came in, they go to where the Whitecloaks are keeping their horses. Alsbet is the last one in the line (TSR, Ch. 33).
When they reach the horses it is a little difficult to get Alsbet to mount; both her husband and Perrin have to help her. After their escape, Alsbet tries to talk to Perrin, but he cuts her off, telling her that they haven't got the time for chatting. She is shocked, because she isn't used to people cutting her off. As Tam and Abell prepare to take the rescued prisoners to an abandoned farm they know of, Alsbet gives Perrin a very level look (TSR, Ch. 33).
When Perrin and his tiny army of young men come back from their Trolloc-hunting, Perrin is badly injured, and just as he is getting worse, Alsbet enters the inn together with Alanna Sedai and Marin. They have him carried to the kitchen table, and Perrin notices that Alsbet looks as if she's about to start crying, although she never cries. Caught in fantasies made by his fever, he believes that he is younger and is telling Mistrss Luhhan that he is allowed to become Master Luhhan's apprentice. Then he realizes that Alsbet is holding one of his wrists, and he doesn't understand anything. He then passes out (TSR, Ch. 43).
After the Tinkers have come to Emond's Field, Alsbet is among the people helping them to get settled in the village (TSR, Ch. 45).
When Perrin and Faile are wed, Alsbet is among those performing the ceremony (TSR, Ch. 53).
Alsbet is also one of the women who made the plan to bring the children of Emond's Field to safety if the Trollocs break through the lines made by the men in the final battle against the Trollocs. She is wearing the Whitecloak helmet for protection, as well as one of Haral's hammers (TSR, Ch. 56).
When Perrin says that he didn't treat Faile fairly by sending her off, Alsbet tells him to stop being silly, and that she can never abide it when he is acting silly. She says that they didn't expect him to do anything other than send Faile away (TSR, Ch. 56).
When Perrin meets Rand in Caemlyn after his long journey to the city, Rand wants to know how Alsbet reacted to Perrin being Lord of the Two Rivers. Perrin has to admit that Alsbet actually curtsies to him, and that she calls him Lord Perrin. Rand says that he'll have to see it to believe it (LoC, Ch. 45).
Alsbet is married to Haral Luhhan, the blacksmith. They are never mentioned to have any children together.
Perrin Aybara was once the apprentice of Master Luhhan, and because his family lived on a farm several hours away from Emond's Field, he went to live with the Luhhans when he became an apprentice.
Alsbet has smacked Perrin's bottom more often than his own mother has, during his days of childhood (LoC, Ch. 45).
Alsbet has a Tinker-mended pot she claims is better than new. Haral doesn't like that his wife is so fond of something the Tinkers have made (TEotW, Ch. 25).
She never allows anything that has to do with forge work to come into her house, and her husband even has to sharpen her knives outside (TEotW, Ch. 27).
Mistress Luhhan is a terrible rider. When she is riding, she is bouncing around, nearly falling off the horse (TSR, Ch. 33).
"...She's a bully, Nynaeve. She browbeats you into doing what she wants. She keeps at you, and keeps at you, until you're too tired to say no anymore. And worse. She knocked Alsbet Luhhan down." A picture flashed in Nynaeve's head of Alsbet Luhhan and her husband, Haral, the blacksmith. She was nearly as tall as him, and stoutly built, though handsome. "Alsbet's almost as strong as Haral. I can't believe...." (During Nynaeve's Accepted test, she is talking to Marin al'Vere; The Great Hunt, Chapter 23)
"The arrowhead truly did not seem to hurt as much as it had, but he ached all over. Loial was carrying him somewhere, bending through doorways. There was Mistress Luhhan, biting her lip, eyes squinched as if about to cry. He wondered why. She never cried. Mistress al'Vere looked worried, too. 'Mistress Luhhan,' he murmured, 'mother says I can come be apprenticed to Master Luhhan.' No. That was a long time ago. That was.... What was? He could not seem to remember." (Perrin as he is about to die of an injury; The Shadow Rising, Chapter 43)
"Don't be silly, Perrin," Alsbet said, voice emphatic but round face smiling warmly. "I can never abide it when you're silly. Do you think we would expect you to do any different?" (Just as the final battle toward the Trollocs is about to start. Perrin is asking them to understand why he sent Faile away; The Shadow Rising, Chapter 56)
Retrieved from "http://sandbox.tarvalon.net/index.php?title=Alsbet_Luhhan&oldid=136007"
Articles with Companion References
Minor Supporting Characters
Emond's Fielders

redpajama_set_name: RedPajamaCommonCrawl


Manufacturer of do-it-yourself aluminum railing kits that offer distinctive, durable, long lasting beauty.
Century Aluminum Railings is a division of CenDek Railings Ltd. located in Summerland, British Columbia, Canada. Our roots were planted in the building industry over 36 years ago. Since our humble beginnings we have grown to be an industry recognized leader in manufacturing quality products for customers in both the United States and Canada. Our success has been built on a long standing history of providing top quality railing systems to the do-it-yourself (DIY) homeowner, professional contractor and large scale commercial developers. All along we have never forgotten the reason people chose our product – Premium product at competitive prices. Century Aluminum Railings operate an integrated head office and manufacturing plant where state of the art and environmentally friendly processes allow us to deliver a superior product – always. Available throughout the U.S. Pacific Northwest and coast to coast in Canada, try it for yourself and see how easy it is to make your project a reality. Our team of experts are here to help if you need it. We are always just a phone call away!


Why project management is important?
· Understand why project management is becoming powerful and popular practice in business.
· Construct a Work Breakdown Structure, Gantt Chart and Network diagram for a project.
· Understand different concepts of project's success.
· Identify the key roles and traits of effective project leader.
· Apply common forms of cost estimation for project work, including ballpark estimates (top-down) and definitive (bottom-up) estimates.
Project management has become central to operations in industries as diverse as construction and information technology, architecture and hospitality, and engineering and new product development. Projects are one of the principal means by which we change our world. Whether the goal is to split the atom, tunnel under the English Channel, introduce Windows 9, or plan the next Summer Olympic Games, the means through which to achieve these challenges remains the same: project management. Project management has become one of the most popular tools for organizations, achieve technological breakthroughs, streamline new product development, and more robustly manage the challenges arising from the business environment. Project management has become a critical component of success business operations in worldwide organizations.


Inshore lifeboat launched at 1635 to 8 Mtr Cruiser with damaged propeller near M2 Motorway Bridge, River Medway, 2 persons on board. ILB on scene at 1720, casualty craft taken under tow for Chatham Marina, on route, the passenger vessel "Jacob Marley" kindly offered to take over the tow as they were also heading for the marina. ILB released at 1750, returning to station at 1825. Wstly 3/4.


If you are hungry for something sweet that isn't a frozen dessert (which with the cold weather right now who isn't?) downtown Charlottesville has several places that we recommend. There's nothing like a little something mid-afternoon or mid-morning with a cup of coffee or tea. Our favorite places – in no particular order – are Paradox Pastry, Moon Maiden's Delight, Patisserie Torres and The Pie Chest. Oops, that's 4, which means we couldn't narrow it down to three.
shop opened last summer (warm days!) offering up high quality pastries, savory tarts and sandwiches, salads and soups. See their Instagram page for photos of their offerings. Serge Torres is the pastry chef at the Fleurie restaurant across the walkway and has an impressive pastry background. Since we were in the mood for sweets we selected two different ones to take home and enjoy. Not sure that YUM does it justice but this is a spot that we will be visiting whenever we are downtown.
Paradox Pastry – a perennial favorite that we have talked about before. You need to check out their Facebook page or Instagram page to see all the wonderful items they make. Be prepared as you will start drooling. The day we were there the Blueberry Almond Tart and the Pecan Tart grabbed our attention as soon as we walked in the door. Of course we then had to look at everything that was in and on top of the display case but we stuck to our guns and walked out with the tarts.
savory pies in wedges or as hand pies. Normally they have gluten-free or vegan options available but not the day we were there. Again we were going for sweet so our choices to have with our afternoon tea were Three Citrus Pie and Chocolate Hazelnut Pie (although we've had several of their savory hand pies – can attest that they are delicious). Both were incredibly good – the fillings melted in your mouth. I must admit that we split the pies and shared one in the afternoon and one for dessert in the evening – on the same day. Talk about treating yourself well! Check out their Instagram page for the latest offerings.
foods in our diet recently and were intrigued when we heard about this pastry shop as that is all that they make and sell. We got there mid-afternoon and the display case was sparse. They did have several different items for sale – cookies, bars, pies and tarts. We selected the Blueberry Raspberry Bar – a delicious berry filling between cookie-oat crusts (probably not the best description for it). WOW! If you are gluten-free and/or plant-based you must check Moon Maiden's Delights out.
Unfortunately (or is it fortunately?) we weren't able to visit our full list of pastry shops yet. Next on our list to try is Petite Marie Bette. We love Marie Bette Cafe so we are anticipating enjoying their new shop downtown.
Have a wonderful time trying the downtown pastry shops.
This entry was posted in Charlottesville, Local Foods, Restaurants by Foxfield Inn. Bookmark the permalink.


text:
Home / On Sports / Praying for Bills announcer John Murphy to author a comeback like Damar Hamlin's
Praying for Bills announcer John Murphy to author a comeback like Damar Hamlin's
By: Scott Pitoniak January 10, 2023
It was my job to be a writing sherpa. I needed to guide us up the metaphorical mountain and through the manuscript like I had done in previous collaborations with rock star Lou Gramm, World Series hero Johnny Antonelli, and Buffalo Bills Wall-of-Famer Steve Tasker. I needed to keep us on track in order to meet this summer's publication deadline for John Murphy's book about his wonderful Bills broadcasting career and life.
While sitting in Murph's comfy, cozy, living room numerous times since March, I would play word association with him, asking him to reflect on a particular player, coach, or game. Invariably, we would wind up getting side-tracked the way old friends often do and start laughing or becoming emotional about some moment we had witnessed while covering Western New York's beloved, beleaguered National Football League team.
The conversations and subsequent editing sessions were great fun; enjoyable trips down memory lane that gave us an opportunity to rekindle a friendship that began in 1985 – my first year covering the team for the Rochester Democrat and Chronicle, and Murph's second year as Van Miller's sidekick on Bills radio broadcasts. A few months ago, we submitted the as-told-to manuscript, and the publisher loved it. The only thing left to do is provide the final chapter about this season once it ends.
I'm hoping that chapter winds up being spectacular and inspiring. I'm hoping it is capped by Murph shouting into the microphone the words the Voice of the Bills has yearned to say since attending his first game on January 1, 1967, at old War Memorial Stadium.
"The Buffalo Bills are Super Bowl champions!"
Those words would put the exclamation point on one of the most challenging stretches in the history of Buffalo, the Bills, and John Murphy.
Sadly, Murph's family announced last week that he had suffered a stroke. That unnerving news came just days after the world witnessed the shocking scene of Bills safety Damar Hamlin almost dying on the field in Cincinnati after suffering cardiac arrest during a nationally televised Monday night game. These terrible events were a continuation of a taxing, occasionally tragic nine-month span that has seen Buffalo endure the racist mass shooting that killed 10 innocent people, two cataclysmic snowstorms (including one that resulted in 44 deaths) and a house fire in which five children perished.
Talk about piling on.
The team that's been our region's connective tissue has endured its share of adversity, too. In addition to the Hamlin and Murphy challenges, the Bills have been forced to deal with co-owner Kim Pegula's serious health issues, as well as a spate of injuries that threatened to de-rail the team's Super Bowl run. As a result of the "Snovember" storm, the Bills were forced to move a home game to a neutral site and play three games in just 12 days. Through it all, a town and a team known for its tenacity, togetherness, and resiliency has motored on. One step, one shovelful at a time.
As we've seen with the Damar Hamilin story, triumph and beauty occasionally sprout from tragedy, like crocuses through snow. Heroic, quick-thinking, calm-under-immense-pressure first responders helped save Damar's life in the precious seconds and minutes following his collapse. To see him progress this past week has been so inspiring and such a relief. That first question of his – "Did we win?" – following his awakening from sedation, and the doctor's "You won the game of life" response resonated deeply.
And so, too, has the kindness and support of people, not only from Buffalo, but throughout the world. In the aftermath of this near-death experience came an outpouring of love. From the widespread jerseys and signs bearing Hamlin's No. 3, to the nearly $10 million dollars that have poured into Damar's charitable foundation, we've been reminded that goodness still exists; that the better angels of our nature can prevail.
It all came to a head Sunday at Highmark Stadium in arguably the most emotional game in Bills history. On the team's first play since the one that took down Damar, Nyheim Hines ran the opening kickoff back 96 yards for a touchdown. "I can't remember a play that touched me like that, I don't think, in my life,'' emotionally wrought Bills quarterback Josh Allen said afterward. "… it was just spiritual, and I was going around to my teammates saying, 'God is real.' ''
Whether you believe in God or not, it felt divine. And it marked the first time in three years and three months that a Bills player had returned a kickoff for a touchdown. Once again, the number three came into play: Damar's number. Hines would repeat the feat later in the game, this time going 101 yards as the Bills capped a 13-3 regular season with a 35-23 victory against New England.
As I watched this unfold from my living room, it was difficult not to get choked up. I couldn't help but think about Murph, and how I wish he were there, describing this incredible scene.
One thing that struck me during my book conversations with him is how he is Buffalo, through and through. He had several opportunities to leave for bigger markets, but it was never a true consideration because this is his forever home. We talk a lot in the book about how resilient Buffalonians are; how they slough off hardship and criticism, pick themselves up, and carry on. And we talk about how they repeatedly live up to their slogan, "The City of Good Neighbors."
This was underscored again in the aftermath of the shootings, the storms, and Damar's near-death experience. "If you get a chance to show some love today, then do it,'' Damar wrote in a tweet that sums up his life's philosophy. "It won't cost you nothing."
There has been an outpouring of "Buffa-love" for kind-hearted Murph, his loving wife, Mary, and their remarkable family in recent days, and I'm hoping that continues as he makes progress. Damar's story reminded us that miracles do happen. So, here's hoping and praying for another one.
Get well, Murph, and keep fighting. There's another chapter to write, another comeback to chronicle, my friend, and I believe it is going to be amazing – just like you.
Best-selling author and nationally honored journalist Scott Pitoniak is the Rochester Business Journal's sports columnist.
8:14 am Tue, January 10, 2023 Rochester Business Journal
Scott Pitoniak
After laying another post-season egg, Bills have plenty of work to do
Like Buffalo Bills survivor Damar Hamlin, a local coaching icon gets second shot at life
We're all hoping Damar Hamlin makes a miraculous recovery
Thanks Scott. Beautifully said… as always.
When it comes to the best opportunities for commercial real estate in the Rochester region in the next few years, ...
NextCorps' Embark Accelerator positions Rochester as no-code software development hub
In its first year, Nextcorps' Embark — a business accelerator program that fosters the startup of viable software companies — ...
Best Places to Work For DEI honorees announced
The Rochester Business Journal has announced the honorees for the inaugural Best Places to Work For DEI awards. This regional ...
St. John Fisher University will begin offering a reimagined curriculum delivered in a hybrid format later this year for its ...
Saying Rochester has been short-changed for far too long, the area's state legislative contingent says it plans to push New ...


text:
Bracia Łopieńscy – istniejąca w Warszawie od 1862 roku firma rodzinna z siedzibą przy ul. Hożej 55, specjalizująca się w produkcji wyrobów z brązu, srebra i metali szlachetnych. Wyroby przedsiębiorstwa Bracia Łopieńscy w okresie międzywojennym uznawane były za jedne z najlepszych na polskim rynku, czego potwierdzeniem były uzyskane nagrody na wystawach w kraju i za granicą, m.in. w 1894 we Lwowie, w 1929 w Poznaniu i w 1925 na Wystawie światowej w Paryżu.

Ważną częścią działalności firmy było odlewnictwo rzeźb, medali i pomników. Projektantem wielu wyrobów firmy był malarz Jan Strzałecki, swoje dzieła odlewali tam także m.in. Xawery Dunikowski, Cyprian Godebski, Henryk Glicenstein, Stanisław Jackowski, Antoni Kurzawa, Konstanty Laszczka, Antoni Madeyski, Czesław Makowski, Ludwika Nitschowa, Andrzej Pruszyński, Jan Raszka, Pius Weloński i Edward Wittig. Po II wojnie światowej w zakładzie braci Łopieńskich odtwarzano m.in. zniszczone pomniki Warszawy.

Tradycje przedsiębiorstwa kontynuuje Pracownia Sztuki Dekoracyjnej d. Bracia Łopieńscy przy ul. Poznańskiej 24.

Historia
Początki przedsiębiorstwa sięgają 1862 roku, kiedy to Jan Łopieński założył w Warszawie pracownię brązowniczą, cyzelerską i odlewniczą. Przedsiębiorstwo specjalizowało się w wyrobie produktów ze srebra, m.in. sreber sakralnych, cyboriów, puszek liturgicznych, kielichów, świeczników i kandelabrów. Łopieński, zdolny artysta kształcony w Krakowie, Wiedniu i Paryżu, zdobył kontrakty na wykonanie dekoracji z brązu, m.in. dla warszawskiego Pałacu Kronenberga, a za kutą balustradę w stylu Ludwika XVI dla Pałacu hrabiego Zawiszy przy Bielańskiej otrzymał w 1879 srebrny medal na wystawie w Paryżu. Początkowo pracownia mieściła się przy Nowym Świecie, jednak wkrótce została przeniesiona do domu przy ul. Ordynackiej 3, gdzie działała przez kilkadziesiąt lat. W 1880 firma zbankrutowała, a Jan Łopieński zatrudnił się w Zakładzie Platerniczym Norblinów.

Cztery lata później, w 1884, firmę reaktywowali synowie Jana: Grzegorz zajął się techniczną i artystyczną stroną przedsięwzięcia, a Feliks finansami. Początkowo odtworzona firma działała pod nazwą "Fabryka Wyrobów Bronzowych G. Łopieński – Warszawa", jednak stosunkowo szybko nazwę zmieniono na "Bracia Łopieńscy". W 1900 roku siedziba została przeniesiona do nowego kompleksu fabrycznego przy Hożej. W 1912 Łopieńscy zbudowali tam kolejną halę produkcyjną, wyposażoną m.in. w sprowadzony z Wielkiej Brytanii piec systemu Morgana o pojemności do 300 kilogramów oraz sześciotonową suwnicę. Firma zatrudniała około 60 osób, a obroty firmy rosły systematycznie: w 1890 wyniosły 8 tysięcy rubli, w 1906 było to 45 tysięcy rubli.

Magazyn wystawowy firmy początkowo mieścił się w pałacu Hołowczyca przy Nowym Świecie 35, następnie aż do wybuchu II wojny światowej działał w kordegardzie pałacu Potockich przy Krakowskim Przedmieściu 15.

W początkach XX wieku w Warszawie działało około 140 firm zajmujących się produkcją wyrobów z brązu, od okuć i elementów budowlanych, przez przedmioty codziennego użytku, aż po odlewy artystyczne. Mimo sporej konkurencji, zakład Łopieńskich pozostał największą tego typu firmą w przedwojennej Warszawie, cieszył się także największą renomą.

W 1950 firma została upaństwowiona i przekształcona w spółdzielnię "Brąz Dekoracyjny". W tym czasie trwały prace nad odtworzeniem pomnika Fryderyka Chopina. Tadeusza Łopieńskiego zatrudniono w spółdzielni na stanowisku kierownika artystycznego i technicznego, a Władysława Łopieńskiego w cyzelarni. Po ukończeniu odlewania monumentu obydwu zwolniono z pracy z dożywotnim zakazem wykonywania zawodu.

Po październiku 1956 Tadeusz Łopieński uzyskał jednak zgodę władz na otwarcie niewielkiej Pracowni Metalowej Sztuki Zdobniczej d. Bracia Łopieńscy. Firma mieściła się najpierw w suterenie przy ul. Nowogrodzkiej 12, a później przy ul. Poznańskiej 24. Obecnie prowadzi ją córka Tadeusza, Anna Łopieńska-Lipczyk, i jej mąż Wojciech Lipczyk. Pracownia wpisana została na listę Warszawskich Historycznych Pracowni Artystycznych.

W 2021 roku w magazynie na Pradze-Północ odnaleziono oryginalne gipsowe matryce wykorzystywane do produkcji form dla przygotowywanych przez przedsiębiorstwo odlewów z brązu.

Wystawy i monografie
Wyrobom użytkowym i odlewom artystycznym z wytwórni braci Łopieńskich poświęcono kilka wystaw monograficznych. W 1978 wystawę przeglądową dzieł z warsztatu Łopieńskich zorganizowały wspólnie warszawskie Muzeum Woli i Muzeum Rzemiosł Artystycznych i Precyzyjnych.

W 1982 nakładem Państwowego Wydawnictwa Naukowego ukazała się monografia autorstwa Tadeusza Łopieńskiego na temat sztuki brązowniczej od zarania dziejów aż po czasy współczesne. Jej tytuł, Okruchy brązu, posłużył w 1994 za tytuł kolejnej wystawy przeglądowej, tym razem organizowanej przez Muzeum Sztuki w Łodzi w zabytkowej willi Edwarda Herbsta.

W 2010 podobną wystawę zorganizowało Muzeum Okręgowe w Koninie. Zgromadzono na niej blisko 200 obiektów pochodzących z kolekcji m.in. rodziny Łopieńskich, a także Muzeum Narodowego w Warszawie, w Krakowie i Muzeum Narodowego w Poznaniu, oraz Muzeum Historycznego m. st. Warszawy, Muzeum Książąt Lubomirskich i Zakładu Narodowego im. Ossolińskich. Wystawie towarzyszyła publikacja książkowej monografii firmy pod tytułem Tradycje prawdziwe – Łopieńscy.

W 2013 do tematu po 35 latach powróciło Muzeum Woli, w którym między lipcem a listopadem można było oglądać wystawę czasową pod tytułem Bracia Łopieńscy – tytani warszawskiego brązownictwa. Z kolei w 2022 wystawę 160 lat firmy Bracia Łopieńscy zorganizowało Biuro Stołecznego Konserwatora Zabytków.

Źródła

Przypisy

Bibliografia

Linki zewnętrzne
 Strona internetowa Pracowni Sztuki Dekoracyjnej d. Bracia Łopieńscy
 Strona internetowa Fabryka Wyrobów z Brązu i Srebra Bracia Łopieńscy (2010)

Przedsiębiorstwa w Warszawie
Przemysł w Warszawie
Zakłady przemysłowe w Królestwie Kongresowym

redpajama_set_name: RedPajamaWikipedia


text:
Q: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1 for Pig Latin I am trying to make a program where the program translates on text file into pig latin. When I run it it says Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1. Could you help me fix it. I will show you that part of the code that is incorrect.
public static void piglatenizeFile(String fileNameIn, String fileNameOut)
   {
      Scanner infile = null;
      String g = "";
      String output = "";
      String eachLetter = "";
      int index= -1;
      String vowels = "aeiouAEIOU";
      try
      {
         infile = new Scanner(new File(fileNameIn));
      }
      catch(IOException e)
      {
         System.out.println("oops");
         System.exit(0);
      }

      PrintWriter outfile = null;
      try
      {
         outfile = new PrintWriter(new FileWriter(fileNameOut));
      }
      catch(IOException e)
      {
         System.out.println("File not created");
         System.exit(0);
      }
      while(infile.hasNext()){// while txt has next line
         String sentence = infile.nextLine();// looks at next line
         String[] word = sentence.split(" ");//splits sentence to array of words
         for(int i=0;i<word.length;i++){//goes through every word in the sentence
            g =word[i].replaceAll("[\\p{Punct}]+", "");// replaces all punctuation
            for(int t=0;t<g.length();t++){// goes through every letter in each word
               eachLetter = g.substring(t,t+1);// eachLetter= each letter in noPunct
               if(eachLetter == vowels){
                  index = t;
                  t = g.length();
               }
            }
            output = g.substring(index)+ g.substring(0,index)+"ay";//ERROR
            outfile.print(output+" ");
         }
         outfile.print("\n");
      }

      outfile.close();
      infile.close();
   }
}

A: In java when you use == on strings that's look on the stringpool(https://www.journaldev.com/797/what-is-java-string-pool) so               if(eachLetter == vowels){ it's always false so index will always stay at -1, as JustAnotherDeveloper say use equals and your if condition will be true sometime

redpajama_set_name: RedPajamaStackExchange


Around the Office - October 2014 | Rocco & Associates Wealth Management, Inc.
Would you call your financial advisor before you buy a house?
We would like to remind all our clients that we strive to be more than just your wealth managers, but your life managers. Our job is to not only manage your investments, but provide financial advice for all your major financial decisions. If you are looking to buy a house, buy or lease a car, file you taxes, or have just hit a financial milestone, we are here to advise you on what the best course of action should be given your personal financial situation. We have also allied ourselves with a diverse network of financial professionals who we can refer you to should your circumstance require additional expertise. Let us be your financial concierge and together we can take your financial plan to the next level.
This Thanksgiving season we are excited to announce that we will be hosting our first annual turkey drive! For every pound of turkey you donate this year, we will donate $1 to the Connecticut Food Bank, an organization dedicated to making sure everyone in Connecticut has access to the food they need year round. If you are donating a turkey this year, please call or email Liz Ward (203.255.6022, [email protected]) with the details and we will make the donation. This year make your Thanksgiving donation count for more than just one meal!
We are excited to announce that we are enhancing our business by joining the firm, Strategic Wealth Advisors Group, Inc.1 This change will neither affect our current relationship with LPL Financial, nor does it mean that we are no longer the independent firm that provides that level of service that you have come to expect. This affiliation allows us to remain independent while expanding the resources we have at our disposal, giving us increased flexibility and greater ability to assist you, our clients. If you have any questions about this exciting news and how it impacts you directly, do not hesitate to reach out!
They say if you choose a job that you love, you will never have to work another day in your life. I think about this often here at Rocco & Associates. For me personally, having the opportunity to work with both individuals and companies to help them pursue their financial goals is a very rewarding feeling. Financial markets and solutions can be complicated and often difficult for someone not in the business to fully understand. Being able to educate our clients so that they can make the tough financial decisions and learn through our advice and guidance is extremely gratifying. Nothing compares to the feeling of knowing that I have assisted clients and businesses with a situation that prior to working with myself and the firm, they were struggling with. Providing clarity on a host of financial matters is what we do at Rocco & Associates and I feel fortunate to be a contributing member of the team.
1 Strategic Wealth Advisors Group, Inc. is not affiliated with LPL Financial.


text:
EnoughSaid
@EnoughSaid
EnoughSaid Follow
Latest posts made by EnoughSaid
RE: Veteran Infantry
@CWO:
That's correct. New ("green") soldiers thrown into combat are initially not very effective. As they gain experience, and learn how to react correctly to which situations, they become more confident and eventually reach peak effectiveness. With continuous exposure to combat, that effectiveness gradually declines. Kept in combat for too long, to the point where they develop things like the "thousand-yard stare," troops eventually break down completely. In WWII, in theatres where the ground fighting was continuous, the breakdown point would tend to be reached in about 200 days. The harsh irony was that, given the typical casualty rate of about 2% per day, soldiers in a hard-fighting infantry unit were statistically likely to be killed or wounded before they reached the 200-day breakdown point. Hence the need (as Narvik mentioned) to keep bringing new men into a unit to make up for its losses. So the "veteran infantry" concept would actually apply not to individual soldiers but rather to a unit that has the optimum ratio of experienced men at peak efficiency relative to the new guys who have just joined it and to the burned-out guys who are near the end of their tether.
……you're really smart.
posted in House Rules
RE: New House Rules Set In Development
You suggested a lot of new ideas, but didn't elaborate on how most of them work.
All in all it sounds like this is a cool and fun idea. But you didn't give us too much to chew on yet.
posted in Global War
RE: Japan is too strong?
@taamvan:
Good morning gents,
I generally agree that the G40 game balance favors the axis. This is not based on their advantage in pieces, or even economy–it is based on their initiative and their "white player" first mover advantage. There are no allied strategies that can be pre-supposed to be successful until you see how the game plays out. And, as you do gain this information, the Axis are better able to adapt and take advantage of this than the Allies are.
I do have several suggestions that make the Allies somewhat harder to beat in the Pacific.
1) Move the Chinese holdout to Kansu, not Sikang or Szechwan ("Chicom"). Retaking Yunnan is tempting, but if Japan already has their MIC down, it is probably better to draw them Northwest than South. If Japan intends to attack Russia, being up north is not a problem for them, but if they have to chase you that direction, it puts them out of position to attack UK Pacific. If Japan does not have a plan to strike Russia, it will be fairly obvious (abandons Manchuria), and it would then argue for keeping all 18 infantry there to pin down any Japanese troops (and block a retake of Korea, if that happens).
2) Russia will often have to move their pieces West, but if they don't, and Japan doesn't build its MIC in the north, then it cannot possibly defend against Russia, China, UKPac, ANZAC and US.
3) The primary US goal is to pressurize SZ6 and take Korea, going south puts you way out of position. Building a Naval Base on Wake or Midway makes it impossible to screen you out from SZ 6. Even if you lose the battle, you can reduce the threat, expend his kamikazes and follow up. If his fleet goes south, you can screen it by blocking SZ 21-23and "break him in two" by preventing his separate fleets from all converging back on you.
4) on J3-J4, Japan will try to make threshold income by taking the spice islands, and this is what will cost them a bunch of their ships. Fighters on Australia, malasia and NGuinea and US carriers can attack detached fleets.
5) After Taranto, land your planes on Malta, not Syria. This pulls Italy west instead of East just like Chicom pulls them north not south. If Italy can cross the oil states, UK Pac is finished.
6) if Japan threatens UK Pac directly, buy only infantry and camp within one space of your capital. Their goal should be to take over Ceylon and use it as a landing pad. Screen SZ 37. But if they don't, packs of UK mechs and tanks can ward any Japanese stack within range. You will likely only get to make a single attack to retake Siam, Malasia, Yunnan etc…Make it count.
7) Declare war with UK2-UK3 if this is the only way you can gain your bonuses on a certain turn. The penalty in the Pac game is that the US loses its bonus, but there is no bonus in the Global setup.
you cannot directly bomb Japan into submission or retake it with force. You have to smash its income by destroying its ability to move in and out of SZ6.
Japan can do everything, and can smash any stack, but they have to telegraph that intention at least one turn ahead. They can take all the territory they like, the only reply is to trim them back slightly.
Many of the conversations here try to focus on the exact detail of where certain ships and captures will occur on turns 3-6, and how many of those moves can be accomplished simultaneously. This isn't very productive, as it tends to exaggerate how thinly Japan can practically be spread, and implies a false sense of certainty about what they will do. They do have a ridiculous amount of planes–and it actually is quite a good idea to use the Japan Dark Skies strat to kill every Chinese piece even with sacrifices. You will not be able to focus every US dollar on the Pacific, but you can get pretty close. Beating either axis player in detail is uncertain, cannot be accomplished by naked gambits or stratagems, and requires patience.
However, I have never seen a scenario where (for example) all the UK air and all the Siberian forces converge on the defense of Moscow. Everyone says that this is possible and desirable, but it never happens, and Russia falls. I am not that certain that G40 is all that unbalanced, assuming that the Allies take extreme measures to prevent endgame. It is simply an unplayably long game (More than 10 turns, tending to 14-16, we did 8 in 12 hours…) that people analyze on the basis of assumptions, the conduct of the early game, and their personal observations and biases.
First off, I want to give a shout out to taamvan. Well said, good sir.
Does anyone else just move the infantry in Korea over to Manhcuria and just… keep all the starting Manchurian infantry there? It's what I normally do when the Russians stack Amur. 10 infantry and an AA gun is bad odds for the 18 Russian infantry up there. Yes, it leaves Korea open, but I'm generally okay with that because they can't go anywhere else from there. Stacking Korea allows the Russian infantry to go all the way down the coast and become a real nuisance, so I usually just… write off the 10 infantry in Manchuria as insurance against the Soviets.
I do the same. If the Russians stack all their infantry there, I just leave the 10 inf and AA gun in Manchuria. If they do attack Korea, then I'm fine with it because then I can expand into Russian territory without activating the Mongolians. It only really gets annoying when the USA takes Korea and then the Russians reinforce with all their guys.
Bad odds for the Russians to attack? They'd have a 61% chance of success vs 12 infantry (or 90% in low luck), let alone 10 and a half. Stacking Manchuria with enough to simply hold the Soviets off is a viable plan, but it's going to take more than that. If that's all you have, the Russian player SHOULD attack you. If he doesn't, that's on him.
Like Nippon-koku mentioned, the Chinese would love to get the Manchurian money and spawn location.
RE: Yet another AxAG40 Rant about…Balance Bidding and Bias
Intelligently reasoned, and wisely said.
RE: Are Allies doomed from the outset on G40 map?
But it takes a different kind of player to be good with the allies then it takes to be good with the axis. So even 2 equaly skilled players might both win against eachother with axis all the time not because the game is unbalanced but just because they are just not as good with the allies as with the axis.
ShadowHawk put down my thoughts much more politically than I did.
I feel the allies have the advantage, which I'm OK with since we did win the real war after-all. I hardly understand where all this Pro-Axis fervor is coming from. You're worried the Axis will do these "winning strategies"? Then counter them! Screw with your opponents' plan! Knowledge of your enemies' intended moves is one of the greatest advantages a commander can ask for.
This is a very abrasive and callous thought, but to be extraordinarily blunt: If you keep losing, maybe you aren't as good as you think you are?
Try thinking outside the box. Do something different!
Don't send the 18 Far East Russians to the west. Coalesce a turn in Buryatia, then move back to Amur and start moving south. Send in a fighter and tac bomber from the west for offensive power - it's not like the Japanese are going to spend time or money on getting AAA to the mainland.
If you're lucky, your opponent might think you're doing the typical retreat to the west you usually do, and will be ill-prepared for discover 20 troops at his doorstep. You can send the planes east turn 2 instead of turn 1 and have the t1 Buryatia infantry move into Yakut S.S.R. if you want to commit to the bluff.
Or, don't bluff, and send the planes east t1. Then your capable Japan player notices he's going to have more pressure than he's used to, and have to plan for it. But then guess what: the advantage is on you, because there's nothing forcing you to attack. Either you handicap the Japanese by forcing them to use men and resources to defend (making them lose momentum), or you exploit a critical weakness, or you end up killing a bunch of troops on your terms. All work out to your advantage.
While we're talking about Russia, have them fight like they have some balls! Buy artillery (more!). There's power in being able to threaten a counterattack even if you never execute. Or, seize weakness when you see it and make that counterattack! Maybe dance around and avoid a fight, or maybe if given the opportunity… can your stack of troops get to Berlin before Germany's can get to Moscow? Heck, spare a mech and a tank to help out China. Exploit China's instant mobilization ability. Go on the offensive.
Everyone talks about how Russia always falls. Well, it is outgunned by Germany, but the difference between Russia in 1940 and other A&A games is that the Soviet Union isn't a punching bag! Unless of course all you do is sit there and take it.
Everyone knows America is the key to Allied victory, right?
So… what the heck are you guys doing?
Go for Rome! Be different!
If Britain did its job, Italy is making less than 20 IPCs a turn. And according to your Axis playbook, it's busy doing can-openers against Russia. It simply can't defend against the United States.
In the Pacific, in the wise words of someone around here, have the U.S. "pee aircraft carriers" and land ANZAC planes on them. Let the Brits and Anzac recapture the money islands, just clear the way for them. Buy subs, convoy disrupt the crap out of Japan. Defend what you need to defend and make expansion costly.
There are all sorts of tricks the Allies have at their disposal. I could go on, but each game is different because ultimately, the Allies still play in response to whatever the Axis decide. But here's the key: that's fine. Mess with their plan by threatening them enough so that they need to respond to you - and if they don't? Exploit and win.
RE: Question on Scrambling
Thanks knp. Very well said.
RE: New AC and New Fighter/ TAC G40
Yup. This rule can even be "cheated".
All air attacks require a valid potential landing zone. If you purchase a carrier and display that you can build it in a sea zone to give your planes a potential landing zone, but then the planes die (which you might have known would happen beforehand ), you don't have to build the carrier there, and may choose to build it somewhere else.
But if 1 plane survived, you still have to build it as originally "planned".
Braveheart, I'm sorry, but I'm not sure I understand your question.
I'm not sure this answers it, but:
Surviving scrambled aircraft must land on the territory they scrambled from after the resolution of all combats for the turn (they can't fight in two battles). You can't use the scrambling mechanic to move your aircraft to another territory or aircraft carrier.
Unless-
After winning the sea battle that your scrambled fighters fought in, the enemy ground troops still captured the territory they scrambled from. In that case, their normal landing zone is no longer available. They may now move one space in an attempt to find a friendly territory or carrier to land on.
RE: G1 Purchase: Poll Question
@Herr:
@ghr2:
@Young:
Yes - It's needed to land the Tac Bomber from Germany, and to help threaten Sealion.
No - The Royal Navy can be destroyed without the Tac Bomber, and that money should be used for more important units.
There is no "Unsure" or "Depends" option as I would hope those voting know by now what their go to G1 purchases are.
Thanks for participating.
I say no, and still use the Tac Bomber.
I totally agree. I'll land the tac bomber in Holland/Belgium plus one or two other planes and add AA guns from Germany as fodder against a French suicide action from Normandy (which I don't attack G1).
Me three. I often buy an air base and put it in Holland, which usually deflects any bright ideas UK has for sending it's 1 destroyer and scottish fighter to kill my damaged battleship, as well as giving excess range to much more than just 2 planes.


Looking to buy a house in Naramata? With 27 houses for sale in Naramata, Zolo makes it easy to discover the perfect house for you. Filter houses by price, number of bedrooms, size, and keywords like "hardwood floors" to refine your search.
Looking into downsizing? Or want a place with amenities but don't want to sacrifice square footage? Out of the 65 total MLS® listings in Naramata, there are currently 0 condos and 0 townhouses on the market. Call or email one of our real estate agents in Naramata to start touring houses today!


text:
Will Gabon be the Next Crisis Spot in Africa?
By Scott A Morgan
President of Gabon Omar Bongo
When the Spanish Foreign Minister announced earlier this week that the President of Gabon Omar Bongo was currently seeking Medical Attention in Barcelona it had to set off several Alarm Bells.
The Timing of this Announcement is very peculular. According to Official Statements from the Gabonese Government President Bongo is Mourning the recent Passing of His Wife. In what has to be another piece of interesting timing President Bongo is one of Three African Leaders currently Facing Trial in France for Corruption Charges. In another coincidence the President of the Republic of the Congo who happened to be the Father of President Bongo's Wife is also Facing Charges in the Same Court.
Although Nominally a Republic Gabon appears to be on the surface a Family Owned and Operated Business. A Document Published late last year by Members of the Gabonese Opposition in France was critical of two of the President's Children. A Daughter Pascaline is the current Chief of Staff. In the view of some vocal members of the Opposition she makes the Decisions for the Government on a Daily Basis. His son Ali is Defense Minister which means He controls the Security Services.
So now there is the possiblity of a Family Power Struggle in a Oil Producing Country in West Africa. Roughly one-third of the Oil Imported by the United States is produced in this region. The United States has also increased cooperation when it comes to Security Issues. Libreville the Capital of Gabon was the Last Port of Call of the APS (Africa Partnership Station). The Vessel assigned for the task this year was USS Nashville.
What will happen within the Country Now? President Bongo has a long history of buying off any Member of the Opposition that had loudly expressed any concerns about how the Country was being Governed. The Only Means of Opposition that are currently available to the People of Gabon are to either initiate General Strikes or Not to Vote in Presidential Elections. A series of Strikes by Teachers and in the Medical Field can be seen as an effort to Organize a voice.
Will a change of Government in Gabon have an Impact in the US? Instability in Gabon will have some influence on the Oil Market so there will be some pain felt at the Gas Pump. As for Strategic Interests that may yet to be seen. The Contact between the US and Gabonese Militaries probably will not change on iota. With the Militancy in the Niger Delta and the Underreported Acts of Piracy in the Gulf of Guinea also being Points of Contention it is not feasable for the US to Monitor this Unfolding Situation.
The Author Publishes Confused Eagle on the Internet and Comments on US Policy Towards Africa. Confused Eagle is at morganrights.tripod.com
Scott A Morgan, © 2009
The author has 88 publications published on Modern Ghana. Column Page: ScottAMorgan
New US Terror Designation
Could ISIS be forming a New Cell in Central Africa?
Failure of Democracy in Africa: The Case of Equatorial Guinea
More Problems For Christians In Nigeria
Will Ivory Coast Suffer From Radicalized Religion?
Is Freedom Of Religion Becoming Politicized In Africa?
The Blood Diamonds Issue Will Not Go Away In Zimbabwe
Dropping The Ball? Us Policy Towards Somaliland
An Update On Operation Kimia Ii
The Gambia: Is It Sliding Towards Anarchy?
The Elusive Militias In Central Africa
The Extension Of Operation Lightning Thunder
Failure Of Democracy In Africa: The Case Of Equatorial Guine
Will This Effort Be The Charm For Equatorial Guinea?
Why Is Africa Increasing Spending On Defense Issues?
Sources Of Violence In Kenya 2014?
Foreshadowing Trouble: Media Closing In Ethiopia
Will There Be New Us Actions In The Horn?
Other Countries That Have Issues Regarding Blood Diamonds
What Are Us Strategies In West Africa?
Showing His True Colors: A Despot Speaks
It's Time To Stop The Insanity In Zimbabwe


text:
Tag / Soccer
October 18, 2014 January 5, 2015 by hanaatameez
Sports Highlights: Men's Soccer vs UMass Lowell
college soccer, Fall 2014, Favio Sbarra, Men's soccer, NCAA, NCAA Divison I soccer, SBU, SBU Seawolves, Seawolves, Soccer, soccer highlights, Sports highlights, Stony Brook, Stony Brook Seawolves, Stony Brook University, Stony Brook University Men's Soccer, Stony Brook University Seawolves, SUNY Stony Brook, The Statesman, Tom McMahon, UMass Lowell, UMass Lowell Riverhawks, University of Massachusetts-Lowell
The Stony Brook Seawolves suffered a 2-1 home loss to UMass Lowell on Saturday, Oct. 18, 2014 in the America East Conference. This video was originally published on sbstatesman.com.
October 8, 2014 January 5, 2015 by hanaatameez
MEN'S SOCCER: Stony Brook vs. Villanova
Akeem Morris, Alejandro Fritz, America East, Fall 2014, Favio Sbarra, Fútbol, Fernando Wadskier, Football, International Night, Long Island, Martin Giordano, Men's soccer, NCAA, New York, photography, SBU, sbu athletics, SBU Men's Soccer, Seawolves, Soccer, sports, Stony Brook, Stony Brook Athletics, Stony Brook Seawolves, Stony Brook University, Stony Brook University Men's Soccer, Villanova, Villanova University, Villanova University Men's Soccer, Villanova University Wildcats, Wildcats
The Stony Brook Seawolves suffered a 1-0 loss at home to the Villanova Wildcats on Tuesday, Oct. 7, 2014. Stony Brook hosted Villanova on International Night, which honored the men's team's 10 international student-athletes.
October 4, 2014 December 19, 2014 by hanaatameez
MEN'S SOCCER: Stony Brook vs. University of New Hampshire
America East, America East Conference, America East Soccer, Barnabas Mako, college soccer, Dario Vanegas, Fall 2014, Favio Sbarra, Fernando Wadskier, Jorge Torres, Kofi Ramirez Osei-Tutu, NCAA, NCAA Division I Soccer, photography, SBU, Seawolves, Soccer, sports, sports photography, Stony Brook, Stony Brook Seawolves, Stony Brook University, Stony Brook University Men's Soccer, SUNY, UNH, UNH Wildcats, University of New Hampshire Men's Soccer, Vince Erdei, Wildcats
An 85th minute goal from sophomore midfielder Favio Sbarra gave the Stony Brook Seawolves a 1-0 win in their first game of the America East Conference against the University of New Hampshire Wildcats on Saturday, Oct. 4, 2o14.
September 10, 2014 December 19, 2014 by hanaatameez
Sports Highlights: Stony Brook Men's Soccer vs. Lehigh
Alejandro Fritz, college soccer, d610, Division I soccer, DSLR video, Fall 2014, Hanaa' Tameez, Keith McKenna, Martin Giordano, Nikon, Nikon d610, Ryan Anatol, SBU, sbu athletics, Soccer, Sports highlights, Stony Brook Men's Soccer, Stony Brook University, The Statesman, Tom Macmahon, video journalism
Coming off two away losses in Connecticut, the Stony Brook Seawolves defeated the Lehigh Mountain Hawks in a 3-0 shutout in their home opener on Friday, Sept. 6, 2014.
This video was originally published on sbstatesman.com on Saturday, Sept. 6, 2014.
September 8, 2014 December 19, 2014 by hanaatameez
MEN'S SOCCER: Stony Brook vs. Fairleigh Dickinson
Alejandro Fritz, America East, college soccer, Dario Vanegas, Division I soccer, Fairleigh Dickinson University, Fall 2014, Kenneth P. LaValle Stadium, LaValle Stadium, Long Island, Martin Giordano, NCAA Soccer, Nico Wright, Ryan Anatol, SBU, Seawolves, Soccer, Stony Brook Athletics, Stony Brook Seawolves, Stony Brook University, SUNY Stony Brook, Thibault Duval, Tom Macmahon
In its second home game of the 2014 season, the Stony Brook University Men's Soccer team tied 0-0 against Fairleigh Dickinson University after failing to score in double overtime on Monday, Sept. 8, 2014. The Seawolves entered the match coming off their 3-0 home opener win against the Lehigh Mountain Hawks on Friday, Sept. 5, 2014.
Stony Brook's number 7, junior midfielder Martin Giordano (Weston, Fla.), entered the match after scoring his first goal of the season against Lehigh.
Giordano created two chances to score for the Seawolves during the match, one of which was denied by FDU's keeper, Matthew Weigner.
Junior Alejandro Fritz (Budapest, Hungary) also helped create a few chances for Stony Brook but after 110 minutes, both teams walked away without any goals.
Freshman midfielder Thibault Duval (Grace Hollogne, Belgium) got his fourth start in four matches against FDU.
In the second half, Fritz delivered the ball to Giordano, whose header went just wide of the net.
A free kick by Duval offered the Seawolves an opportunity to break the tie but hit the wall.
A group of Stony Brook fans cheered the Seawolves on for all 110 minutes, sitting just two rows behind the home bench.
Redshirt freshman midfielder Dario Vanegas (Miami, Fla.) came off the bench in the second half and had his own chances to score.
Redshirt freshman goalkeeper Tom MacMahon (Nassau Bay, Texas) denied FDU on several occasions and achieved his second clean sheet of the season.
Redshirt freshman Dario Vanegas (Miami, Fla.).
FDU senior forward Nico Wright came to Stony Brook with two goals to his name so far this season.
June 2, 2014 July 7, 2014 by hanaatameez
A place for women in soccer journalism
2010 World Cup, college journalism, Fútbol, FIFA, Football, gender equality, journalism, medium, online journalism, online media, Soccer, soccer journalism, sports journalism, student journalism, women in journalism
The 2014 FIFA World Cup marks the four year anniversary of the month that changed my life.
December 8, 2013 July 7, 2014 by hanaatameez
Politico's first few days off Capitol Hill
Albany, Blog, business, business of news, Capital New York, Capitol Hill, D.C., DC, journalism, local politics, media, media evolution, media news, new media, New York, New York City, news, newspaper, NY, NYC, online journalism, online media, policy news, political news, Politico, print journalism, Soccer, state politics, Stony Brook University, Washington D.C.
When Allbright Communications bought the website Capital New York on Sept. 3, there were several questions floating around but mainly, there was doubt.
Allbright owns Politico, one of the powerhouses for political news in Washington D.C. Politico has come a long way since its inception in 2007 and grabs the attention of roughly 5 million Americans every month. It also publishes a newspaper four days a week that is free to pick up and brings in a good percentage of its revenue through advertisements. According to BusinessWeek, "the ads that appear in Politico come in two flavors: issue-advocacy advertising, in which a group attempts to influence a specific bit of pending legislation; and corporate image advertising, in which a company tries to burnish its own reputation in Washington."
Politico took on the project in order to revamp the site to be focused on New York City and State politics and media coverage, rather than hyperlocal reporting. It's part of a larger mission to "colonize" and cover politics in large markets. If all goes well in New York, Politico is looking to further broaden its horizons. Continue reading →