General Information
- Breed Purpose
- Ornamental
- Comb
- V-Shaped
- Broodiness
- Seldom
- Climate Tolerance
- All Climates
- Egg Productivity
- Medium
- Egg Size
- Medium
- Egg Color
- White
- Breed Temperament
- Friendly, Do not bear confinement well
- Breed Colors/Varieties
- Silver Spangled/Silver Crescent, Golden Spangled and Blacks are found in the UK and USA. Light/soft feathered.
- Breed Size
- Large Fowl
With their characteristic forward sweeping crest, the Appenzeller Spitzhauben is an unusual looking bird. The breed originated in the Appenzell canton of northeast Switzerland and seem to date as far back as the 16th century, where similar birds are described as being developed in the local monasteries. Switzerland considers the Appenzeller Spitzhauben to be the national chicken of their country and the breed takes their name from the ceremonial hats worn by woman of the region, called Spitzhauben (pointed hood) which are reminiscent of the breeds large forward sweeping crest.
The breed fell into disfavor after WWII and was at the brink of extinction when a German breeder, Kurt Fischer, imported all three of the original colors (black, golden spangled and silver spangled) into Germany in 1953, he is credited with saving the breed. The silver spangled version was also imported in to the US in the 1950’s, and it is the primary color found in the US today. The breed is not currently recognized by the APA, but is in the UK.
Besides the characteristic crest, Appenzeller Spitzhauben have "V" combs, blue legs, and white skin. They are rather small birds, are very active and alert,and are good flyers and foragers. They do not take well to close confinement. They are cold hardy, and though they are primarily an ornamental breed today, the hens are good layers of medium-large sized eggs and are non-setters.
Appenzeller Spitzhauben egg
Appenzeller Spitzhauben chicks
Appenzeller Spitzhauben juvenile
Appenzeller Spitzhauben hen
Appenzeller Spitzhauben rooster
For more information on this breed and their owners' and breeders' experiences with them, see our breed discussion here: https://www.backyardchickens.com/threads/chicken-breed-focus-appenzeller-spitzhauben.1013428/


SatGraph
Map
Histogram
Dev Tools
Fullscreen
About
Generate map
Load data
Load parameters
Export
to PNG
to SVG
Contours:
No
Yes
Binning:
1
2
4
6
Geo projection:
Equirectangular
Orthographic
Mollweide
Mercator
Neighbours:
Smooth:
Clean diff:


This module serves as a demonstration for how to prompt the user for feedback when an event occurs. Specifically, every time a query is detected, a popup will be created with a questionnaire the user must fill out. That data will then be sent to a server (right now, it's just a dummy server). There are several stages to this:
.json
file)The first thing you'll have to do is create a directory somewhere to put all your files. The rest of these instructions assume that you are in that directory. All new files and subdirectories will be added to this one.
First thing we need to do is create a metadata file. Create a new file called metadata.json
. Open it with a text editor and paste the following code:
{ "clrmid": "pqq", "name": "Post query questionnaire", "version": "1.0", "categories": ["study"], "description": "A simple CrowdLogger Remote Module demonstration. It generates a popup box with questions ever time a search is issued.", "packageURL": "http://localhost:8080/pqq.json", "permissions": ["ui", "userdata", "servercollection"], "logoURL": "http://localhost:8080/pqq.jpg", "minCLVersion": "2.0.2" }
The urls used for the packageURL
and logoURL
code> will need to change depending on how you publish your package.
Create a new file called background.js
and open it in a text editor. This is the JavaScript file that will contain all of the code to execute in the background. This is where we'll add code for what to do when the CLRM starts, stops, and to monitor when the user has performed an action.
We're going to pack a couple of different JavaScript objects into this file. The first is the required RemoteModule
class (see The Structure of the Core Module Code).
// This is a required class. CrowdLogger will make an instance of this when // the module is loaded. var RemoteModule = function( clrmPackage, clrmAPI ){ var pqq, that = this; // Required. Called when the CLRM first starts up. this.init = function(){ // We will use the PostQueryQuestionnaire object to perform most of // the core tasks. pqq = new that.PostQueryQuestionnaire( clrmPackage, clrmAPI ); }; // Required. Called when the CLRM is unloaded for any of the reasons // listed below. this.unload = function(reason, oncomplete, onerror){ // You can change what gets called for each of the reasons. switch(reason){ case 'uninstall': case 'newversion': case 'shutdown': case 'disable': default: pqq.unload(oncomplete, onerror); } }; // Required. This is periodically called by CrowdLogger to see if you have // any pending messages for the user. These messages are displayed next // to the CLRM on the status page. this.getMessage = function(){ }; // Required. This is called when the user clicks the "Open" button for this // CLRM. You could, e.g., open a window with a set of options, etc. this.open = function(){ }; // Required. This is called when the user clicks the "Configure" button for // this CLRM. this.configure = function(){ }; // Required. This is called when CrowdLogger or the User wants to update // the current install. If you are in the middle of processing something, // you'll want this to return false. this.isOkayToUpdate = function(){ return true; }; };
This code references a PostQueryQuestionnaire
object, which we'll create next. That piece will take care of listening for an event, launching the questionnaire, and uploading the responses. Paste the following just below he code from above.
// This class is where all the important logic is. RemoteModule.prototype.PostQueryQuestionnaire = function(clrmPackage, clrmAPI){ // Private members. var that = this, windowSpecs = { width: 600, height: 500, location: 'no', status: 'no', toolbar: 'no', resizable: 'yes', scrollbars: 'yes' }, openedWindow; const QUESTIONNAIRE_PAGE = "questionnaire.html", UPLOAD_SERVER_URL = "http://localhost:8080/upload.php"; // Private function names. var init, addListeners, onSearch, openQuestionnaire; // Public variables. this.currentQueryInfo; // Private functions definitions. // Initializes everything, including setting up listeners. init = function(){ addListeners(); }; // Adds listeners for search events. addListeners = function(){ clrmAPI.user.realTime.addActivityListeners({ 'query-entered': onSearch }); }; // Defines what to do when a search is detected. onSearch = function(eventName, eventData){ that.currentQueryInfo = eventData; clrmAPI.ui.openWindow({ content: clrmPackage.html[QUESTIONNAIRE_PAGE], resources: clrmPackage, name: QUESTIONNAIRE_PAGE, specsMap: windowSpecs, callback: openQuestionnaire }); }; // Opens the questionnaire dialog. openQuestionnaire = function(win){ // clrmBackend is defined in the JavaScript within questionnaire.html. // This will allow the questionnaire code to access this object. win.clrmBackend = that; win.start(); win.focus(); openedWindow = win; win.addEventListener('unload', function(){ openedWindow = undefined; }); }; // Public functions. // De-registers our listeners and closes open windows. this.unload = function(oncomplete, onerror){ // Close the questionnaire window if it's open. that.closeWindow(); oncomplete(); }; // Uploads the given information to the server. this.uploadData = function(data, onsuccess, onerror){ clrmAPI.ssa.sendPostData({ url: UPLOAD_SERVER_URL, data: data, on_success: function(response){ response = JSON.parse(response); if(response.accepted && onsuccess){ onsuccess(); } else if(!response.accepted && onerror){ onerror(response.error || 'No error reported.'); } }, on_error: onerror }); }; // Closes the open window. this.closeWindow = function(){ try{ if(openedWindow){ openedWindow.close(); openedWindow = undefined; } } catch(e) {} }; // Invoked on creation. init(); };
We just wrote the background script. Now we need to write the resources that we'll use to display windows, like the questionnaire that pops up after each query is entered. The first thing we need to do is create a subdirectory named resources
. This will contain all of our resources—HTML, JavaScript, and CSS files. For this example, we'll use an HTML file with embedded JavaScript to display the questionnaire. We'll ignore CSS and external JavaScript files. We're also including the jQuery JavaScript library to help us out with page manipulation. Add the following HTML to a new file named questionnaire.html
(this matches what we called the file in our background script).
<!DOCTYPE html>   <title>Post Query Questionnaire</title>
Post Query Questionnaire

 It looks like you just submitted the query  to . Please answer the following questions about that search.
 <form name="questionnaire"> <input type="hidden" name="query" class="query"/> <input type="hidden" name="search-engine" class="search-engine"/> Is this the start of a new information need?

 <input type="radio" name="new-info-need" value="true"> Yes
 <input type="radio" name="new-info-need" value="false"> No
 Are you issuing this query because a previous query was unsuccessful?
 <input type="radio" name="prev-query-unsuccessful" value="true"> Yes
 <input type="radio" name="prev-query-unsuccessful" value="false"> No
 Please describe the intent of your current query:
 <textarea rows=10 cols=50 name="intent"></textarea> <input type="submit"/> </form> <button id="close-window">Close</button>
To package the CLRM, use the auto-packaging command line script. Here's what the command looks like for our example:
ruby clrm-package.rb \ background.js \ --resource-dir=resources \ --metadata-file=metadata.json \ > pqq.json
For publishing your CLMR, take a look at self publishing.
You should now have a working CLRM that will prompt the user to respond to a questionnaire on every query submitted.


|
hwlib
C++ hardware library for V1IPAS-TI
|
hwlib implementation for the Arduino Uno More...
Classes | |
| class | pin_in |
| pin_in implementation for a ATMega328P More... | |
| class | pin_in_out |
| pin_in_out implementation for a ATMega328P More... | |
| class | pin_oc |
| pin_oc implementation for a ATMega328P More... | |
| class | pin_out |
| pin_out implementation for a ATMega328P More... | |
| class | shield_lcd_mcufriend |
Enumerations | |
| enum | pins { d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, a0, a1, a2, a3, a4, a5, scl, sda, tx, rx, led, sck, miso, mosi, ss } |
| Arduino Uno pin names. More... | |
hwlib implementation for the Arduino Uno
and (sotware) UART output for the Arduino Uno (ATMega328P chip).
The port and pin parameters to the constructors of the pin classes can either use ATMega328P port and pin numbers, or the Arduino names.
The Uno has an on-board LED connected to port 1 (= port B) pin 5.
The chip runs at 5 Volt and that is the level on its IO pins.
The Arduino Nano and Arduino Pro Mini that use the same ATMega328P chip can also be used with this library, but have a very different form factor and pinout.
The Nano has an USB connector and an USB-to-serial connector and can run the Arduino bootloader, but is often sold without the bootloader. An AVRisp2 programmer can be used to program a Nano directly, or you can use it to load the Arduino bootloader and use the Nano as you would use an Uno.
The Pro Mini is little more than the micro-controler chip and a few necessary components (crystal, capacitors). It has neither an USB-to-serial converter nor a standard 6-pin AVRisp2 header, so you must make the correct connections yourself.
AVR microcontrollers use a Hardvard-architecture with a strict separation between data memory (RAM and special registers) and code memory (Flash). Consequently all data, including constant data, must be stored in RAM. Other architectures can store constant data in ROM, which is often much larger than RAM.
References:
|
strong |
Arduino Uno pin names.
These are the pins of an Arduino Uno board. Digital pins d0..d13, analog input pins A0..A5, SCL, SDA, TX (=D1), RX (=D0), LED (=D13), SCK (=D13), MISO (=D12), MOSI (=D11), SS (=D10).


Identity, Values and Strengths Exploration
I was born in New Zealand, Wellington, and have gone to kindergarten, primary school, and middle school in Korea and Christchurch. I have attended highschool in Korea and have graduated in a different highschool in Australia Sydney. I have been on and off Korea and Auckland since then.
Since when I was a kid I have had to move to many different countries, cities, schools and houses. I have had to meet new friends and people who I would not be seeing after 2 years when I graduate each school I went to as I had to move to another country then. This experience has affected and is still affecting my identity.
In a positive way I have had a chance to meet a lot of people with different cultural background, and ideas. This has turned me into a person with a mixture of different cultures inside me which allowed me to have more understanding for different cultures, new ideas and gave me the ability to adapt to new environment and habits quickly. This has become my strength in learning new things, embracing the difference in ideas and reduce the conflicts by coming up with a solution that everyone could possibly agree on.
In most situations, as we are very distinct from each other we often end up having one side of the argument win while the other is not satisfied and chooses not to support the conclusion in any ways.
From my experience I have been in one of these situations where the employees were not satisfied with the schedule set by the employer when I was doing a part time job 2 years ago.
In that moment I was able to come up with a solution that fulfilled the needs of both sides by listening to each sides' proposals, asking each sides to understand each other. This was possible as I could embrace both opinions, knew exactly what they wanted and knew how to mix them together into a solution.
I use this method personally. When I am doing some work, there is always two different thoughts in my head. One that stops me and puts me down, and the other that encourages me. I usually talk to myself and try to listen to the positive side of me, but in most cases I end up accepting both sides and still get my work done.


Submit Files and Optional Information Here
Enter optional information here.
Will you attach an approval email?
Yes
No
Enter files here, Must include your employee number, or will be invalid


Callum Smith defends WBA belt but toils against gutsy John Ryder
by Peter HansonCallum Smith scored a unanimous decision victory to retain his WBA supermiddleweight world title but was made to toil by a gallant John Ryder in Liverpool, England.
The home-city fighter was an overwhelming favorite against Londoner Ryder but was troubled by the work rate of his tireless opponent, who gave up plenty in height and reach.
Smith nonethelessmoved to 27-0, with the judges scoring it 117-111, 116-112 and 116-112 in his favor, having clearly decided he landed the cleaner punches.
Join DAZN to watch Ruiz vs. Joshua 2 and 100-plus fight nights a year
It was hardly the statement performance Smith would have wanted as he chases career-defining fights with the likes of Saul "Canelo"Alvarez or Billy Joe Saunders, but a below-par showing here may actually make those bouts easier to make.
"I knew he was a tough fighter, I knew it was a tough fight," Smith said after the bout. "It wasn't the best performance from myself, but I was due a bad one.
"I'm a perfectionist and I always want to do the best as possible. Listen, I know how good I am, how good I can be.
"I want the best names in the division. The fear brings out the best performance in myself."
Ryder vastly outperformed expectations and the fact there wasa smattering of boos amid a partisan home crowd after the scores were read out told a story in itself.
After an uneventful couple of opening rounds, Smith began to up the work rate and although the man nicknamed "Mundo" suffered a cut in the fourth, some clean hooks in the fifth had Ryder in trouble for the first time.
A sharp right and some thudding strikes in the sixth suggested Smith's class was about to tell, but Ryder's relentless grit was causing the champion issues.
Good work on the ropes from close range would have had Ryder dreaming of an upset and the underdog upped the ante when trainer Tony Sims warned him Smith may try to steal it with the jab.
Both men landed big hooks in a brilliant final round, but ultimately it was controversially deemed Smith had done enough to control the fight.


I built this tiny website on a cell phone in the time it took to have a cup of coffee. Having that kind of all-the-time access to the full internet is what allows people to go from idea to reality in a short time frame. In other words, a free and open internet is what allows for innovation. The exact opposite of the alleged cause of the FCC's decision on December 11th, 2017.
Many people I care about know that the end of net neutrality is bad, but they're hard pressed to say exactly why. Let this small website be a guide. HERE is a comic that someone made to try and illustrate what the end of net neutrality could look like. HERE is a link to the government page that helps you find the contact information for your own Congressional Representatives. THIS link will help you find your Senator. HERE is a link to an article that has much more information about net neutrality and how to do something about it.
Help keep the internet open.


DashBots
Manage your custom made discord bots with ease.
palette
Customisable
Configure your private bot with ease through the use of this dashboard. Your bot is completely customisable, you have the ability to change it's name, profile picture and presence at any time.
group
Coded for you
Your bot is coded specifically for you using python, discord.py and our private bot framework! Add a new level of professionalism to your server with custom functionality and commands as requested.


Well?” Nynaeve said as patiently as she could. Keeping her hands in her lap was an effort, as was sitting still on her bed. She stifled a yawn. The hour was early, and she had not slept well for three nights now. The wicker cage was empty, the song sparrow set free. She wished she was free. “Well?”
 From there she had just the slimmest line of sight to the rear of the Little Tower, where most of the Sitters were already receiving the Tower envoy this morning. A slight view, but enough to see a bit of the ward against eavesdropping that enclosed the inn. It was the sort that stopped anyone who was trying to listen with the Power. The price of sharing knowledge.
After a moment Elayne sat back on her heels, frustration painting her face. “Nothing. You said those flows could slip through undetected. I don’t think I was noticed, but I certainly heard nothing.”
That last was directed at Moghedien, on their rickety stool in a corner. The woman’s lack of sweat irritated Nynaeve no end. She claimed it took time working with the Power before you could achieve the detachment necessary to ignore heat or cold, not much better than the Aes Sedais’ vague promises that it would come “eventually.” Nynaeve and Elayne dripped sweat, Moghedien looked cool as an early spring day, and Light, it grated!
“I said they should.” Moghedien’s dark eyes darted defensively, though mostly she kept her gaze on Elayne; she always concentrated on whoever wore the a’dam bracelet. “Should. There are thousands of ways to spin wards. It can take days to spin a hole through one.”
Nynaeve held her tongue, but barely. They had been trying for days. This was the third since Tarna Feir’s arrival, and the Hall still held the Red sister’s message from Elaida closely. Well, Sheriam and Myrelle and that lot knew—Nynaeve would not have been surprised if they had known before the Hall did—but even Siuan and Leane had been shut outside of those daily meetings. At least, they had professed to be.
Nynaeve realized she was plucking at her skirts, and stilled her hands. Somehow, they had to find out what Elaida wanted—and more importantly, the Hall’s answer. They had to. Somehow.
“I have to go,” Elayne sighed. “I must show some more sisters how I make ter’angreal.” Very few Aes Sedai in Salidar showed the knack, but they all wanted to learn, and most seemed to think they could, once they made Elayne demonstrate often enough. “You might as well take this,” she added, unfastening the bracelet. “I want to try something new in the making after the sisters are done with me, and then I have a novice class.” She did not sound happy about that either, not the way she had before the first time.  The youngest girls were overeager, leaping ahead to things they had no idea how to handle, often without asking first, and the oldest, although a little more cautious, were much more likely to argue, or plain balk at an order from a woman six or seven years their junior. Elayne had taken to muttering “fool novices” and “headstrong idiots” like an Accepted of ten years. “You can have time for questions. Maybe you’ll have more luck with how to detect a man than I have.”
Nynaeve shook her head. “I’m supposed to help Janya and Delana with their notes this morning.” She could not help grimacing. Delana was a Sitter for the Gray Ajah as Janya was for the Brown, but Nynaeve would get no glimmer of anything from them. “And then I have another lesson from Theodrin.” Another waste of time. Everybody in Salidar was wasting time. “Wear it,” she said as Elayne started to hang the bracelet on a wall peg with their clothes.
The golden-haired woman gave an affected sigh, but refastened the bracelet. In Nynaeve’s opinion, Elayne was entirely too trusting of the a’dam. True, so long as the necklace remained on Moghedien’s neck, any woman able to channel could find her with the bracelet, and control her. If no one wore the bracelet, she could not move more than a dozen paces from it without falling to her knees retching, and the same if she shifted the bracelet more than a few inches from where it had been left, or tried to unfasten the necklace herself. Maybe it would hold her even on the peg, but maybe one of the Forsaken could reason a way around that, given enough chances. Once, in Tanchico, Nynaeve had left Moghedien shielded and bound with the Power, for just a few moments, and she managed to escape. The how of that had been one of the first things Nynaeve questioned her about once she was captured again, though prying out an answer almost required wringing her neck. A tied-off shield was vulnerable, it seemed, if the woman shielded had a little time and patience. Elayne insisted that would not work against the a’dam—there was no knot to attack, and with the necklace around her neck Moghedien could not even try to touch saidar without permission—but Nynaeve preferred taking no chances.
“Do your copying slowly,” Elayne said. “I’ve copied for Delana before. She hates blots or mistakes. She’ll make you do it over fifty times to get a clean page if need be.”
Nynaeve scowled. Her own hand might not be as clean and delicate as Elayne’s, but she was not some lout who had just learned which end of the pen to dip in the ink. The younger woman took no notice, simply slipped out of the room with a final smile. Maybe she had only meant to be helpful. If the Aes Sedai ever learned how much Nynaeve hated copying, they would start assigning it to her for punishment.
“Perhaps you ought to go to al’Thor,” Moghedien said abruptly. She was sitting differently, straighter. Her dark eyes held steady on Nynaeve’s. Why?
“What do you mean?” Nynaeve demanded.
“You and Elayne should go to Caemlyn, to Rand. She can be queen, and you . . . ” Moghedien’s smile was not at all pleasant. “Sooner or later, they will sit you down and dig for how you can make all these marvelous discoveries yet quake like a girl caught with stolen sweets when you try to channel for them.”
“I do not—!” She was not going to explain herself, not to this woman. Why was Moghedien so forward all of a sudden? “Just you remember, whatever happens to me if they find out the truth, your head will be on the chopping block before the week is done.”
“Whereas you will have much longer to suffer. Semirhage once made a man scream his every waking hour for five years. She even kept him sane, but in the end even she could not keep his heart beating. I doubt any of these children have a tenth of Semirhage’s skill, but you may find out firsthand how much they do have.”
How could the woman be saying this? Her normal cringing anxiety had been shed like a snake skin. They could have been two equals discussing something of casual interest. No, worse. Moghedien’s attitude said it was of casual interest to her, but dire to Nynaeve. Nynaeve wished she had the bracelet. It would have been a comfort. Moghedien’s emotions could not possibly be as cool and calm as her face, and her voice.
Nynaeve’s breath caught. The bracelet. That was it. The bracelet was not in the room. A ball of ice formed in the pit of her stomach; the sweat suddenly seemed to roll more heavily down her face. Logically, whether the bracelet was there or not made no difference. Elayne had it on—Please, Light, don’t let her have taken it off!—and the other half of the a’dam was firmly around Moghedien’s neck. Only, logic had nothing to do with it. Nynaeve had never been alone with the woman without the bracelet there. Or rather, the only times she had had ended in near total disaster. Moghedien had not been wearing the a’dam then, but that made no difference either. She was one of the Forsaken, they were alone, and Nynaeve had no way to control her. She gripped her skirts to keep from gripping her belt knife.
Moghedien’s smile deepened, as if she had read her thoughts. “In this, you can be sure I have your best interests at heart. This,” her hand hovered near the necklace for a moment, carefully not touching it, “will hold me in Caemlyn as well as here. Slavery there is better than death here. But don’t take too long to decide. If these so-called Aes Sedai resolve to return to the Tower, what better gift to take the new Amyrlin Seat than you, a woman so close to Rand al’Thor? And Elayne. If he feels for her half what she does for him, holding her will tie a cord to him he’ll never be able to cut.”
Nynaeve stood, forcing her knees straight. “You can make the beds and clean the room, now. I expect to find it spotless when I return.”
“How much time do you have?” Moghedien said before she reached the door. The woman could have been asking whether the water was hot for tea. “A few more days at most before they send their answer back to Tar Valon? A few hours? How will they balance Rand al’Thor, and even Elaida’s supposed crimes, against making their precious White Tower whole again?”
“Pay special attention to the chamber pots,” Nynaeve said without turning around. “I want them clean this time.” She left before Moghedien could say anything else, shutting the door behind her firmly.
She leaned back against the rough wooden planks, breathing deeply in the cramped windowless hallway. Dipping into her belt pouch, she plucked out a small sack and popped two frilly goosemint leaves into her mouth. Goosemint took time to soothe a burning belly, but she chewed and swallowed as though haste could make it work faster. The last few moments had been one blow after another as Moghedien shattered one thing after another that she had known. Even with all her distrust, she had believed the woman cowed. False. Oh, Light, false. She had been sure Moghedien knew almost as little about Elayne and Rand as the Aes Sedai did. False. And for her to suggest going to him . . . they had talked too freely in front of her. What else had they let slip, and what use could Moghedien make of it?
Another Accepted entered the dim hall from the small house’s front room, and Nynaeve straightened, tucking the goosemint away and smoothing her dress. Every room but the front one had been made into sleeping quarters, and Accepted and servants filled them, three or four to a room not much larger than the one behind her and sometimes two to a bed. The other Accepted was a slight woman, almost wispy, with gray eyes and a quick grin. An Illianer, Emara did not like Siuan or Leane, which Nynaeve found easy to understand, and thought they should be sent away—decently, as she put it—the way stilled women always had been, but aside from that she was pleasant, not even resenting Elayne and Nynaeve’s “extra space” or “Marigan” doing their chores. No few did.
“I hear you do be copying for Janya and Delana,” she said in her high-pitched voice, brushing past toward her own room. “Take my advice, and write as fast you can. Janya does care more for getting all her words down than for a few smudges.”
Nynaeve glared at Emara’s back. Write slow for Delana. Write fast for Janya. A fine lot of counsel that added up to. In any case, she could not make herself worry about blotting copy now. Or even about Moghedien, until she had a chance to talk it over with Elayne.
Shaking her head and muttering under her breath, she stalked outside. Maybe she had been taking things for granted, letting things slip, but it was time to give herself a good shake and stop it. She knew who she had to find.
In the last few days a quiet had settled over Salidar, although the streets were just as crowded. For one thing, the forges outside the village were silent. Everyone had been told to guard their tongues while Tarna was there, about the embassy on its way to Caemlyn, about Logain, who was safely tucked away in one of the soldiers’ camps, even about the soldiers themselves, and why they had been gathered. It left most fearful of saying anything at all above a whisper. The low buzz of talk had an anxious note.
Everyone was affected. Servants who normally hurried now moved hesitantly, casting fearful glances over their shoulders. Even Aes Sedai seemed wary beneath their calm, eyeing each other in a calculating manner. There were few soldiers in the streets now, as though Tarna had not seen her fill the first day and come to her own conclusions. The wrong answer to the Hall would put nooses around all their necks; even rulers and nobles who wanted to stand aside from the Tower troubles would likely hang any soldiers they laid hands on, just to keep the notion of rebellion from spreading. Feeling the uncertainty, those few wore carefully blank faces or anxious frowns. Except for Gareth Bryne, waiting patiently in front of the Little Tower. He had been there every day, from before the Sitters arrived until they left. She thought he wanted to make sure they remembered him, and what he was doing for them. The one time she had seen the Sitters coming out, they had not appeared pleased to see him.
Only the Warders seemed no different for the Red sister’s arrival. The Warders and the children. Nynaeve gave a start when three small girls burst up in front of her like quail, ribbons in their hair, sweaty, dusty and laughing as they ran. The children did not know what Salidar waited for, and likely would not understand if they did know. Each Warder would follow his Aes Sedai, whatever she decided and wherever she went, and never turn a hair.
Most of the muted talk seemed to be about the weather. That and tales from elsewhere about strange happenings, two-headed calves talking and men smothered by swarms of flies, all the children in a village disappearing in the middle of the night and people struck dead by something unseen in broad daylight. Anyone who could think clearly knew that the drought and unseasonable heat were the Dark One’s hand touching the world, but even most Aes Sedai doubted Elayne and Nynaeve’s claims that the other happenings were as real, that bubbles of evil were rising from the Dark One’s prison as the seals weakened, rising and drifting along the Pattern till they burst. Most people could not think clearly. Some blamed it all on Rand. Some said the Creator was displeased that the world had not gathered behind the Dragon Reborn, or displeased that the Aes Sedai had not captured and gentled him, or displeased that Aes Sedai were opposing a seated Amyrlin. Nynaeve had heard people say the weather would come right as soon as the Tower was whole again.  “There’s a Whitecloak army massed the other side the Eldar, just waiting word from Elaida to attack.” Aside from the weather and two-headed calves, tales of Whitecloaks outnumbered every other sort, but Whitecloaks waiting orders from Elaida? The heat had melted the woman’s brains!
“The Light stand witness, it’s true,” a grizzled carter muttered to a frowning woman whose well-cut wool dress marked her an Aes Sedai’s maid. “Elaida’s dead. The Red’s come to summon Sheriam to be the new Amyrlin.” The woman nodded, accepting every word of it.
“I say Elaida’s a fine Amyrlin,” one rough-coated man-said, shifting a bundle of fagots on his shoulder. “As fine as any.” He did not murmur to his companion. He spoke loudly, trying hard not to look around to see who had heard him.
Nynaeve’s mouth twisted sourly. He wanted to be overheard. How had Elaida discovered Salidar so quickly? Tarna must have left Tar Valon soon after Aes Sedai began gathering in the village. Siuan had pointed out darkly that a goodly number of Blue sisters were still missing—the original message to gather in Salidar had been aimed at Blues—and Alviarin was accomplished at applying the question. A stomach-turning thought, but not as wrenching as the most common explanation: secret supporters of Elaida here in Salidar. Everybody looked sideways at everybody else, and the woodsman was not the first Nynaeve had heard say much the same, in the same manner. Aes Sedai might not say it, but Nynaeve suspected some wanted to. It all stirred Salidar into a stew, and not a tasty one. It made what she was doing even more right.
Finding who she sought took time. She needed groups of children playing, and there were not many children in Salidar. Sure enough, Birgitte was watching five boys scramble about the street throwing a small bag of pebbles at each other, all laughing uproariously whenever one of them was hit, including the one hit. It made no more sense than most boys’ games. Or men’s.
Birgitte was not alone, of course. She seldom was unless she made an effort to be. Areina stood at her shoulder, dabbing at the perspiration streaming down her face and trying not to show boredom with the children. A year or two younger than Nynaeve, Areina wore her dark hair in a braid patterned after Birgitte’s golden one, though still little below her shoulders; Birgitte’s hung properly to the waist. Her clothes copied Birgitte, too, a waist-length coat of pale gray, and voluminous bronze-colored trousers, gathered at the ankle above short boots with raised heels, as did the bow she carried and the quiver at her waist. Nynaeve did not think Areina had ever held a bow before meeting Birgitte. She ignored the woman.
“I need to talk to you,” she told Birgitte. “Alone.”
Areina glanced at her, blue eyes close to contempt. “I’d think you’d be wearing your shawl this fine day, Nynaeve. Oh, my. You seem to be sweating like a horse. Why is that?”
Nynaeve’s face tightened. She had befriended the woman before Birgitte had, but the friendship melted on reaching Salidar. Learning that Nynaeve was not full Aes Sedai brought something more than disappointment. Only a request from Birgitte had held Areina back from informing the Aes Sedai that she had masqueraded as one. Besides, Areina had taken the oaths as a Hunter for the Horn, and Birgitte was certainly a better model for that life than Nynaeve. To think she had once pitied the woman her bruises!
 Areina snorted a laugh, but she looked shocked. Why she should, Nynaeve did not know; the woman had had plenty of time to become used to Birgitte’s so-called sense of humor, more suited as it was to some unshaven man with his nose in a mug and his belly full of ale.
Nynaeve studied the boys’ play for a minute to give her irritation a chance to die down.
Seve and Jaril were among the boys dodging and tossing the bag. The Yellows had been right about them; time was what they had needed. After close to two months in Salidar with other children and no fear, they laughed and shouted as loudly as the rest.
A sudden thought hit her like a hammer. “Marigan” still looked after them, if grudgingly, saw that they were bathed and fed, but now that they were talking again, at any time they might tell that the woman was not their mother. Perhaps they already had. That might not cause questions, but then again it might, and questions could bring the house of twigs they had built tumbling down on their heads. The ball of ice reappeared in the pit of Nynaeve’s belly. Why had she not thought of this before?
She gave a start as Birgitte touched her arm. “What is wrong, Nynaeve? You look as though your best friend died and cursed you with her last breath.”
Areina was striding away, stiff-backed, casting one look over her shoulder at them. The woman could watch Birgitte drink and flirt with men without turning a hair, and even try to emulate her, yet she bristled every time Birgitte wanted to be alone with Elayne or Nynaeve. Men were no threat; only women could be friends in Areina’s book, but only she could be Birgitte’s friend. The idea of having two friends seemed foreign to her. Well, enough and be done with her.
“Could you get horses for us?” Nynaeve tried to steady her voice. That was not what she had come to ask, but Seve and Jaril made it an excellent question. “How long will it take?”
Birgitte drew her out of the street, to the mouth of a narrow alley between two weathered houses, and looked around carefully before answering. No one was close enough to overhear, or pay them any mind. “A day or two. Uno was just telling me—”
“Not Uno! We will leave him out of this. Just you, me, Elayne and Marigan. Unless Thom and Juilin return in time. And Areina, I suppose, if you insist.”
“Areina’s a fool some ways,” Birgitte said slowly, “but life will wring that out of her, or wring her out. You know I’d never insist on her going along if you and Elayne don’t want her.”
Nynaeve kept silent. The woman was behaving as if she was the jealous one! It was none of her affair if Birgitte wanted to take up with somebody as fickle as Areina.
Rubbing a knuckle across her lips, Birgitte frowned. “Thom and Juilin are good men, but the best way to avoid trouble is to make sure no one wants to trouble you. A dozen or so Shienarans in armor—or out—would go a long way toward that. I don’t understand you and Uno. He is tough, and he’d follow you and Elayne into the Pit of Doom.” A sudden grin bloomed on her face. “Besides, he’s a well-set-up fellow.”
“We do not need anyone to hold our hands,” Nynaeve told her stiffly. Well set up? That painted eyepatch flashed queasily across her mind, and the scars. The woman had the strangest taste in men. “We can handle anything that comes our way. I’d think we’ve already proved that, if it needed proof.”
“I know we can, Nynaeve, but we’ll draw trouble like flies to a midden. Altara’s at a slow boil. Every day brings another tale of Dragonsworn, and I’ll wager my best silk dress against one of your old shifts that half of them are really just brigands who’ll see four women alone as easy meat. We will have to prove we’re not every second day. Murandy’s worse, I hear, full of Dragonsworn and bandits and refugees from Cairhien, afraid the Dragon Reborn will fall on them any day. I assume you don’t mean to cross over into Amadicia. I assume it’s Caemlyn.” Her intricate braid swung slightly as she tilted her head and raised a questioning eyebrow. “Does Elayne agree with you about Uno?”
“She will,” Nynaeve muttered.
“I see. Well, when she does, I will procure as many horses as we need. But I want her to tell me why we should not take Uno.”
The unyielding finality of her tone heated Nynaeve’s face angrily. If she did ask Elayne ever so sweetly to tell Birgitte that Uno was to stay here, they might well find him waiting down the road, and Birgitte all amazement over how he knew they were going and which way. The woman might be Elayne’s Warder, but sometimes Nynaeve wondered which of them was really in charge. When she found Lan—when, not if!—she intended to make him swear oaths fit to curl his hair that he would abide by her decisions.
She drew deep calming breaths. No point arguing with a stone wall. She might as well get on to the reason she had hunted up Birgitte in the first place.
Casually she took a step deeper into the narrow alley, making the other woman follow. Brown stubble remained underfoot from the brush that had been cleared out of it. Trying to appear offhanded, she studied the press in the street. Still no one giving them more than a glance. She lowered her voice anyway. “We need to know what Tarna is telling the Hall, and what they’re telling her. Elayne and I have tried to find out, but they ward the meetings against eavesdropping. Only with the Power, though. They’re so caught up that someone can listen in that way, they seem to have forgotten about pressing an ear to a door. If someone were to—”
Birgitte cut her off in a flat voice. “No.”
“At least consider it. Elayne or I are ten times as likely to be caught as you.” She thought of adding that Elayne was rather clever, but the other woman sniffed.
“I said no! You’ve been many things since I’ve known you, Nynaeve, but never silly. Light, they’ll announce it to everyone in a day or two.”
“We need to know now,” Nynaeve hissed, swallowing. “You man-brained idiot.” Silly? Of course she had never been silly! She must not be angry. If she could convince Elayne to go, they might not be here in a day or two. Best not to open that bag of snakes again.
Shuddering—a touch ostentatiously, Nynaeve thought—Birgitte leaned on her bow. “I was caught spying on Aes Sedai once. They tossed me out on my ear three days later, and I left Shaemal as fast as I could reach a horse. I will not go through that to gain you a day you don’t need.”
Nynaeve remained calm. She made an effort to maintain a smooth face, to not grind her teeth, to not yank her braid. She was calm. “I never heard any story about you spying on Aes Sedai.” As soon as the words were out of her mouth, she wanted them back. The core of Birgitte’s secret was that she was the Birgitte in the stories. Nothing that made that connection was ever to be mentioned.
For a moment Birgitte’s face was stone, hiding everything inside. It was enough to make Nynaeve shiver; there was too much pain wrapped in the other woman’s secret. Finally stone became flesh once more, and Birgitte sighed. “Time changes things. I hardly recognize half those tales myself, and the other half not at all. We’ll not speak of it again.” That was very plainly not a suggestion.
Nynaeve opened her mouth with no clear idea of what to say—her own debt to Birgitte meant she did not want to poke at the woman’s pain, but to be balked over two simple requests . . . !—and a third woman’s voice spoke suddenly from the mouth of the alley.
“Nynaeve, Janya and Delana want you right this minute.”
Nynaeve tried to climb straight up into the air; her heart tried to climb through the roof of her mouth.
In the mouth of the alley, novice-clad Nicola looked startled for a moment. So did Birgitte; then she studied her bow, looking amused.
Nynaeve had to swallow twice before she could force a word out. How much had the woman heard? “If you think that’s any way to speak to an Accepted, Nicola, you had best learn better quickly, or you will be taught.”
It was a properly Aes Sedai thing to say, but the slender woman’s dark eyes surveyed Nynaeve, weighing and measuring. “I am sorry, Accepted,” she said, curtsying. “I will try to be more careful.”
The curtsy was just exactly deep enough for an Accepted, to the inch, and if the tone was cool, it was not cool enough to call her down for. Areina had not been the only traveling companion disappointed by learning the truth about Elayne and Nynaeve, but Nicola had agreed to keep the secret as if surprised they thought they had to ask. Then, after testing revealed she could learn to channel, the weighing and measuring entered her eyes.
Nynaeve understood all too well. Nicola lacked the inborn spark—without teaching, she would never have touched saidar—but already her promise was spoken of, the strength she would have one day if she applied herself. Two years earlier, with more potential than any novice in centuries, she would have caused real excitement. That was before Elayne and Egwene, and Nynaeve herself, though. Nicola never said anything, yet Nynaeve was certain she was determined to match Elayne and Nynaeve, if not better them. She never stepped over the line of propriety, but she often walked it.
Nynaeve gave her a sharp nod. Understanding did not stop her wanting to dose the fool woman with triple-strength sheepstongue root for pure idiocy. “See that you do. Go tell the Aes Sedai I will be with them in just a few moments.” Nicola curtsied again, but as she turned away, Nynaeve said, “Wait.” The woman stopped immediately. It was not there now, but for an instant Nynaeve had been sure she saw a flash of—satisfaction? “Did you tell me everything?”
“I was sent to tell you to come, Accepted, and I did.” Bland as water a week in the pitcher.
“What did they say? Their exact words.”
“Exact words, Accepted? I don’t know that I can remember their exact words, but I’ll try. Remember it was them who said it; I’m only repeating.  And Delana Sedai said, ‘She’ll be that old before she decides to appear. If she isn’t here inside the quarter hour, I will turn her hide into dust rags.’ ” Her eyes were innocence itself. “That was about twenty minutes ago, Accepted. Maybe a little longer.”
Nynaeve very nearly swallowed again. Just because Aes Sedai could not lie did not mean every threat had to be taken literally, but sometimes a sparrow would starve on the difference. With anybody but Nicola, she would have yelped “Oh, Light!” and scurried. Not under those eyes. Not in front of a woman who seemed to be storing up a list of her weaknesses. “In that case, I suppose there’s no need for you to run ahead of me. Go on about your duties.” Turning her back on Nicola’s curtsy as if she had no care in the world, she spoke to Birgitte. “I’ll talk with you later. I suggest you do nothing about the matter until then.” With luck that might keep her away from Uno. With a great deal of luck.
“I will consider your suggestion,” Birgitte said gravely, but there was nothing grave about the mixture of sympathy and amusement on her face. The woman knew Aes Sedai. In some ways, she knew more about Aes Sedai than any Aes Sedai.
There was nothing for it but to accept and hope. As Nynaeve started up the street, Nicola fell in beside her. “I told you to be about your duties.”
“They said to come back when I found you, Accepted. Is that one of your herbs? Why do you use herbs? Is it because you can’t—? Forgive me, Accepted. I should not have mentioned that.”
Nynaeve blinked at the sack of goosemint in her hand—she did not remember taking it out—and stuffed it back in her pouch. She wanted to chew the whole sackful of leaves. She ignored the apology and its cause; one was surely as false as the other was deliberate. “I use herbs because Healing isn’t always necessary.” Would the Yellows disapprove if that got back to them? They were contemptuous of herbs; they only seemed interested in illnesses that did need Healing. Or those where it was not cracking pecans with a sledgehammer, anyway. What was she doing worrying over what she said to Nicola in case it should be carried to Aes Sedai? The woman was a novice, no matter how she looked at her and Elayne. It did not matter how she looked at them. “Keep quiet,” she said irritably. “I want to think.”
Nicola did keep quiet as they wended their way through the crowded streets, but it seemed to Nynaeve that the woman’s steps dragged. Perhaps it was only imagination, but Nynaeve’s knees began to ache from the effort of not outpacing her. Under no circumstances would she let Nicola see her even appear to hurry.
The situation set a slow burn inside her. Of everybody who could have been sent to fetch her, it was hard to imagine anyone worse than Nicola and her eyes. Birgitte was probably running off to find Uno right that minute. The Sitters were probably telling Tarna they were ready to kneel and kiss Elaida’s ring. Seve and Jaril were probably telling Sheriam they did not know “Marigan” from a wild goose. It had been that kind of day, and the molten sun stood only a quarter toward its peak in the cloudless sky.
Janya and Delana were waiting in the front room of the small house they shared with three other Aes Sedai. Each with her own bedroom, of course. Each Ajah had a house for its meetings, but Aes Sedai were scattered about through the village depending on when they had come in. Frowning at the floor, lips pursed, Janya appeared unaware of their arrival. Pale-haired Delana, though—her hair was so fair there was no telling whether there was white in it or not—Delana focused her equally pale blue eyes on them as soon as they set foot inside the door. Nicola jumped. Nynaeve would have felt better about that had she not done the same. Usually the stout Gray’s eyes were no different from any other Aes Sedai’s, but when she really focused on you, it was as if nothing else existed but you. Some said Delana was successful as a mediator because both sides would agree just to make her stop staring at them. You started thinking of what you had done wrong even if you had done nothing. The list that popped into Nynaeve’s head made her curtsy as deeply as Nicola before she knew it.
“Ah,” Janya said, blinking as if they had sprung out of the floor, “there you are.”
“Forgive me for being late,” Nynaeve said hastily. Let Nicola hear whatever she wanted. Delana was staring at her, not Nicola. “I lost track of the time, and—”
“No matter.” Delana’s voice was deep for a woman, her accent a throaty echo of Uno’s Shienaran. It was oddly melodious in such a round woman, but then Delana was oddly graceful for one so stout. “Nicola, be off with you. You’ll be running errands for Faolain until your next lesson.” Nicola wasted no time dropping another curtsy and darting out. Maybe she had wanted to hear what the Aes Sedai said to Nynaeve for being late, but no one walked any lines with Aes Sedai.
Nynaeve would not have cared if Nicola sprouted wings. She had just realized there was no inkpot on the table where the Aes Sedai took their meals, no sand bowl, no pen, no paper. None of what she would need. Had she been supposed to bring it? Delana was still staring at her. The woman never stared at anyone that long. She never stared at all unless she had a reason.
“Would you like cool mint tea?” Janya said, and it was Nynaeve’s turn to blink. “I do think tea is comforting. It smooths conversation, I always find.” Not waiting for an answer, the bird-like Brown sister began filling mismatched cups from a blue-striped teapot on the sideboard. A rock stood in place of one of the sideboard’s legs. Aes Sedai might have more room, but their furnishings were just as battered. “Delana and I decided our notes could wait for another time. We will just talk, instead. Honey? I prefer it without, myself. All that sweetness ruins the flavor. Young women always want their honey. Such wonderful things you’ve been doing. You and Elayne.” A loud throat-clearing made her look at Delana questioningly. After a moment Janya said, “Ah. Yes.”
Delana had pulled one of the chairs from the table into the middle of the bare floor. One cane-bottomed chair. From the moment Janya mentioned conversation Nynaeve had known that that was not at all what was going to happen. Delana motioned to the chair, and Nynaeve took a seat on the very edge of it, accepted a cup on a chipped saucer from Janya with a murmured “Thank you, Aes Sedai.” She did not have long to wait.
“Tell us about Rand al’Thor,” Janya said. She appeared ready to say more, but Delana cleared her throat again; Janya blinked and fell silent, sipping her tea. They stood to either side of Nynaeve’s chair. Delana glanced at her, then sighed and channeled the third cup to herself. It floated across the room. Delana fixed on her again in that way that seemed to bore holes in your head, Janya apparently lost in thought and maybe not seeing her at all.
“I’ve told you everything I know,” Nynaeve sighed. “Well, told Aes Sedai, anyway.” She had, too. Nothing she knew could harm him—not any more than knowing what he was, anyway—and it might help if she could make the sisters see him as a man. Not a man who could channel; just a man. Not an easy task with the Dragon Reborn. “I don’t know any more.”
“Don’t sulk,” Delana snapped. “And don’t fidget.”
Nynaeve set her cup back in the saucer and wiped her wrist on her skirt.
 I cannot think you would hold back on purpose—”
“Why would she not?” Delana barked. “Born in the same village. Watched him grow up. Her loyalties may be more to him than to the White Tower.” That razor gaze descended on Nynaeve again. “Tell us something you haven’t told before. I’ve heard all your stories, girl, so I will know.”
“Try, child.  Why—” Janya cut off at another throat-clearing.
Nynaeve hoped they thought her teacup rattling meant she was rattled as well. Dragged here terrified—no, not terrified, but worried at least—over how angry they might be, and now this.  You still might not catch what they really meant, but you had a better chance than if you listened with half an ear, the way most people usually did. Neither one had really said they thought she was keeping anything back. They just intended to frighten her on the chance that they might shake something else loose. She was not afraid of them. Well, not much. She was furious.
“When he was a boy,” she said carefully, “he would accept his punishment without any argument if he thought he deserved it, but if he didn’t think so, he fought every step of the way.”
Delana snorted. “You’ve told that to everyone who would listen. Something else. Quickly!”
“You can lead him, or convince him, but he won’t be pushed. He digs in his heels if he thinks you’re—”
“And that.” Hands on broad hips, Delana bent down until her head was level with Nynaeve’s. Nynaeve almost wished she had Nicola staring at her again. “Something you’ve not told every cook and laundress in Salidar.”
“Do try, child,” Janya said, and for a wonder left it at that.
They dug away, Janya prompting sympathetically, Delana boring without mercy, and Nynaeve brought up every scrap she could remember. It earned her no respite; every scrap had been told so many times before she could identify them by taste. As Delana kindly pointed out. Well, not so kindly. By the time Nynaeve managed to take a sip of her tea, it tasted stale, and the sweetness almost curled her tongue. Janya apparently really did believe young women liked lots of honey. The morning passed slowly. Very slowly.
“This is taking us nowhere,” Delana said at last, glaring at Nynaeve as if it were all her fault.
“May I go then?” Nynaeve asked wearily. Every drop of sweat that drenched her seemed to have been squeezed out. She felt limp. She also wanted to slap both those cool Aes Sedai faces.
Delana and Janya exchanged glances. The Gray shrugged and walked over to the sideboard for another cup of tea. “Of course you may,” Janya said. “I know this must have been difficult for you, but we really do need to know Rand al’Thor better than he knows himself if we are to decide what’s best. Otherwise, everything could turn to catastrophe. Oh, my, yes. You’ve done very well, child. But then, I never expected any less of you. Anyone who can make the discoveries you’ve made, with your handicap . . . why, I expect nothing less than excellence from you. And to think . . . ”
It took quite a while for her to run down and let Nynaeve stagger outside. Stagger she did, on wobbly knees. Everybody was talking about her. Of course they were. She should have listened to Elayne and begun leaving all the so-called discoveries to her. Moghedien was right. Sooner or later they were going to start probing for how she did it. So they had to decide what was best, to avoid catastrophe. No clue there to what they intended toward Rand.
A glance at the sun, almost overhead, told her she was already late for her appointment with Theodrin. At least she had a good excuse this time.
Theodrin’s house—hers and two dozen other women’s—lay beyond the Little Tower. Nynaeve slowed as she came abreast of the onetime inn. The gaggle of Warders out front near Gareth Bryne were evidence the meeting still went on. A residue of anger enabled her to see the ward, a close flat dome mostly of Fire and Air with touches of Water, shimmering to her eyes over the entire building, the knot holding it in tantalizing fashion. Touching that knot would be as good as offering her hide to a tannery; there were plenty of Aes Sedai in the crowded street. Now and then some of the Warders moved back and forth through the shimmer, invisible to them, as one group broke up and another formed. The same ward Elayne had failed to penetrate. A shield against eavesdropping. With the Power.
Theodrin’s house stood a hundred paces or so farther up the street, but Nynaeve turned into the yard beside a thatch-roofed house just two beyond the former inn. A rickety wooden fence enclosed the tiny plot of withered weeds behind the house, but it had a gate, hanging on one hinge that was nearly all rust. It squealed murderously when she shifted the gate. She looked around hastily—no one at any of the windows; no one in the street could see her—gathered her skirts and darted through into the narrow alleyway that eventually ran by the room she shared with Elayne.
For a moment she hesitated, wiping sweaty palms on her dress, remembering what Birgitte had said. She knew she was a coward at heart, much as she hated the fact. Once she had thought herself brave enough. Not a hero, like Birgitte, but brave enough. The world had taught her better. Just thinking of what the sisters would do if they caught her—made her want to turn around and run to Theodrin. The chance was vanishingly small that she could actually find a window on the very room where the Sitters were. Impossibly small.
Trying to work some moisture back into her mouth—how could her mouth be so dry when the rest of her was so damp?—she crept closer. One day she wanted to know what it was like to be brave, like Birgitte or Elayne, instead of a coward.
The ward did not tingle when she stepped through. It did not feel like anything at all. She had known it would not. Touching it could do no harm, but she flattened herself against the rough stone wall. Bits of creeper clinging to its cracks brushed her face.
Slowly she edged along to the nearest casement window—and nearly turned around and left right then. It was shut tight, all the glass gone, replaced by oiled cloth that might let in light but certainly did not allow her to see anything. Or hear anything; at least, if there was anybody on the other side, no noise escaped. Taking a deep breath, she inched to the next window. One pane had been replaced here too, but the remainder showed a battered once-ornate table covered with papers and inkpots, a few chairs, and an otherwise empty room.
Muttering a curse she had heard from Elayne—the girl had a surprising stock of such tucked away—she felt her way along the rough stone. The third window was swung out. She pressed her nose close. And jerked back. She had not really believed she would find anything, but Tarna was in there. Not with Sitters, but Sheriam and Myrelle and the rest of that lot. If her heart had not been pounding so hard, she would have heard the murmur of their voices before she looked.
Kneeling down, she moved as close to the casement as she could without being seen by those inside. The bottom of the window rubbed against her head.
“ . . . sure that is the message you wish me to carry back?” That steely voice had to be Tarna’s. “You request more time to consider? What is there to consider?”
“The Hall—” Sheriam began.
“The Hall,” the Tower envoy scoffed. “Do not believe me blind to where power lies. That so-called Hall thinks what you six tell them to think.”
“The Hall, it has asked for more time,” Beonin said firmly. “Who can say what decision they will reach?”
“Elaida will have to wait to hear their decision,” Morvrin said in a fair imitation of Tarna’s icy tone. “Can she not wait a small time to see the White Tower whole once more?”
Tarna’s reply was even colder, though.  We shall see what she thinks of it.” A door opened and closed with a sharp bang.
Nynaeve could have screamed with frustration. Now she knew the answer, but not the question. If only Janya and Delana had released her a little sooner. Well, it was better than nothing. Better than “We will return and obey Elaida.” There was no point staying here, waiting for someone to look out and see her.
She started to ease away, and Myrelle said, “Perhaps we should just send a message. Perhaps we should simply summon her.” Frowning, Nynaeve held her place. Her who?
“The forms must be met,” Morvrin said gruffly. “The proper ceremonies must be followed.”
Beonin spoke on her heels in firm tones. “We must meet every letter of the law. The smallest slip, it will be used against us.”
“And if we have made a mistake?”  “How long are we to wait? How long dare we wait?”
“As long as need be,” Morvrin said.
“As long as we must.” That from Beonin. “I have not waited this long for the biddable child just to abandon all our plans now.”
For some reason that produced a silence, although Nynaeve did hear someone murmur “biddable” again as if examining the word. What child? A novice or Accepted? It made no sense. Sisters never waited on novices or Accepted.
“We have gone too far to turn back, Carlinya,” Sheriam said finally. “Either we bring her here and make sure she does as she should, or we leave everything to the Hall and hope they do not lead us all to disaster.” From her tone, she considered that last a hope for fools.
“One slip,” Carlinya said coldly, even more coldly than usual, “and we will all end with our heads on pikes.”
“But who will put them there?” Anaiya asked thoughtfully. “Elaida, the Hall, or Rand al’Thor?”
Silence stretched, the skirts rustled, and the door opened and closed once more.
Nynaeve risked a peek. The room was empty. She made a vexed sound. That they intended to wait was small consolation; the final answer could still be anything. Anaiya’s comment showed they were still as wary of Rand as of Elaida. Maybe more. Elaida was not gathering men who could channel. And who was the “biddable child”? No, that was unimportant. They could have fifty schemes weaving she knew nothing about.
The ward winked out, and Nynaeve jumped. It was past time to be gone from here. Scrambling to her feet, she began dusting her knees vigorously as she stepped away from the wall. One step was all she took.
The apple-cheeked Domani woman met her gaze, not saying a word.
Hastily Nynaeve considered and rejected the fool claim that she had been searching for something she dropped. Instead she straightened and walked slowly by the other woman as if there was nothing to explain. Theodrin fell in beside her silently, hands folded at her waist. Nynaeve considered her options. She could hit Theodrin over the head and run. She could get back on her knees and plead. Both notions had a good deal wrong with them to her way of thinking, but she could not pull up anything in between.
“Have you been keeping calm?” Theodrin asked, looking straight ahead.
Nynaeve gave a start. That had been the other woman’s instruction to her after yesterday’s attempt to break down her block. Keep calm, very calm; think only quiet composed thoughts. “Of course,” she laughed weakly. “What could there be to upset me?”
’That is good,” Theodrin said serenely. “Today I mean to try something a little more . . . direct.”
Nynaeve glanced at her. No questions? No accusations? The way this day had been going she could not believe she was getting off so lightly.
Neither saw the woman watching them from a second-story window.


Yesterday we had a little introduction to Ninject. Today I’d like to examine what’s involved in getting some AOP style logging going for your application. I find that there are only very few places where I’m logging something that steps out of the bounds of being called at the end of the method when things succeed. I’m generally more interested in what happens when things go wrong and that’s when I log the exception. In some cases I’ll be interested in the actual parameters.
The code I’m going to show you will take care of basic logging needs but if you want more information about what happens inside your method you’re either going to need to extend my implementation or log the call from within your method body. We’re going to implement logging that when run with the debug level turned on will tell us that a method is going to execute, whether it finished successfully or with an error and if there was an error it will also log the exception.
To get this thing on the road, on the LightSpeed road that is. We’re going to use NLog to get flexible routing of log messages. We’re first going to create a LightSpeedTarget that is a customized NLog target (route destination) for your log messages.
namespaceLoggingDemo.UI.Integration{/// <summary>/// This class represents a NLog target that we can reference in the NLog.config file/// You can use this to use Lightspeed to log to the database just like a file target etc./// </summary> [Target("LightSpeedTarget")]publicclassLightSpeedTarget:TargetWithLayout{publicLightSpeedTarget(){Layout="${message}";}protectedoverridevoidWrite(LogEventInfologEvent){varlogMessage=CompiledLayout.GetFormattedMessage(logEvent);varappEvent=newApplicationEvent{Sequence=logEvent.SequenceID,EventTime=logEvent.TimeStamp,Level=logEvent.Level.Name,LoggerName=logEvent.LoggerName,Message=logMessage};if(logEvent.Exception!=null)appEvent.Exception=logEvent.Exception.ToString();if(logEvent.StackTrace!=null)appEvent.StackTrace=logEvent.StackTrace.ToString();if(logEvent.UserStackFrame!=null)appEvent.UserStackFrame=logEvent.UserStackFrame.ToString();Repository.Add(appEvent);Repository.CompleteUnitOfWork();}}}
The class above overrides the TargetWithLayout class from the NLog project. The attribute tells NLog how to find this target. In the constructor I override the default message layout because it was a bit too verbose to my liking.
We then override the Write method where we map the properties to our ApplicationEvent. And lastly we add the event to the repository and commit it.
Now if we want our application to use this we’re going to have to tell it how. Nlog does this by looking for an nlog.config file in your application directory. So let’s go ahead and add an nlog.config file to our project. I’ll show you the nlog.config file for the application. In my unit test project I’m using the console logger so I can see what’s going on :)
The NLog.config file for the application:
My NLog.config file for my test project:
This enables our application to use the target we just created. Moving on now to the Interceptor which is Ninject specific (You can do the same with other DI frameworks). In Ninject you can tell the kernel to intercept a method on a class and execute some logic before and after invocation of the method. We can tell Ninject to intercept all methods on a class, specific methods or when we say all methods we can still exclude some of them. For our logging example I chose to use all methods on a class. You can do this by decorating the class with an [Intercept] attribute. If you would want a method not to be intercepted you can by decorating that method with an [DoNotIntercept] attribute.
I took the liberty of inheriting of that attribute first.. that makes the rest of my code look a little bit prettier.
usingSystem;usingNinject.Core.Interception;usingNinject.Core.Logging;namespaceLoggingDemo.UI.Interceptors{publicclassLoggingInterceptor:SimpleFailureInterceptor{privatereadonlyILogger_logger;privatebool_hasError;publicLoggingInterceptor(ILoggerlogger){_logger=logger;_hasError=false;}protectedoverridevoidBeforeInvoke(IInvocationinvocation){_logger.Debug("About to invoke {0}",MethodNameFor(invocation));}protectedoverridevoidOnError(IInvocationinvocation,Exceptionexception){_logger.Error(exception,"There was an error invoking {0}.\r\n",MethodNameFor(invocation));_hasError=true;base.OnError(invocation,exception);}protectedoverridevoidAfterInvoke(IInvocationinvocation){_logger.Debug("invocation of {0} finished {1}.",MethodNameFor(invocation),(_hasError?"with an error state":"successfully"));}privatestaticstringMethodNameFor(IInvocationinvocation){returninvocation.Request.Method.Name;}}}
This class only overrides a couple of callbacks from its base class the SimpleFailureInterceptor. This is where the actual interception takes place.
This is al the work that is involved in the actual implementation of our logger. Now I’d like to get some confirmation that things actually do work. Unit testing to the rescue I’d say ;)
The first thing we’re going to need is way to verify that stuff actually got intercepted. I did that by subclassing the LoggingInterceptor with a LoggingCounterInterceptor in my unit test project.
publicclassLoggingCounterInterceptor:LoggingInterceptor{publicintCount{get;privateset;}publicintErrorCount{get;privateset;}publicvoidReset(){Count=ErrorCount=0;}publicLoggingCounterInterceptor(ILoggerlogger):base(logger){}protectedoverridevoidBeforeInvoke(Ninject.Core.Interception.IInvocationinvocation){Count++;base.BeforeInvoke(invocation);}protectedoverridevoidOnError(Ninject.Core.Interception.IInvocationinvocation,System.Exceptionexception){ErrorCount++;base.OnError(invocation,exception);}}//The attribute for testingpublicclassLogMyCallsCounterAttribute:InterceptAttribute{publicLogMyCallsCounterAttribute():base(typeof(LoggingCounterInterceptor)){}}
In the code above we’re just adding 2 counter properties to the interceptor and adding their counts at the appropriate time. Next we’re going to need some kind of service class or something on which we can use our interceptor, enter the InterceptedServiceMock.
12345678910111213141516171819
publicinterfaceIInterceptedServiceMock{voidMethodWithoutBody();voidMethodThatThrowsAnException();}[LogMyCallsCounter]publicclassInterceptedServiceMock:IInterceptedServiceMock{publicvirtualvoidMethodWithoutBody(){// Nothing to do here}publicvirtualvoidMethodThatThrowsAnException(){thrownewException("Because I can.");}}
The code above has one method that should execute and one method that throws an exception so we can verify things get picked up accordingly. Now all that’s left to do is write the appropriate specs for them and see if they pass :)
[Context(Description = "Specifies the behavior for the LogMyCallsInterceptor")]publicclassLogMyCallsInterceptorSpec{privateIKernel_kernel; [BeforeEach]publicvoidBefore(){varinlineModule=newInlineModule(m=>m.Bind<IInterceptedServiceMock>().To<InterceptedServiceMock>());_kernel=newStandardKernel(newLinFuModule(),newNLogModule(),inlineModule);} [AfterEach]publicvoidAfter(){_kernel.Dispose();} [Specification("All this should do is show the calls in the test runner. It should log to the console")]publicvoidShouldShowCallsInConsole(){varservice=_kernel.Get<IInterceptedServiceMock>();IContextcontext=newStandardContext(_kernel,typeof(IInterceptedServiceMock));IRequestrequest=newStandardRequest(context,service,typeof(InterceptedServiceMock).GetMethod("MethodWithoutBody"),newobject[0]);varinterceptors=_kernel.GetComponent<IInterceptorRegistry>().GetInterceptors(request);varenumerator=interceptors.GetEnumerator();enumerator.MoveNext();Specify.That(interceptors.Count).Must.Equal(1,"There should be 1 interceptor registered");Specify.That(enumerator.Current).Must.Be.InstanceOf(typeof(LoggingCounterInterceptor));varinterceptor=enumerator.CurrentasLoggingCounterInterceptor;service.MethodWithoutBody();Specify.That(interceptor).Must.Not.Be.Null();Specify.That(interceptor.Count).Must.Equal(1,"There should be 1 invocation counted.");} [Specification("Should show valid counts for a number of invocations")]publicvoidShould_Show_Correct_Counts_For_Number_Of_Invocations(){varservice=_kernel.Get<IInterceptedServiceMock>();IContextcontext=newStandardContext(_kernel,typeof(IInterceptedServiceMock));IRequestrequest=newStandardRequest(context,service,typeof(InterceptedServiceMock).GetMethod("MethodWithoutBody"),newobject[0]);varinterceptors=_kernel.GetComponent<IInterceptorRegistry>().GetInterceptors(request);varenumerator=interceptors.GetEnumerator();enumerator.MoveNext();Specify.That(interceptors.Count).Must.Equal(1,"There should be 1 interceptor registered");Specify.That(enumerator.Current).Must.Be.InstanceOf(typeof(LoggingCounterInterceptor));varinterceptor=enumerator.CurrentasLoggingCounterInterceptor;service.MethodWithoutBody();service.MethodWithoutBody();service.MethodWithoutBody();Specify.That(interceptor).Must.Not.Be.Null();Specify.That(interceptor.Count).Must.Equal(3,"There should be 3 invocations counted.");Specify.That(interceptor.ErrorCount).Must.Equal(0,"There should be no errors counted.");} [Specification("Should have the correct count of invocations and the correct error count.")]publicvoidShould_Have_Correct_Invocation_And_Error_Count(){varservice=_kernel.Get<IInterceptedServiceMock>();varcontext=newStandardContext(_kernel,typeof(IInterceptedServiceMock));varrequest=newStandardRequest(context,service,typeof(InterceptedServiceMock).GetMethod("MethodWithoutBody"),newobject[0]);varerrorRequest=newStandardRequest(context,service,typeof(InterceptedServiceMock).GetMethod("MethodThatThrowsAnException"),newobject[0]);varinterceptors=_kernel.GetComponent<IInterceptorRegistry>().GetInterceptors(request);varerrorInterceptors=_kernel.GetComponent<IInterceptorRegistry>().GetInterceptors(errorRequest);varenumerator=interceptors.GetEnumerator();enumerator.MoveNext();varerrorEnumerator=errorInterceptors.GetEnumerator();errorEnumerator.MoveNext();Specify.That(interceptors.Count).Must.Equal(1,"There should be 1 interceptor registered");Specify.That(enumerator.Current).Must.Be.InstanceOf(typeof(LoggingCounterInterceptor));Specify.That(errorInterceptors.Count).Must.Equal(1,"There should be 1 error interceptor registered");Specify.That(errorEnumerator.Current).Must.Be.InstanceOf(typeof(LoggingCounterInterceptor));varinterceptor=enumerator.CurrentasLoggingCounterInterceptor;varerrorInterceptor=errorEnumerator.CurrentasLoggingCounterInterceptor;service.MethodWithoutBody();service.MethodWithoutBody();service.MethodWithoutBody();try{service.MethodThatThrowsAnException();}catch{}Specify.That(interceptor).Must.Not.Be.Null();Specify.That(interceptor.Count).Must.Equal(3,"There should be 3 invocations counted.");Specify.That(errorInterceptor.Count).Must.Equal(1,"There should be 1 invocation counted.");Specify.That(errorInterceptor.ErrorCount).Must.Equal(1,"There should be 1 error counted.");}}
Testing this got a little messy I have to admit that. Now for a concrete example of how that looks in my application:
And that’s how I implemented logging for my application :) Needless to say it was the testing that took me the longest to write. And from now on I don’t have to worry anymore about forgetting that logger call. I always have minimal logging going. AOP is usefull in a lot more cases but this seemed like a good and easy example.
Our next post will deal with initializing the modules in your application and their respective behaviors.


Drop markers on a map that any user can move. Synchronize the map continuously or on click.
Edit shopping list items and quantities cooperatively. See where other users have focus based on a highlight. This implementation of this demo is described in detail in the Creating a cooperative shopping list tutorial in the OpenCoweb docs.
Tip: Add ?cowebkey=anything to a demo URL to join a unique session keyed by "anything" using the app.


{% include "partials/basicprofile.html" ignore missing %}
{% include "partials/profile/key-info.html" ignore missing %}
{% include "partials/profile/team_component.html" ignore missing %}
{% include "partials/profile/communities.html" ignore missing %}
{% include "partials/people_finder.html" ignore missing %}
Availability
{% include "partials/week_availability.html" ignore missing %}
{% include "partials/profile/next-meeting.html" ignore missing %}
{% include "partials/todo_list.html" ignore missing %}
{% include "partials/skills_component.html" ignore missing %}
{% for service in user_services %}
{% if service.data.id == "expenses" %}
{% include "partials/expenses_widget.html" ignore missing %}
{% endif %}
{% endfor %}
{% include "partials/profile/equip_component.html" ignore missing %}
{% include "partials/add_services.html" ignore missing %}
{% endblock %}


@main("Arrival"){
Twelve alien 'shells' arrive on Earth in various locations, seemingly at random. In an effort to make contact, a U.S. Army Colonel (Forrest Whitaker) recruits a linguistics professor (Amy Adams) and a leading mathematician to help with efforts for making first contact.


Is this relation an equivalence relation?
CHOICES[CHOICESINDEX]
A relation is an equivalence relation if it is reflextive, symmetric, and transitive.
Is the relation reflexive? That is, for every
element a
in the set, is (a, a)
in the relation?
Is the relation symmetric? That is, for every
pair a
, b
of distinct elements
in the set, if (a, b)
is in the relation,
is (b, a)
also in the relation?
Is the relation transitive on the set? That is, for any
three elements a
, b
,
and c
, if (a, b)
is in the
relation and (b, c)
is in the relation,
then is (a, c)
also in the relation?


{% extends "layout.html" %} {% block title %}Main Page{% endblock %} {% block content %}
Hello {{ username }}. Use the form below to select DICOM image files for contour creation.
As a reminder, only head and neck studies can be processed at this time.


HTTP Auth Interceptor Module Demo
for AngularJS
What is the purpose of this demo?
This demo application is to show you the implementation of the concept described in Authentication in AngularJS (or similar) based application.
This application does not talk to real server, it uses ngMockE2E module instead.
The HTTP Auth Interceptor module source code is available here:
https://github.com/witoldsz/angular-http-auth
The source code of this demo is available in the same project as
a GitHub Pages branch here:
https://github.com/witoldsz/angular-http-auth/tree/gh-pages
Enter some data and submit to send and access public data.
Server says: {{p}}
Enter some data and submit to send and access protected data.
Server says: {{r}}
Press the button to log out.
The button will tell the server to forget about your session and also it will remove sensitive data from page.
In real application it could do something else like:
- forcing login window to appear to hide data,
- reloading web page to purge application from received content or
- whatever you find appropriate...
comments powered by Disqus


Class: Celluloid::Receivers
- Inherits:
-
Object
- Object
- Celluloid::Receivers
- Defined in:
- lib/celluloid/receivers.rb
Overview
Allow methods to directly interact with the actor protocol
Instance Method Summary (collapse)
-
- (Object) fire_timers
Fire any pending timers.
-
- (Object) handle_message(message)
Handle incoming messages.
-
- (Receivers) initialize
constructor
A new instance of Receivers.
-
- (Object) receive(timeout = nil, &block)
Receive an asynchronous message.
-
- (Object) wait_interval
How long to wait until the next timer fires.
Constructor Details
- (Receivers) initialize
A new instance of Receivers
6 7 8 9 |
# File 'lib/celluloid/receivers.rb', line 6 def initialize @receivers = Set.new @timers = Timers.new end |
Instance Method Details
- (Object) fire_timers
Fire any pending timers
36 37 38 |
# File 'lib/celluloid/receivers.rb', line 36 def fire_timers @timers.fire end |
- (Object) handle_message(message)
Handle incoming messages
41 42 43 44 45 46 47 48 |
# File 'lib/celluloid/receivers.rb', line 41 def () receiver = @receivers.find { |r| r.match() } return unless receiver @receivers.delete receiver @timers.cancel receiver.timer if receiver.timer receiver.resume end |
- (Object) receive(timeout = nil, &block)
Receive an asynchronous message
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/celluloid/receivers.rb', line 12 def receive(timeout = nil, &block) if Celluloid.exclusive? Thread.mailbox.receive(timeout, &block) else receiver = Receiver.new block if timeout receiver.timer = @timers.add(timeout) do @receivers.delete receiver receiver.resume end end @receivers << receiver Task.suspend :receiving end end |
- (Object) wait_interval
How long to wait until the next timer fires
31 32 33 |
# File 'lib/celluloid/receivers.rb', line 31 def wait_interval @timers.wait_interval end |


-
MEAGAN HALL | FILE
Savannah Bullock gets a loving nudge from goldendoodle Burlin on Sept. 26, 2017. Dullock is a groomer at Friendly Paws Pet Supplies & Grooming, 940 E. State St. where some people choose to get their pets professionally groomed. While some choose to pay for pets to be groomed, others choose a more economical method and groom pets themselves.
-
ABIGAIL DEAN | FILE
Hoan Do, left, and Anh Pham cook Vietnamese spring rolls at the International Street Fair on East Union Street on April 7. The 49th International Street Fair was home to many cuisines from around the world, including Nepalese momos and Chinese egg pancakes.
-
MEAGAN HALL | FILE
Tina Zhang and others perform a silk dance during the Chinese New Year celebration held in Baker Ballroom on Feb. 11. People celebrated the Year of the Dog with dance, musical performances and food.
-
EMILEE CHINN | FILE
Lydia Ramlo, a junior at OU, looks at a quilt at the Monument Quilt, a public healing space for survivors of sexual assault. The Monument Quilt comprises stories of sexual assault stitched onto fabric and was displayed at Peden Stadium on Oct. 13.
-
HANNAH RUHOFF | FILE
Alex Airado, vice president of the OU Kendo Club, practices kendo moves during a club meeting. Kendo is a type of Japanese martial arts in which members wear traditional clothing and armor while attacking opponents with a bamboo sword.
-
BLAKE NISSEN | FILE
There was a “Naruto Run” across College Green on Oct. 13. The “Naruto Run” is based from the popular Japanese franchise Naruto. Participants run like franchise’s characters by sprinting with their arms behind them.
-
EMILEE CHINN | FILE
Stuart “Pickle Rick” Brenkus shoves a pickle in his mouth during the 2018 Pickle Fest on March 26. Pickle Fest is annual competition held at Bagel Street Deli in which competitors are required to eat as many pickles as possible in a 10-minute time limit.
-
MCKINLEY LAW | FILE
Saxophonist Kenny G performs at Templeton-Blackburn Alumni Memorial Auditorium on March 23. The 17-time Grammy nominee ventured into the audience and gave members high-fives. He also held a note for more than a minute without taking a breath.
-
KEVIN PAN | FILE
A Boogie wit da Hoodie reaches out to a fan in Templeton-Blackburn Alumni Memorial Auditorium on Feb. 3. The rapper came down to Athens to perform as part of the Black Student Cultural Programming Board’s annual Sibs Weekend Concert.
-
CARL FONTICELLA | FILE
OU’s Marching 110 performed songs from its fall season at the Templeton-Blackburn Alumni Memorial Auditorium during its annual Varsity Show on Nov. 11. To celebrate the 50th anniversary of the style the band is known for today, the marching band paid tribute to its history. It also performed songs from the band Chicago.
-
MEAGAN HALL | FILE
Andy Grammer performs his opening song, “Fine by Me,” on Oct. 30 in the Templeton-Blackburn Alumni Memorial Auditorium. Grammer played a variety of instruments, including the piano, electric guitar and French horn. Grammer is known for his songs “Honey, I’m Good” and “Keep Your Head Up.”
-
MADELEINE HORDINSKI | FILE
Noah Blain, a sophomore studying electrical engineering, plays guitar on Court Street in November. On weekend nights, Court Street is filled with the sounds of impromptu performances from local musicians like Blain.
-
ALEXANDRIA SKOWRONSKI | FILE
Local band The Water Witches hosts an interview in its practice studio. The band’s name was decided by consulting spirits using an Ouija board that spelled out the name while the members played their instruments.
-
ALEXANDRIA SKOWRONSKI | FILE
Chris Innis poses for a portrait in his favorite chair at Donkey Coffee.  He graduated from OU in 1978 with a degree in English.
-
MEAGAN HALL | FILE
Dane McCarthy, the owner of the Daniel Weethee House, which was used for runaway slaves, poses for a portrait in February. Athens was one of the first stops runaway slaves made during their journey after leaving slave-state Virginia. The Hocking River provided transportation routes upstream for “conductors” in boats to carry fugitives.
-
CARL FONTICELLA | FILE
Hewett Fork, located in Carbondale, is heavily polluted by acid mine drainage and there is a doser located near where the polluted water flows into the creek.


Note: There is a known bug in the auto-update downloader that prevents this window from updating to show the download progress as it is happening. For now, just know that when you click yes, the update will be downloaded and VisualCal will restart to update itself. The download can take a few minutes to complete. During that time, this window will not be responsive.


vignettes/range_correction.Rmd
range_correction.Rmd
Load bioRad
## Welcome to bioRad version <IP_ADDRESS>97
## Docker daemon running, Docker functionality enabled (vol2bird version 0.5.0)
We start with the changing properties of the radar beam as it propagates through the atmosphere. We define:
The beam height is changing as a result of earth’s curvature, and beam refraction:
# define a range grid from 0 to 200 km:
my_range <- seq(0, 200000, 1000)
# plot the beam height for each range, for a 0.5 degree elevation beam:
plot(my_range, beam_height(my_range, elev = .5), xlab = "range [m]", ylab = "beam height [m]")
The beam width also broadens with range:
# plot the beam width, for a beam opening angle of 1 degree (typical for most weather radars):
plot(my_range, beam_width(my_range, beam_angle = 1), xlab = "range [m]", ylab = "beam width [m]")
We can now combine the relations for beam width and beam height, to calculate the beam profile as a function of height, i.e. the altitudinal normalized distribution of radiated energy by the beam. Let’s plot the radiation profile for a 0.5 and 2 degree beam elevation at 50 km from the radar (the height axis runs from ground level straight up):
# plot the beam profile, for a 0.5 degree elevation beam at 50 km distance from the radar:
plot(beam_profile(height = 0:4000, 50000, 0.5), 0:4000, xlab = "normalized radiated energy", ylab = "height [m]", main = "beam elevation: 0.5 deg, distance=50km")
# plot the beam profile, for a 2 degree elevation beam at 50 km distance from the radar:
plot(beam_profile(height = 0:4000, 50000, 2), 0:4000, xlab = "normalized radiated energy", ylab = "height [m]", main = "beam elevation: 2 deg, distance=50km")
We can also calculate the normalized radiation profile for the two beams combined:
Let us now assume we have calculated a vertical profile (of birds) for a certain polar volume file. Let’s load an example
# let's load an example polar volume:
pvolfile <- system.file("extdata", "volume.h5", package = "bioRad")
example_pvol <- read_pvolfile(file = pvolfile)
# a vertical profile can also be calculated from the polar volume directly, using
# calculate_vp(pvolfile)
# but for now we will use bioRad's example vertical profile already calculated:
example_vp
## Vertical profile (class vp)
##
## radar: seang
## source: WMO:02606,RAD:SE50,PLC:Angelholm,NOD:seang,ORG:82,CTY:643,CMT:Swedish radar
## nominal time: 2015-10-18 18:00:00
## generated by: vol2bird 0.3.17
Let’s plot the vertical profile, for the quantity eta (the linear reflectivity):
Note that eta is directly related to reflectivity factor (DBZH), i.e. a reflectivity factor of 5 dBZ amounts to the following eta at a radar wavelength of 5.3 cm:
## [1] 1060.747
Our goal is to estimate a spatial image of vertically integrated density (VID) based on all elevation scans of the radar, while accounting for the changing overlap between the radar beams as a function of range.
We start with:
beam_range()
).For each scan within the polar volume we:
dbz_to_eta(DBZH)
(see paragraph 3), with DBZH the reflectivity factor measured at the pixel’s distance from the radar.For each pixel on the ground, we thus end up with a set of \(eta_{expected}\) and a set of \(eta_{observed}\). From those we can calculate a correction factor at that pixel, as \(R=\sum{eta_{observed}}/\sum{eta_{expected}}\), with the sum running over scans.
To arrive at the final PPI image:
vid
) and vertically integrated reflectivity (vir
) for the profile, using the function integrate_profile()
.VID
is simply the adjustment factor image (R
), multiplied by the vid
calculated for the profileVIR
is simply the R
image, multiplied by the vir
calculated for the profileLet’s first make a PPI plot of the lowest uncorrected scan:
# extract the first scan from the polar volume:
my_scan <- example_pvol$scans[[1]]
# project it as a PPI on the ground:
my_ppi <- project_as_ppi(my_scan, range_max = 100000)
# plot it
plot(my_ppi)
Now let’s calculate the range-corrected PPI
# let's use a 500 metre spatial grid (res), and restrict to 100x100 km area
my_corrected_ppi <- integrate_to_ppi(example_pvol, example_vp, res = 500, xlim = c(-100000, 100000), ylim = c(-100000, 100000))
my_corrected_ppi
## Plan position indicator (class ppi)
##
## quantities: VIR VID R overlap eta_sum eta_sum_expected
## dims: 400 x 400 pixels
The range corrected PPI has four parameters: VIR, VID, R, overlap. Let’s plot the adjustment factor R:
Let’s also plot the vertically integrated reflectivity:
Or plot the vertically integrated density on a map:
## Downloading zoom = 8 ...
## Source : http://tile.stamen.com/terrain/8/136/78.png
## Source : http://tile.stamen.com/terrain/8/137/78.png
## Source : http://tile.stamen.com/terrain/8/138/78.png
## Source : http://tile.stamen.com/terrain/8/136/79.png
## Source : http://tile.stamen.com/terrain/8/137/79.png
## Source : http://tile.stamen.com/terrain/8/138/79.png
## Source : http://tile.stamen.com/terrain/8/136/80.png
## Source : http://tile.stamen.com/terrain/8/137/80.png
## Source : http://tile.stamen.com/terrain/8/138/80.png
At large distances from the radar we expect correction for range effects to become more difficult:
We can calculate overlap between emitted radiation and the biological profile as follows:
# calculate overlap between vertical profile of birds
# and the vertical radiation profile emitted by the radar:
bpo <- beam_profile_overlap(example_vp, get_elevation_angles(example_pvol), seq(0, 100000, 1000), quantity = "eta")
# plot the calculated overlap:
plot(bpo)
The function first normalizes the vertical profile altitudinal distribution. This can be either using profile quantity eta or dens, whichever is preferred (note that dens, the density, is sometimes thresholded to zero based on radial velocity standard deviation, see sd_vvp_threshold()
, while eta is not)
It then calculates the overlap between the normalized vertical profile, and the normalized radiation profile as calculated with beam_profile()
, using a metric called the Bhattacharyya distance. This metric is zero when there is no overlap, and 1 when the distributions are identical.
The range-corrected PPI also contains a field overlap
, which contains the same metric but then calculated on the grid of the PPI:
The overlap metric might be used in the future to show only certain section of the PPI, based on their overlap value.
noise_floor
parameter, by which one can determine at which distance birds are expected to be below noise level, given their vertical profile. Affects function beam_profile_overlap()
.


Dokku
{{CONTENT}}
Getting Started
Installation
Upgrading
Troubleshooting
Getting Help
Deployment
Deploying an Application
Environment Variables
Scaling Processes
DNS Configuration
Nginx Configuration
SSL Configuration
Remote commands
Docker Container Options
Dokku Event Logs
Community Contributions
Clients
Plugins
Development
Plugin Creation
Plugin Triggers
Running Tests
Release Process


Enjoy Your Winter to the Fullest
Where to Use It
SKI-RODEL is the perfect winter outdoors companion.
It’s the ultimate alternative to cross-country skiing. The SKI-RODEL design adds the much needed back support while skiing, and provides a seat for resting, a friend accompanying you, or carries items while traveling.