The halls of Fal Dara keep, their smooth stone walls sparsely decorated with elegantly simple tapestries and painted screens, bustled with news of the Amyrlin Seat’s imminent arrival. Servants in black-and-gold darted about their tasks, running to prepare rooms or carry orders to the kitchens, moaning that they could not have everything ready for so great a personage when they had had no warning. Dark-eyed warriors, their heads shaven except for a topknot bound with a leather cord, did not run, but haste filled their steps and their faces shone with an excitement normally reserved for battle. Some of the men spoke as Rand hurried past.
“Ah, there you are, Rand al’Thor. Peace favor your sword. On your way to clean up? You’ll want to look your best when you are presented to the Amyrlin Seat. She’ll want to see you and your two friends as well as the women, you can count on it.”
He trotted toward the broad stairs, wide enough for twenty men abreast, that led up to the men’s apartments.
“The Amyrlin herself, come with no more warning than a pack peddler. Must be because of Moiraine Sedai and you southerners, eh? What else?”
The wide, iron-bound doors of the men’s apartments stood open, and half jammed with top-knotted men buzzing with the Amyrlin’s arrival.
“Ho, southlander! The Amyrlin’s here. Come for you and your friends, I suppose. Peace, what honor for you! She seldom leaves Tar Valon, and she’s never come to the Borderlands in my memory.”
He fended them all off with a few words. He had to wash. Find a clean shirt. No time to talk. They thought they understood, and let him go. Not a one of them knew a thing except that he and his friends traveled in company with an Aes Sedai, that two of his friends were women who were going to Tar Valon to train as Aes Sedai, but their words stabbed at him as if they knew everything. She’s come for me.
He dashed through the men’s apartments, darted into the room he shared with Mat and Perrin . . . and froze, his jaw dropping in astonishment. The room was filled with women wearing the black-and-gold, all working purposefully. It was not a big room, and its windows, a pair of tall, narrow arrowslits looking down on one of the inner courtyards, did nothing to make it seem larger. Three beds on black-and-white tiled platforms, each with a chest at the foot, three plain chairs, a washstand by the door, and a tall, wide wardrobe crowded the room. The eight women in there seemed like fish in a basket.
The women barely glanced at him, and went right on clearing his clothes—and Mat’s and Perrin’s—out of the wardrobe and replacing them with new. Anything found in the pockets was put atop the chests, and the old clothes were bundled up carelessly, like rags.
“What are you doing?” he demanded when he caught his breath. “Those are my clothes!” One of the women sniffed and poked a finger through a tear in the sleeve of his only coat, then added it to the pile on the floor.
Another, a black-haired woman with a big ring of keys at her waist, set her eyes on him. That was Elansu, shatayan of the keep. He thought of the sharp-faced woman as a housekeeper, though the house she kept was a fortress and scores of servants did her bidding. “Moiraine Sedai said all of your clothes are worn out, and the Lady Amalisa had new made to give you. Just keep out of our way,” she added firmly, “and we will be done the quicker.” There were few men the shatayan could not bully into doing as she wished—some said even Lord Agelmar—and she plainly did not expect any trouble with one man young enough to be her son.
He swallowed what he had been going to say; there was no time for arguing. The Amyrlin Seat could be sending for him at any minute. “Honor to the Lady Amalisa for her gift,” he managed, after the Shienaran way, “and honor to you, Elansu Shatayan. Please, convey my words to the Lady Amalisa, and tell her I said, heart and soul to serve.” That ought to satisfy the Shienaran love of ceremony for both women. “But now if you’ll pardon me, I want to change.”
“That is well,” Elansu said comfortably. “Moiraine Sedai said to remove all the old. Every stitch. Smallclothes, too.” Several of the women eyed him sideways. None of them made a move toward the door.
He bit his cheek to keep from laughing hysterically. Many ways were different in Shienar from what he was used to, and there were some to which he would never become accustomed if he lived forever. He had taken to bathing in the small hours of the morning, when the big, tiled pools were empty of people, after he discovered that at any other time a woman might well climb into the water with him. It could be a scullion or the Lady Amalisa, Lord Agelmar’s sister herself—the baths were one place in Shienar where there was no rank—expecting him to scrub her back in return for the same favor, asking him why his face was so red, had he taken too much sun? They had soon learned to recognize his blushes for what they were, and not a woman in the keep but seemed fascinated by them.
I might be dead or worse in another hour, and they’re waiting to see me blush! He cleared his throat. “If you’ll wait outside, I will pass the rest out to you. On my honor.”
One of the women gave a soft chortle, and even Elansu’s lips twitched, but the shatayan nodded and directed the other women to gather up the bundles they had made. She was the last to leave, and she paused in the doorway to add, “The boots, too. Moiraine Sedai said everything.”
He opened his mouth, then closed it again. His boots, at least, were certainly still good, made by Alwyn al’Van, the cobbler back in Emond’s Field, and well broken in and comfortable. But if giving up his boots would make the shatayan leave him alone so he could go, he would give her the boots, and anything else she wanted. He had no time. “Yes. Yes, of course. On my honor.” He pushed on the door, forcing her out.
Alone, he dropped onto his bed to tug off his boots—they were still good, a little worn, the leather cracked here and there, but still wearable and well broken-in to fit his feet—then hastily stripped off, piling everything atop the boots, and washed at the basin just as quickly. The water was cold; the water was always cold in the men’s apartments.
The wardrobe had three wide doors carved in the simple Shienaran manner, suggesting more than showing a series of waterfalls and rocky pools. Pulling open the center door, he stared for a moment at what had replaced the few garments he had brought with him. A dozen high-collared coats of the finest wool and as well cut as any he had ever seen on a merchant’s back or a lord’s, most embroidered like feastday clothes. A dozen! Three shirts for every coat, both linen and silk, with wide sleeves and tight cuffs. Two cloaks. Two, when he had made do with one at a time all his life. One cloak was plain, stout wool and dark green, the other deep blue with a stiff standing collar embroidered in gold with herons . . . and high on the left breast, where a lord would wear his sign . . .
His hand drifted to the cloak of its own accord. As if uncertain what they would feel, his fingers brushed the stitching of a serpent curled almost into a circle, but a serpent with four legs and a lion’s golden mane, scaled in crimson and gold, its feet each tipped with five golden claws. His hand jerked back as if burned. Light help me! Was it Amalisa had this made, or Moiraine? How many saw it? How many know what it is, what it means? Even one is too many. Burn me, she’s trying to get me killed.
A rap at the door sent him leaping half out of his skin.
“Are you done?” came Elansu’s voice. “Every stitch, now. Perhaps I had better . . . ” A creak as if she were trying the knob.
With a start Rand realized he was still naked. “I’m done,” he shouted. “Peace! Don’t come in!” Hurriedly he gathered up what he had been wearing, boots and all. “I’ll bring them!” Hiding behind the door, he opened it just wide enough to shove the bundle into the arms of the shatayan. “That’s everything.”
She tried to peer through the gap. “Are you sure? Moiraine Sedai said everything. Perhaps I had better just look—”
“It’s everything,” he growled. “On my honor!” He shouldered the door shut in her face, and heard laughter from the other side.
Muttering under his breath, he dressed hurriedly. He would not put it past any of them to find some excuse to come bulling in anyway. The gray breeches were snugger than he was used to, but still comfortable, and the shirt, with its billowy sleeves, was white enough to satisfy any goodwife in Emond’s Field on laundry day. The knee-high boots fit as if he had worn them a year. He hoped it was just a good cobbler, and not more Aes Sedai work.
All of these clothes would make a pack as big as he was. Yet, he had grown used to the comfort of clean shirts again, of not wearing the same breeches day after day until sweat and dirt made them as stiff as his boots, then wearing them still. He took his saddlebags from his chest and stuffed what he could into them, then reluctantly spread the fancy cloak out on the bed and piled a few more shirts and breeches on that. Folded with the dangerous sigil inside and tied with a cord looped so it could be slung on a shoulder, it looked not much different from the packs he had seen carried by other young men on the road.
A peal of trumpets rolled through the arrowslits, trumpets calling the fanfare from outside the walls, trumpets answering from the keep towers.
“I’ll pick out the stitching when I get a chance,” he muttered. He had seen women picking out embroidery when they had made a mistake or changed their mind on the pattern, and it did not look very hard.
The rest of the clothes—most of them, in fact—he stuffed back into the wardrobe. No need to leave evidence of flight to be found by the first person to poke a head in after he went.
Still frowning, he knelt beside his bed. The tiled platforms on which the beds rested were stoves, where a small fire damped down to burn all night could keep the bed warm through the worst night in a Shienaran winter. The nights were still cooler than he was used to this time of year, but blankets were enough for warmth now. Pulling open the firebox door, he took out a bundle he could not leave behind. He was glad Elansu had not thought anyone would keep clothes in there.
Setting the bundle atop the blankets, he untied one end and partially unfolded it. A gleeman’s cloak, turned inside out to hide the hundreds of patches that covered it, patches in every size and color imaginable. The cloak itself was sound enough; the patches were a gleeman’s badge. Had been a gleeman’s badge.
Inside nestled two hard leather cases. The larger held a harp, which he never touched. The harp was never meant for a farmer’s clumsy fingers, boy. The other, long and slim, contained the gold-and-silver chased flute he had used to earn his supper and bed more than once since leaving home. Thom Merrilin had taught him to play that flute, before the gleeman died. Rand could never touch it without remembering Thom, with his sharp blue eyes and his long white mustaches, shoving the bundled cloak into his hands and shouting for him to run.
With a shiver, he redid the bundle. “That’s all over with.” Thinking of the wind on the tower top, he added, “Strange things happen this close to the Blight.” He was not sure he believed it, not the way Lan had apparently meant it. In any case, even without the Amyrlin Seat, it was past time for him to be gone from Fal Dara.
Shrugging into the coat he had kept out—it was a deep, dark green, and made him think of the forests at home, Tam’s Westwood farm where he had grown up, and the Waterwood where he had learned to swim—he buckled the heron-mark sword to his waist and hung his quiver, bristling with arrows, on the other side. His unstrung bow stood propped in the corner with Mat’s and Perrin’s, the stave two hands taller than he was. He had made it himself since coming to Fal Dara, and besides him, only Lan and Perrin could draw it. Stuffing his blanketroll and his new cloak through the loops on his bundles, he slung the pair from his left shoulder, tossed his saddlebags atop the cords, and grabbed the bow. Leave the sword-arm free, he thought. Make them think I’m dangerous. Maybe somebody will.
Cracking the door revealed the hall all but empty; one liveried servant dashed by, but he never so much as glanced at Rand. As soon as the man’s rapid footfalls faded, Rand slipped out into the corridor.
He tried to walk naturally, casually, but with saddlebags on his shoulder and bundles on his back, he knew he looked like what he was, a man setting out on a journey and not meaning to come back. The trumpets called again, sounding fainter here inside the keep.
He had a horse, a tall bay stallion, in the north stable, called the Lord’s Stable, close by the salley gate that Lord Agelmar used when he went riding. Neither the Lord of Fal Dara nor any of his family would be riding today, though, and the stable might be empty except for the stableboys. There were two ways to reach the Lord’s Stable from Rand’s room. One would take him all the way around the keep, behind Lord Agelmar’s private garden, then down the far side and through the farrier’s smithy, likewise certainly empty now, to the stableyard. Time enough that way for orders to be given, for a search to start, before he reached his horse. The other was far shorter; first across the outer courtyard, where even now the Amyrlin Seat was arriving with another dozen or more Aes Sedai.
His skin prickled at the thought; he had had more than enough of Aes Sedai for any sane lifetime. One was too many. All the stories said it, and he knew it for fact. But he was not surprised when his feet took him toward the outer courtyard. He would never see legendary Tar Valon—he could not afford that risk, now or ever—but he might catch a glimpse of the Amyrlin Seat before he left. That would be as much as seeing a queen. There can’t he anything dangerous in just looking, from a distance. I’ll keep moving and he gone before she ever knows I was there.
He opened a heavy, iron-strapped door onto the outer courtyard and stepped out into silence. People forested the guardwalk atop every wall, top-knotted soldiers, and liveried servants, and menials still in their muck, all pressed together cheek by jowl, with children sitting on shoulders to look over their elders’ heads or squeezing in to peer around waists and knees. Every archers’ balcony was packed like a barrel of apples, and faces even showed in the narrow arrowslits in the walls. A thick mass of people bordered the courtyard like another wall. And all of them watched and waited in silence.
He pushed his way along the wall, in front of the smithies and fletchers’ stalls that lined the court—Fal Dara was a fortress, not a palace, despite its size and grim grandeur, and everything about it served that end—apologizing quietly to the people he jostled. Some looked around with a frown, and a few gave a second stare to his saddlebags and bundles, but none broke the silence. Most did not even bother to look at who had bumped past them.
He could easily see over the heads of most of them, enough to make out clearly what was going on in the courtyard. Just inside the main gate, a line of men stood beside their horses, sixteen of them. No two wore the same kind of armor or carried the same sort of sword, and none looked like Lan, but Rand did not doubt they were Warders. Round faces, square faces, long faces, narrow faces, they all had the look, as if they saw things other men did not see, heard things other men did not hear. Standing at their ease, they looked as deadly as a pack of wolves. Only one other thing about them was alike. One and all they wore the color-shifting cloak he had first seen on Lan, the cloak that often seemed to fade into whatever was behind it. It did not make for easy watching or a still stomach, so many men in those cloaks.
 He could count them, now. Fourteen. Fourteen Aes Sedai. They must be. Tall and short, slender and plump, dark and fair, hair cut short or long, hanging loose down their backs or braided, their clothes were as different as the Warders’ were, in as many cuts and colors as there were women. Yet they, too, had a sameness, one that was only obvious when they stood together like this. To a woman, they seemed ageless. From this distance he would have called them all young, but closer he knew they would be like Moiraine. Young-seeming yet not, smooth-skinned but with faces too mature for youth, eyes too knowing.
Closer? Fool! I’m too close already! Burn me, I should have gone the long way. He pressed on toward his goal, another iron-bound door at the far end of the court, but he could not stop looking.
Calmly the Aes Sedai ignored the onlookers and kept their attention on the curtained palanquin, now in the center of the courtyard. The horses bearing it held as still as if ostlers stood at their harness, but there was only one tall woman beside the palanquin, her face an Aes Sedai’s face, and she paid no mind to the horses. The staff she held upright before her with both hands was as tall as she, the gilded flame capping it standing above her eyes.
Lord Agelmar faced the palanquin from the far end of the court, bluff and square and face unreadable. His high-collared coat of dark blue bore the three running red foxes of the House Jagad as well as the stooping black hawk of Shienar. Beside him stood Ronan, age-withered but still tall; three foxes carved from red avatine topped the tall staff the shambayan bore. Ronan was Elansu’s equal in ordering the keep, shambayan and shatayan, but Elansu left little for him except ceremonies and acting as Lord Agelmar’s secretary. Both men’s topknots were snow-white.
All of them—the Warders, the Aes Sedai, the Lord of Fal Dara, and his shambayan—stood as still as stone. The watching crowd seemed to hold its breath. Despite himself, Rand slowed.
Suddenly Ronan rapped his staff loudly three times on the broad paving stones, calling into the silence, “Who comes here? Who comes here? Who comes here?”
The woman beside the palanquin tapped her staff three times in reply. “The Watcher of the Seals. The Flame of Tar Valon. The Amyrlin Seat.”
“Why should we watch?” Ronan demanded.
“For the hope of humankind,” the tall woman replied.
“Against what do we guard?”
“The shadow at noon.”
“How long shall we guard?”
“From rising sun to rising sun, so long as the Wheel of Time turns.”
Agelmar bowed, his white topknot stirring in the breeze. “Fal Dara offers bread and salt and welcome. Welcome is the Amyrlin Seat to Fal Dara, for here is the watch kept, here is the Pact maintained. Welcome.”
The tall woman drew back the curtain of the palanquin, and the Amyrlin Seat stepped out. Dark-haired, ageless as all Aes Sedai were ageless, she ran her eyes over the assembled watchers as she straightened. Rand flinched when her gaze crossed him; he felt as if he had been touched. But her eyes passed on and came to rest on Lord Agelmar. A liveried servant knelt at her side with folded towels, steam still rising, on a silver tray.  “I offer thanks for your welcome, my son. May the Light illumine House Jagad. May the Light illumine Fal Dara and all her people.”
Agelmar bowed again. “You honor us, Mother.”  She had a presence that more than matched his. “House Jagad is yours. Fal Dara is yours.”
Cheers rose on every side, crashing against the walls of the keep like breaking waves.
Shivering, Rand hurried toward the door to safety, careless of whom he bumped into now.  She doesn’t even know who you are. Not yet. Blood and ashes, if she did . . . He did not want to think of what would have happened if she knew who he was, what he was. What would happen when she finally found out. He wondered if she had had anything to do with the wind atop the tower; Aes Sedai could do things like that. When he pushed through that door and slammed it shut behind him, muting the roar of welcome that still shook the courtyard, he heaved a relieved sigh.
The halls here were as empty as the others had been, and he all but ran. Out across a smaller courtyard, with a fountain splashing in the center, down yet another corridor and out into the flagstoned stableyard. The Lord’s Stable itself, built into the wall of the keep, stood tall and long, with big windows here inside the walls, and horses kept on two floors. The smithy across the courtyard stood silent, the farrier and his helpers gone to see the Welcome.
Tema, the leathery-faced head groom, met him at the wide doors with a deep bow, touching his forehead and then his heart. “Spirit and heart to serve, my Lord. How may Tema serve, my Lord?” No warrior’s topknot here; Tema’s hair sat on his head like an inverted gray bowl.
Rand sighed. “For the hundredth time, Tema, I am not a lord.”
“As my Lord wishes.” The groom’s bow was even lower this time.
It was his name that caused the problem, and a similarity. Rand al’Thor. Al’Lan Mandragoran. For Lan, according to the custom of Malkier, the royal “al” named him King, though he never used it himself. For Rand, “al” was just a part of his name, though he had heard that once, long ago, before the Two Rivers was called the Two Rivers, it had meant “son of.” Some of the servants in Fal Dara keep, though, had taken it to mean he was a king, too, or at least a prince. All of his argument to the contrary had only managed to demote him to lord. At least, he thought it had; he had never seen quite so much bowing and scraping, even with Lord Agelmar.
“I need Red saddled, Tema.” He knew better than to offer to do it himself; Tema would not let Rand soil his hands. “I thought I’d spend a few days seeing the country around the town.” Once he was on the big bay stallion’s back, a few days would see him at the River Erinin, or across the border into Arafel. They’ll never find me then.
The groom bent himself almost double, and stayed bent. “Forgive, my Lord,” he whispered hoarsely. “Forgive, but Tema cannot obey.”
Flushing with embarrassment, Rand took an anxious look around—there was no one else in sight—then grabbed the man’s shoulder and pulled him upright. He might not be able to stop Tema and a few others from acting like this, but he could try to stop anyone else from seeing it. “Why not, Tema? Tema, look at me, please. Why not?”
“It is commanded, my Lord,” Tema said, still whispering. He kept dropping his eyes, not afraid, but ashamed that he could not do what Rand asked. Shienarans took shame the way other people took being branded a thief. “No horse may leave this stable until the order is changed. Nor any stable in the keep, my Lord.”
Rand had his mouth open to tell the man it was all right, but instead he licked his lips. “No horse from any stable?”
“Yes, my Lord. The order came down only a short time ago. Only moments.” Tema’s voice picked up strength. “All the gates are closed as well, my Lord. None may enter or leave without permission. Not even the city patrol, so Tema has been told.”
Rand swallowed hard, but it did not lessen the feeling of fingers clutching his windpipe. “The order, Tema. It came from Lord Agelmar?”
“Of course, my Lord. Who else? Lord Agelmar did not speak the command to Tema, of course, nor even to the man who did speak to Tema, but, my Lord, who else could give such a command in Fal Dara?”
Who else? Rand jumped as the biggest bell in the keep bell tower let out a sonorous peal. The other bells joined in, then bells from the town.
“If Tema may be bold,” the groom called above the reverberations, “my Lord must be very happy.”
Rand had to shout back to be heard. “Happy? Why?”
“The Welcome is finished, my Lord.” Tema’s gesture took in the bell tower. “The Amyrlin Seat will be sending for my Lord, and my Lord’s friends, to come to her, now.”
Rand broke into a run. He just had time to see the surprise on Tema’s face, and then he was gone. He did not care what Tema thought. She will he sending for me now.


Next: Rule of Canonical Representation for Rationals, Previous: Rational Computations, Up: Rational Computations
Rational computations cannot overflow in the usual sense (though there may not be enough storage to represent a result), since integers and ratios may in principle be of any magnitude.


--- layout: post status: publish published: true title: Good and Bad Bullets author: display_name: Andy login: Andy email<EMAIL_ADDRESS>url: '' author_login: Andy author_email<EMAIL_ADDRESS>wordpress_id: 2358 wordpress_url: http://ivyenvy.com/?p=2358 date: '2010-04-11 07:09:23 +0000' date_gmt: '2010-04-11 13:09:23 +0000' categories: - Defense - Infield - Offense - Outfield - Relief Pitching - Starting Pitching tags: - Carlos Marmol - Carlos Zambrano - Kosuke Fukudome - Len and Bob - Mike Fontenot - Ryan Dempster - Ryan Theriot - Ted Lilly - Wrigley Field - Derrek Lee - Randy Wells - John Grabow - Tom Gorzelanny - Marlon Byrd - Carrie Muskat - Esmailin Caridad - Bulk Vanderhuge - Sliders - Tums comments: [] ---
So far this team has been difficult to watch (as they always are), but there are some encouraging aspects we can hold on to while our hearts palpitate about the rest.
-I'm starting to feel fairly confident in the starting rotation. Dempster and Wells had great outings, and Zambrano looked a lot better yesterday. Dempster had nine strikeouts! Silva looks to be effective for the first time in years. I may want to reel these words of confidence back in depending on how it goes with Gorzelanny today, but once Ted gets back, this looks to be one part of the Cubs machine that will be reliable.
-The defense has been solid since the first game. Fontenot and Lee had great plays in the field yesterday, and L & B can't stop singing the praises of Fukudome's quickfire D in right. I thought for sure Byrd was going to run down and rob that homer. He can move pretty well for his all his Bulk Vanderhuge-ness. Watch Fontenot's diving play here.
-Marmol had his grossest sliders of the season going on in yesterday's game. He appeared to be untouchable. And Bob is so damn right it hurts when he is talking about Marmol throwing his fastball more. When you have a mid-nineties fastball and are having trouble controlling the breaking pitches, throw the heat, man. But the slider was sharp yesterday, and it was beautiful to watch. Some other gross sliders--
I guess this is a good time to transition to the bad stuff.
-John Grabow is the new Neil Cotts. He is at the top of my list of Cubs pitchers that I can barely stand to watch. Corey keeps reiterating how this bullpen will be difficult to live with all year. I still feel a slight twinge of confidence in Caridad, despite him serving up that 4-run homer the other night. We'll see how long that twinge lasts. I might just need a Tums.
-According to Muskat, "12 of the Cubs' total 17 runs have come on 8 homers." While it is fun to see some power hitting, it is equally fun to see a string of base hits turn into multiple-run rally. I'm looking forward to when the Cubs do this, although I'm not holding my breath for it after seeing the swings they were all taking yesterday.
-Lee should not attempt to steal. I know he has a great stride length, but his turnover frequency is not good. He was picked off at first yesterday, and he was caught stealing later in the game. Getting caught stealing is Theriot's department, okay?
It is the last game against the Reds today, and then finally we are home to Wrigley. Maybe a homecoming will lead to a winning streak.


sphinx-build manual page¶
Synopsis¶
sphinx-build [options] <sourcedir> <outdir> [filenames …]
Description¶
sphinx-build generates documentation from the files in
<sourcedir>
and places it in the <outdir>
.
sphinx-build looks for <sourcedir>/conf.py
for the configuration
settings. sphinx-quickstart(1) may be used to generate template
files, including conf.py
.
sphinx-build can create documentation in different formats. A format is selected by specifying the builder name on the command line; it defaults to HTML. Builders can also perform other tasks related to documentation processing.
By default, everything that is outdated is built. Output only for selected files can be built by specifying individual filenames.
List of available builders:
- html
- HTML file generation. This is the default builder.
- dirhtml
- HTML file generation with every HTML file named “index.html” in a separate directory.
- singlehtml
- HTML file generation with all content in a single HTML file.
- htmlhelp
- Generates files for CHM (compiled help files) generation.
- qthelp
- Generates files for Qt help collection generation.
- devhelp
- Generates files for the GNOME Devhelp help viewer.
- latex
- Generates LaTeX output that can be compiled to a PDF document.
- man
- Generates manual pages.
- texinfo
- Generates Texinfo output that can be processed by makeinfo to generate an Info document.
- epub
- Generates an ePub e-book version of the HTML output.
- text
- Generates a plain-text version of the documentation.
- gettext
- Generates Gettext message catalogs for content translation.
- changes
- Generates HTML files listing changed/added/deprecated items for the current version of the documented project.
- linkcheck
- Checks the integrity of all external links in the source.
- pickle / json
- Generates serialized HTML files for use in web applications.
- xml
- Generates Docutils-native XML files.
- pseudoxml
- Generates compact pretty-printed “pseudo-XML” files displaying the internal structure of the intermediate document trees.
Options¶
| -b <builder> | Builder to use; defaults to html. See the full list of builders above. |
| -a | Generate output for all files; without this option only output for new and changed files is generated. |
| -E | Ignore cached files, forces to re-read all source files from disk. |
| -d <path> | Path to cached files; defaults to <outdir>/.doctrees. |
| -j <N> | Build in parallel with N processes where possible. |
| -c <path> | Locate the conf.py file in the specified path instead of <sourcedir>. |
| -C | Specify that no conf.py file at all is to be used. Configuration can only be set with the -D option. |
| -D <setting=value> | |
| Override a setting from the configuration file. | |
| -t <tag> | Define tag for use in “only” blocks. |
| -A <name=value> | |
| Pass a value into the HTML templates (only for HTML builders). | |
| -n | Run in nit-picky mode, warn about all missing references. |
| -v | Increase verbosity (can be repeated). |
| -N | Prevent colored output. |
| -q | Quiet operation, just print warnings and errors on stderr. |
| -Q | Very quiet operation, don’t print anything except for errors. |
| -w <file> | Write warnings and errors into the given file, in addition to stderr. |
| -W | Turn warnings into errors. |
| -T | Show full traceback on exception. |
| -P | Run Pdb on exception. |
See also¶
sphinx-quickstart(1)
Author¶
Georg Brandl<EMAIL_ADDRESS>Armin Ronacher<EMAIL_ADDRESS>et al.
This manual page was initially written by Mikhail Gusarov<EMAIL_ADDRESS>for the Debian project.


ICDM 2018, Singapore
By 'ICDM Crew'
## how is Singapore?
## “Oh?”
## “It's boring!”
## “Another mega-city in China!”
## “Skyscrapers everywhere!”
## “Crowded, hot&humid!”
## “But it has diverse culture”
## “ people are nice”
## “streets are clean”
## Also - Hindu/Chinese temples and mosques - museums - food
## sessions - supervised / semi-supervised & active / unsupervised / transfer /deep (x 2) / multi-label / machine learning - recommender systems x 2 - streaming - urban & mobility data - anomalies & outliers - graphs / social / events & social - distributed & high performance computing - bio-medical
## sessions: cont'd - clustering - privacy - patterns - NLP / text - sequences & time series - web - theory
(my session!)
## regular papers
## short papers
## all papers
## useful links - [keynotes](http://icdm2018.org/program/keynotes/) - [tutorial](http://icdm2018.org/program/tutorials/)
## next -- the 'main business'


Online marketing
Name:
Address Line 1:
Address Line 2: (Optional)
City:
State:
Zipcode:
Submit!
Thank you
for ordering:
Dishwashing Soap
Your order will be shipped to:


Cryptocurrency
Bitcoin
Ethereum
Add Coin
Devices
Mobile Phones
Super Smart Phone
Thin Magic Mobile
Performance Crusher
Futuristic Experience
Televisions
Flat Superscreen
Gigantic LED
Power Eater
3D Experience
Classic Comfort
Cameras
Smart Shot
Power Shooter
Easy Photo Maker
Super Pixel
You can add any custom content to your navigation items. This text is just an example.
Magazines
National Geographic
Scientific American
The Spectator
The Rambler
Physics World
Popular Science
Popular Mechanics
Sky & Telescope
Discover
New Scientist
Psychology Today
Man's Health
Wired
Vogue
Elle
Cosmopolitan
Store
Clothes
Women's Clothing
Tops
Dresses
Trousers
Shoes
Sale
Men's Clothing
Shirts
Trousers
Shoes
Sale
Jewelry
Music
Grocery
Galeria
Collections
7
CiCaDA2020
Calvin & Guntur
MENU


With thanks toKyrylo Akulow
Want to join us?
Join our community as a partner
The Residence of Bukovinian and Dalmatian Metropolitans
The Residence of Bukovinian and Dalmatian Metropolitans in Chernivtsi is one of the most beautiful buildings in Ukraine.
It was built between the years 1864–1882 to the designs of the Czech architect, Josef Hlávka.
The Residence, whose buildings are now part of Chernivtsi National University, was declared a UNESCO World Heritage Site in 2011.
Chernivtsi National University,
Kotsyubyns'koho St, 2
Chernivtsi, Ukraine


service.proto API Reference
undefined
Request Content-Types: application/json
Response Content-Types: application/json
Schemes: http, https
Version: version not set
Paths
MakeHat produces a hat of mysterious, randomly-selected color!
undefined
Request Example
{
"inches": "integer (int32)"
}
200 OK
Response Example (200 OK)
{
"size": "integer (int32)",
"color": "string",
"name": "string"
}
Schema Definitions
exampleHat: object
A Hat is a piece of headwear made by a Haberdasher.
- size: integer (int32)
-
The size of a hat should always be in inches.
- color: string
-
The color of a hat will never be 'invisible', but other than that, anything is fair game.
- name: string
-
The name of a hat is it's type. Like, 'bowler', or something.
Example
{
"size": "integer (int32)",
"color": "string",
"name": "string"
}


All-in-one an App Platform
Last.Backend provides a full set of infrastructure
services for containers, including storage services,
networing, server management, load balancing and more.
Full automation
Deploy from GitHub, Bitbucket, or Docker Hub
Built in Continuous integration & Delivery allowed you
to don't care about half of infrastructure issue.
Containers orchestration
Turn all of you git repositories into containers
using our platform. Build containers for every
commit, automatically.
Collaboration
Work in shared application stacks, and build more
great apps together. Manage team members and
collaborators across applications in different stages
of developmets.


{% if map_exists %}Server status changed.{% else %}Map does not exist!{% endif %} You will be redirected in few seconds. If not click here.
{% extends "base.html" %} {% comment %} context variables: next map_exists {% endcomment %} {% block title %}upTee - Server status changed{% endblock title %} {% block content %}
{% if map_exists %}Server status changed.{% else %}Map does not exist!{% endif %} You will be redirected in few seconds. If not click here.


{% extends "backadmin_base.html" %} {% block content %}
No file chosen
Successful updation of captive portal! Click here to see it.
{{ fail_text }}


8.27. Internationalization Functions
Myanmar Functions
Note
Text written in Myanmar uses primarily the Zawgyi font encoding, which is not compatible with Unicode. These functions provide some utilities for comparing content in Myanmar despite the font encoding.
See http://www.unicode.org/faq/myanmar.html for more information.
-
myanmar_font_encoding
(text) → varchar Returns the font encoding of the text. Returns
zawgyi
if the content is Zawgyi encoded andunicode
otherwise.
-
myanmar_normalize_unicode
(text) → varchar Returns the text normalized as Unicode. Zawgyi text is converted to Unicode and Unicode text is left unchanged.


Notebooks
Story: The story of |gwai (who killed his sister-in-law, and was killed by his brother-in-law)
The story of |gwai (who killed his sister-in-law, and was killed by his brother-in-law)
Title
The story of |gwai (who killed his sister-in-law, and was killed by his brother-in-law)
Collection
Summary
|gwai (a person who was formerly a beast of prey and a man of the Early Race) kills his sister-in-law and his brother-in-law is angry with him and seeks revenge (the title implies that |gwai is caught and killed but it does not happen in the story).
Comments
1) p.8197v: |han≠kass'o heard this story from his maternal grandmother (≠kammi), 2) See also The Ttu ttutten (birds), 3) This story is found in Book VIII-25
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
29 January & 2 February – 5 February 1879
Categories
Keywords
Early Race (and |gwai who killed his sister-in-law, and was killed by his brother-in-law) , brother-in-law (the |gwai who killed his sister-in-law, and was killed by his) , brother-in-law (what he says to |gwai) , brother-in-law (his revenge on |gwai) , brother-in-law (waits for |gwai behind a screen of bushes) , brother-in-law (|gwai killed his sister) , |gwai (the story of, who killed his sister-in-law, and was killed by his brother-in-law) , |gwai (his things) , |gwai (his weapons) , |gwai (his dress) , |gwai (his appearance) , |gwai (wears a wild beast's cap) , |gwai (runs away from his brother-in-law) , |gwai (is black) , |gwai (is a person of the Early Race) , |gwai (his brother-in-law's revenge) , |gwai (wears a black jackal's kaross) , |gwai (sews a kaross) , |gwai (drinks water at night) , |gwai (is a sorcerer) , |gwai (pants with fear) , |gwai (is a beast of prey) , |gwai (is not visible) , |gwai (his nature and actions) , |gwai (whispers) , |gwai (hides) , |gwai (his footprints are at the water) , sorcerer (the |gwai who killed his sister-in-law, and was killed by his brother-in-law) , sorcerer (pants) , sorcerer (|gwai is, and pants) , kaross (|gwai's) , kaross (made of black jackal–hair) , kaross (|gwai sews one from ||aitje and jackal skin) , kaross (of the |gwai who killed his sister-in-law, and was killed by his brother-in-law) , cap (|gwai's) , cap (that resembles the ttu ttuten's nest) , cap (a wild beast's) , cap (of the |gwai who killed his sister-in-law, and was killed by his brother-in-law) , bird (ttu ttutten) , bird (|gwai's cap resembles its nest) , bird (and the |gwai who killed his sister-in-law, and was killed by his brother-in-law) , name (a bird called ttu ttutten) , name (an animal called ||aitje) , name (a beast of prey and person of the Early Race called |gwai)
Story Pages
8198-8212


Initialize Auth with AWS configurations
Configuration of the Auth
Send MFA code to confirm sign in
The CognitoUser object
The confirmation code
Send the verfication code to confirm sign up
The username to be confirmed
The verification code
Get current authenticated user
Get current user's session
Get authenticated credentials of current user.
Get user information
Get current authenticated user
Compact version of credentials
Initiate a forgot password request
the username to change password
Confirm a new password using a confirmation Code
The username
The confirmation code
The new password
Resend the verification code
The username to be confirmed
Sign in
The username to be signed in
The password of the username
Sign out method
Sign up with username, password and other attrbutes like phone, email
The username to be signed up
The password of the user
Return user attributes
The CognitoUser object
Get the corresponding user session
The CognitoUser object
Confirm current user's attribute using a confirmation code
The attribute to be verified
The confirmation code
Initiate an attribute confirmation request
The CognitoUser
The attributes to be verified
Confirm an attribute using a confirmation code
The CognitoUser
The attribute to be verified
The confirmation code
Provide authentication steps


66
The Humble and Contrite in Spirit
1 Thus says the LORD: “Heaven is my throne,
and the earth is my footstool;
what is the house that you would build for me,
and what is the place of my rest?
2 All these things my hand has made,
and so all these things came to be,
declares the LORD.

These have chosen their own ways,
and their soul delights in their abominations;
4 I also will choose harsh treatment for them
and bring their fears upon them,
because when I called, no one answered,
when I spoke they did not listen;
but they did what was evil in my eyes
and chose that in which I did not delight.”
5 Hear the word of the LORD,
you who tremble at his word:
“Your brothers who hate you
and cast you out for my name's sake
have said, ‘Let the LORD be glorified,
that we may see your joy’;
but it is they who shall be put to shame.
6 “The sound of an uproar from the city!
A sound from the temple!
The sound of the LORD,
rendering recompense to his enemies!
Rejoice with Jerusalem
7 “Before she was in labor
she gave birth;
before her pain came upon her
she delivered a son.
8 Who has heard such a thing?
Who has seen such things?
Shall a land be born in one day?
Shall a nation be brought forth in one moment?
For as soon as Zion was in labor
she brought forth her children.
9 Shall I bring to the point of birth and not cause to bring forth?”
says the LORD;
“shall I, who cause to bring forth, shut the womb?”
says your God.
10 “Rejoice with Jerusalem, and be glad for her,
all you who love her;
rejoice with her in joy,
all you who mourn over her;
11 that you may nurse and be satisfied
from her consoling breast;
that you may drink deeply with delight
from her glorious abundance.”
12 For thus says the LORD:
“Behold, I will extend peace to her like a river,
and the glory of the nations like an overflowing stream;
and you shall nurse, you shall be carried upon her hip,
and bounced upon her knees.
13 As one whom his mother comforts,
so I will comfort you;
you shall be comforted in Jerusalem.
14 You shall see, and your heart shall rejoice;
your bones shall flourish like the grass;
and the hand of the LORD shall be known to his servants,
and he shall show his indignation against his enemies.
Final Judgment and Glory of the LORD
15 “For behold, the LORD will come in fire,
and his chariots like the whirlwind,
to render his anger in fury,
and his rebuke with flames of fire.
16 For by fire will the LORD enter into judgment,
and by his sword, with all flesh;
and those slain by the LORD shall be many.
17 “Those who sanctify and purify themselves to go into the gardens, following one in the midst, eating pig's flesh and the abomination and mice, shall come to an end together, declares the LORD.
18 “For I know their works and their thoughts, and the time is coming to gather all nations and tongues. And they shall come and shall see my glory,
19 and I will set a sign among them. And from them I will send survivors to the nations, to Tarshish, Pul, and Lud, who draw the bow, to Tubal and Javan, to the coastlands afar off, that have not heard my fame or seen my glory. And they shall declare my glory among the nations.
20 And they shall bring all your brothers from all the nations as an offering to the LORD, on horses and in chariots and in litters and on mules and on dromedaries, to my holy mountain Jerusalem, says the LORD, just as the Israelites bring their grain offering in a clean vessel to the house of the LORD.
21 And some of them also I will take for priests and for Levites, says the LORD.
22 “For as the new heavens and the new earth
that I make
shall remain before me, says the LORD,
so shall your offspring and your name remain.
23 From new moon to new moon,
and from Sabbath to Sabbath,
all flesh shall come to worship before me,
declares the LORD.
24 “And they shall go out and look on the dead bodies of the men who have rebelled against me.


Udacity Machine Learning Engineer Nanodegree Capstone Project
Next prediction in
Every day a recurrent neural network predicts the close value for Bovespa Index.
Models are constantly evolving for a better predictive performance.


---
layout: post
title: There is a form for that?
date: '2007-08-26T13:51:00.000-07:00'
author: Naren Salem
tags:
modified_time: '2007-08-26T14:05:29.993-07:00'
thumbnail: http://lh4.google.com/naren.salem/RtHd40yzYeI/AAAAAAAABno/6_3ZifsR4M4/s72-c/DSCF3295.JPG
blogger_id: tag:blogger.com,1999:blog-4318265309908446824.post-3300088473699890902
blogger_orig_url: https://narenamongkiwis.blogspot.com/2007/08/there-is-form-for-that.html
---


Poll Shows Trump Trailing Five Democrats in Georgia
by ERIKA WILLIAMS(CN) – President Donald Trump has fallen behind the top five Democratic presidential candidates in a new survey of registered voters in Georgia.
Former Vice President Joe Biden and his Democratic rivals Elizabeth Warren, Bernie Sanders, Kamala Harris and Pete Buttigieg all beat Trump in a hypothetical matchup, according to the poll conducted for the Atlanta Journal-Constitution.
Biden is leading the president by the largest margin, at 51% to Trump’s 42%. The margins are smaller among the other four Democratic candidates. Warren and Sanders each hold a 4-point advantage over Trump in the poll, while Buttigieg is ahead by 2 points and Harris has just a 1-point lead over the president.
The poll, which indicates the Peach State could be a key battleground in next year’s presidential election, shows that about 53% of registered Georgia voters disapprove of Trump’s job performance as president and 44% approve.
The partisan divide was apparent in the survey. About 90% of Republican respondents approve of Trump’s performance, while 96% of Democrats disapprove.
Trump won Georgia in the 2016 election by 5 points. Forty-three percent of respondents in Wednesday’s poll, who are disproportionately college-educated compared to statewide numbers, said they voted for Hillary Clinton. About 42% said they voted for Trump.
Georgia has not voted for a Democratic presidential candidate since 1992, when Bill Clinton beat President George H.W. Bush by just 1 percentage point.
The survey of 1,028 registered voters was conducted for the Atlanta Journal-Constitution by the University of Georgia’s School of Public and International Affairs from Oct. 30 to Nov. 8.
The newspaper said it set out to measure public opinion to provide a snapshot of how Georgia voters feel a year out from the 2020 presidential election.
“It’s not a prediction of who will win the Democratic primary or the November election. It’s simply a baseline picture of where things stand right now,” political editor Susan Potter wrote.
The publication says it plans to oversee several more election polls next year, including a survey of Democratic voters just before Georgia’s March 24 primary.
The poll has a margin of error of 3 percentage points.
A representative from the University of Georgia could not be reached for comment Wednesday.
Copyright © 2019 courthousenews.com


Icons used by the PHPEdit Help generator are detailed bellow.
| Properties | |
|---|---|
| Private property | |
| Protected property | |
| Public property |
| Methods & Functions | |
|---|---|
| Constructor | |
| Destructor | |
| Private function or method | |
| Protected function or method | |
| Public function or method |
| Classes | |
|---|---|
| Documented class | |
| Undocumented class. This class is referenced as a class ancestror, but its declaration has not been found. |
| Messages | |
|---|---|
| Hint | |
| Information | |
| Warning | |
| Error | |
| Fatal Error |


COMING SOON
The easiest way to learn and collaborate with your friends. The only Blockchain powered smart social network that propels you to the forefront of humankind.
Thank you for joining beta testing! We'll inform you for the exclusive beta launch.
You can follow us on social media
This field is required
Please enter the correct email!
Join us


junk webpage, just testing google ads:
This is a junk webpage. You don't want to be here. Just testing google ads to see what they look like. It's mostly a copy of my paleolithic page.
Click here to play: Paleolithic Encounters
It's easy. Just click the green flag to start it. You can click the blue rectangle in the upper left to make it fullscreen if you want but who cares.
Do you think my game sucks? Email me<EMAIL_ADDRESS>© Copyright 2018 by laconiclizard


Orders that are still available for offer
| ID | Pharmacy | Deadline | Status |
|---|---|---|---|
| {{order.id}} | {{order.pharmacyName}} | {{order.deadline}} | {{order.orderStatus}} |
{{item.medicineName}}, {{item.quantity}}
| ID | Pharmacy | Deadline | Status |
|---|---|---|---|
| {{order.id}} | {{order.pharmacyName}} | {{order.deadline}} | {{order.orderStatus}} |
Medicines that were asked for by pharmacists and dermatologists working in your pharmacy
| ID | Name |
|---|---|
| {{inquiry.medicineId}} | {{inquiry.medicineName}} |


Contact genetic counselor
Download report
You can view your results at anytime, or choose one of the options below.


# coding=utf-8
# !/usr/bin/env python
"""
:mod:"camera_execution" -- Mid-level hack to change camera recording speed
===================================
.. module:: sticamera_executionrrer_execution
:platform: Windows
:synopsis: Mid-level hack to change camera recording speed.
.. moduleauthor:: Sebastian Steiner<EMAIL_ADDRESS>(c) 2018 The Cronin Group, University of Glasgow
This class provides a method to change the frame rate of a video log which may or may be recorded. This is accomplished
by logging messages at a level below DEBUG containing the requested recording speed (in multiples of real time). The
beauty of this approach is that a) most of the complicated message passing is handled by the logging module, and b) if
no recording is running, the workings of this module are entirely without consequence because all other loggers reject
this level.
For style guide used see http://xkcd.com/1513/
"""
import logging
[docs]class CameraExecutioner(object):
"""
Class to change camera recording speed
TODO: add try/except statements to catch calls to unsupported methods!
"""
def __init__(self):
"""
Initialiser for the CameraExecutioner class
"""
self.logger = logging.getLogger("main_logger.camera_logger")
self.logger.setLevel(5)
[docs] def change_recording_speed(self, recording_speed):
"""
Method to change the camera recording speed. This method simply logs a message at level 5 (below DEBUG), which
may or may not be intercepted by an appropriate vlogging handler.
Args:
recording_speed (int): Requested recording speed (in multiples of real time speed)
"""
if recording_speed >= 1:
self.logger.log(level=5, msg=recording_speed)
else:
pass # TODO maybe raise a ValueError or something


Redis Client.
More...
#include <client.hpp>
|
|
using | conn_awaiter_t = task_awaiter< std::shared_ptr< coro_connection >, const redisAsyncContext * > |
| |
|
using | fetch_awaiter_t = task_awaiter< std::shared_ptr< coro_connection > > |
| |
◆ coro_connect()
| conn_awaiter_t coro_redis::client::coro_connect |
( |
const io_context & |
ioc, |
|
|
std::string_view |
host, |
|
|
uint16_t |
port, |
|
|
long |
timeout_seconds = 5 |
|
) |
| |
|
inline |
Connect to redis server with corotine Example:
std::shared_ptr<coro_connection> conn = conn_ret.value();
- Parameters
-
| ioc | Wrap for hiredis io context, I.E. libevent, libuv |
| host | Redis host name or IP |
| port | Reis listening port |
| timeout | Connecte and command timeout |
- Returns
- Corotine expression about connetion
◆ fetch_coro_conn()
| fetch_awaiter_t coro_redis::client::fetch_coro_conn |
( |
| ) |
|
|
inline |
Fetch a connection from pool for corotine function.
@desc This function will look up from unusing list, and then try create new connection if total connectin is not over max. If connection pool is full and all connection are using this function will suspend to wait untill a connection is recycaled. Example:
std::shared_ptr<coro_connection> conn = conn_ret.value();
◆ get()
| static client& coro_redis::client::get |
( |
| ) |
|
|
inlinestatic |
◆ pool_init()
| void coro_redis::client::pool_init |
( |
std::vector< io_context * > |
pool_ios, |
|
|
std::string_view |
host_sv, |
|
|
uint16_t |
port, |
|
|
long |
timeout_seconds = 5 |
|
) |
| |
|
inline |
Initializate redis connect pool.
- Parameters
-
| pool_ios | IO contexts, pool_ios's size is the connection count in pool, the connection will be lazy initializated at use |
| host | Redis host name or IP |
| port | Reis listening port |
| timeout | Connecte and command timeout |
◆ sync_connect()
| std::shared_ptr<sync_connection> coro_redis::client::sync_connect |
( |
std::string_view |
host_sv, |
|
|
uint16_t |
port, |
|
|
long |
timeout_seconds = 5 |
|
) |
| |
|
inline |
Connect to redis server synchronously.
- Parameters
-
| host | Redis host name or IP |
| port | Reis listening port |
| timeout | Connecte and command timeout |
- Returns
- Redis synchronous connetion
◆ sync_fetch_conn()
Fetch a connection from pool for corotine function.
@desc This function will look up from unusing list, and then try create new connection if total connectin is not over max. If connection pool is full and all connection are using this function will return nullptr.
The documentation for this class was generated from the following file:
conn_awaiter_t coro_connect(const io_context &ioc, std::string_view host, uint16_t port, long timeout_seconds=5)
Connect to redis server with corotine Example:
Definition: client.hpp:47


This works best in mobile ;)
Click menu button above to open menu
To close click a menu item, the button or swipe the overlay to close (with mouse click, hold, then move left)


When we gather your data
We gather your data when:
- You log into the UZX Web Dashboard
- You change a setting in the UZX Web Dashboard
- You interact with the UZX Discord ChatBot
We gather your data when:
We gather your data via:
We gather your data in order to provide you with a customized experience while using our services. Examples of customized features include:
We will store your data indefinitely or until you request it's deletion.
We store your data in our main database, which is hosted on a secure VPS which is secured via passwords and two factor authentication.
We store your data in a secure database.
We store your data in order to provide persistent features such as:
If for any reason you want your data deleted from our databases just send us an email at<EMAIL_ADDRESS>detailing the data that you want deleted and proof you have permission to request the deletion of that data.


argtree
Command line argument parser package in Swift.
The basic idea is to define a tree structure of parsers which then parses all command line arguments. This approach is very flexible and allows for quick and easy flag parsing for a simple scirpt, as well as complicated parse trees for big command command line programs.
Table of Contents
Installation
Swift Package Manager
dependencies: [
.package(url: "https://github.com/dastrobu/argtree.git", from: "1.0.0"),
],
Dependencies
At least clang-3.6
is required. On linux one might need to install it explicitly.
There are no dependencies on macOS.
Getting started
The following example shows a hello world script with one flag (no option or command) and generated help.
// global modal for the application
var verbose = false
try! ArgTree(description:
"""
usage: \(CommandLine.arguments[0])) [flags...]
hello world demo
flags:
""",
parsers: [
Flag(longName: "verbose", shortName: "v", description: "print verbose output") { _ in
verbose = true
}
]).parse()
// here comes the real program code after parsing the command line arguments
if verbose {
print("hello world")
} else {
print("hi")
}
Help Text generation
Help texts can be generated automatically (partially), detailed in Automatic Help Flag.
This is only true for global help.
Help on individual commands is not generated, can however, easily be implemented by adding a Help
flag to the command.
Parsers
There are a variaty of parsers implemented to compose the parser tree.
If those are not sufficient, it is easy to implement a custom parser. Therefore, the Parser
interface must be
implemented, see Architecture for details.
Flag
A flag is a boolean property like -v
or --verbose
. A flag has a long and a short name, both are optional
(however, not setting any of them does not make sense).
Handling a flag can either be done via the parsed
closure
let verbose = false
try! ArgTree(parsers: [
Flag(longName: "verbose", shortName: "v") { value, path in verbose = true }
]).parse()
or by accessing the parsed values later.
let verboseFlag = Flag(longName: "verbose", shortName: "v")
try! ArgTree(parsers: [verboseFlag]).parse()
let verbose = verboseFlag.value != nil
Flag Prefixes
By default long names get the prefix –
and short names get the prefix -
.
Other prefixes, to handle e.g. +a
, can be specified.
let a = Flag(shortName: "a", shortPrefix: "+")
The same can be done for long prefixes.
Passing a Flag Multiple Times
By default passing the same flag multiple times is reported as error (FlagParseError.flagAllowedOnlyOnce
).
Sometimes it is, however, useful to be able to pass the same flag multiple times, e.g. if -v
should print
a verbose output and -v -v
should print a very verbose output. In this case the flag should have set the
property multiAllowed
to true.
let verboseFlag = Flag(longName: "verbose", shortName: "v", multiAllowed: true)
try! ArgTree(parsers: [verboseFlag]).parse()
let verbosity = verboseFlag.values.count
The number of times the value was parsed can be accassed via the values
property. It is up to the implementation
to decide if passing the same flag multiple times is simply ignored or meaning something useful.
Handling Unexpected Flags
By default, nothing happens if a flag was set at the command line, that has no meaning, i.e. that is not parsed.
To report all flag like arguments that have not meaning as errors, simply add the UnexpectedFlagHandler
to
the parsers. The handler must be added after the flag parsers, to report errors correctly.
try! ArgTree(parsers: [
Flag(longName: "verbose", shortName: "v")
UnexpectedFlagHandler()
]).parse()
In this case, all arguments starting with either the long or short prefix will be reported as errors.
The UnexpectedFlagHandler
supports a Stop Token, to allow for flag like var args. Also,
the longPrefix
and shortPrefix
can be customized.
If flags with different prefixes are used, e.g. -a
and +a
, two seperate UnexpectedFlagHandler
can be added,
one for the standard prefix and one for the +
prefix.
Multi Flags
Multi flags are combined flags (for short names). For example if there are flags -a
and -b
one could also
pass the combined flag -ab
or -ba
, which is equivalent to -a -b
.
To achieve this kind of parsing use the MultiFlag
.
try! ArgTree(parsers: [
MultiFlag(parsers: [
Flag(shortName: "a")
Flag(shortName: "b")
])
]).parse()
Note that the mulit flag and all the added flags must have the same shortPrefix
to get the expected result.
Automatic Help Flag
If initializing ArgTree
with a description
or helpText
a help flag
is automatically added, which will show a help text.
A minimal example would be:
try! ArgTree(helpText: "usage...").parse()
The call to the script with -h
or --help
passed as flag will print
usage...
and exit afterwards.
If a helpText
is passed it will simply be printed.
Alternatively, a description
can be passed, which will generate a
help text from the description and all descriptions of the passed flags and
options.
try! ArgTree(description:
"""
usage: \(CommandLine.arguments[0]) [flags...]
flags:
""",
parsers: [
Flag(longName: "foo", shortName: "f", description: "a foo flag"),
]).parse()
This example will print
usage: my_script [flags...]
flags:
--foo, -f a foo flag
Parse Order
The generated help flag is always added as first parser to make sure it plays together with
Var Args nicely.
The order of the parsers can be changed after creation of the ArgTree
object by manipulating its elements via the
MutableCollection
protocol (like an array). For example, to move the auto generated help flag parser to the end, do:
var argTree = ArgTree(description: "foo")
argTree.append(argTree.removeFirst())
Default Action
Generated help is set as default action automatically. If this is not intended, the default action can be unset or set to something else.
let argTree = ArgTree(description: "usage...")
argTree.defaultAction = nil
try! argtree.parse()
Exit After Help Printed
The generated help flag parser always exits with code 0 after printing the help text. If this is not the intended behaviour one can pass a closure, which is called after the help text is printed. The following example shows how to continue without any specific action after printing help.
let argTree = ArgTree(description: "usage...") { /* do nothing after help was printed */ }
try! argtree.parse()
Output Stream
Help text is printed to stdout
by default. This can be customized, by setting
the writeToOutStream
delegate. For example one could redirect the output to a string.
let argTree = ArgTree(description: "usage...")
var out = ""
argTree.writeToOutStream = { s in
print(s, to: &out)
}
Option
An option is a key value property like --foo=bar
or --foo bar
.
An option has a long and a short name, both are optional.
Two syntaxes are supported, i.e. a key value pair can be passed separated by =
or by passing the value as subsequent
argument to the key. If the value to a key cannot be parsed, it will be reported as error
(OptionParseError.missingValueForOption
).
The following example shows the basic usage of options.
var foo: String = "default"
try! ArgTree(parsers: [
Option(longName: "foo") {value, _ in foo = value}
]).parse()
Option Prefixes
Prefixes can be changed as for flags, see Flag Prefixes.
Passing an Option Multiple Times
Options can be passed multiples times, specifying different values. By default, passing an option multiple times
is reported as error (OptionParseError.optionAllowedOnlyOnce
),
as for flags, see Passing a Flag Multiple Times.
The following example shows how to implement an options, for which different values can be passed.
let fooOption = Option(longName: "foo", multiAllowed: true)
try! ArgTree(parsers: [fooOption]).parse()
fooOption.values.forEach{ value in /* ... */ }
In this case, it makes sense to handle the parsed options via values
after parsing instead of handling them via
a closure. Although this is possible as well.
var foo: [String] = []
try! ArgTree(parsers: [
Option(longName: "foo", multiAllowed: true) { value, _ in
foo.append(value)
}
]).parse()
Int Option and Double Option
If only integers or floating point values are allowed for an option,
the convenience parsers IntOption
and DoubleOption
can be employed. They work exactly like Option
except
that all values not parsable to an Int
or Double
will be reported as
OptionParseError.valueNotIntConvertible
or OptionParseError.valueNotDoubleConvertible
, respectively.
Handling Unexpected Options
The mechanism is the same as for flags, see Handling Unexpected Flags.
Simply add a UnexpectedOptionHandler
to the parsers.
Command
A command is a special argument to change control flow of the program. Simple scripts or programs like e.g. rm
often do not have commands, more advanced command line programs, like. e.g. git
support a variety of commands
and even sub-commands.
The following example shows an implementation of a program, handling the command foo
.
try! ArgTree(parsers: [
Command(name: "foo") { path in
/* handle foo command */ }
]).parse()
When it comes to handling commands, quickly things get complicated. For example the following questions arise:
- Should a flag be supported only on the global level, or also on the level of each command?
- For example, the
--verbose
flag might be supported on any level and have the same effect on any level, i.e. setting the output to verbose for the whole program. - The
--help
flag, on the other hand, might also be supported on every command, should however print a different help for each command. - Additional flags should only be supported for certain commands and for others not.
- For example, the
- The same questions arises for options.
- How are var args handled?
- Some commands may take var args, others don’t.
- Must var args be handled on the global level and also on the command level?
- Can commands be nested?
- If there exist commands, there should be also sub-commands and sub-sub-commands.
The good thing is, everything can be done with ArgTree. However, it requires a bit of an understanding, how the parsing works, since the order in which parses are added to the parse tree matters. To support finding out the correct order, consider to switch on logging while parsing, see Logging.
Some of the cases listed above are detailed in examples in the following sections.
Global Flags (or Options)
A global flag, that does the same for every command is easy to implement. Just add it before all commands.
var verbose = false;
try! ArgTree(parsers: [
Flag(longName: "verbose", shortName: "v") { _ in verbose = true }
Command(name: "foo")
]).parse()
The same can be done for options.
Semi-Global Flags (or Options)
A so called semi-global flag is one that can be set on any level, but has different effects. The following example shows how to implement a custom help flag, if the generated help should not be used.
try! ArgTree(parsers: [
Command(name: "foo", parsers: [
Flag(longName: "help", shortName: "h") { _ in print("help for foo") }
])
Flag(longName: "help", shortName: "h") { _ in print("global help") }
]).parse()
The corresponding parse tree is
argTree
+-- foo
| +-- help(1)
+-- help(2)
Here two differnt Flag
instances (help(1)
and help(2)
) are employed to parse the help flags.
Instead of defining separate Flag instances, different actions can also be performed, based on the parse path.
let help = Flag(longName: "help", shortName: "h")
let foo = Command(name: "foo", parsers: [help])
help.parsed = { path in
switch path.last {
case let cmd as Command where cmd === foo:
print("foo help")
// case let cmd as Command where ... (other commands)
default:
print("global help")
}
exit(0)
}
try! ArgTree(parsers: [help foo]).parse()
By using the path, to determine the context of a flag, very generic implementations are possible.
The corresponding parse tree is
argTree
+-- foo
| +-- help
+-- help
Which strategy is better depends on the use case. If the flag should have the same description on evey command, it might be better to use the same instance everywhere and implement the logic based on the path segment. On the other hand, the description is different for all commands, it might be simpler to use different instances.
Var Args on Commands
For var args in general see Var Args. If var args should be passed to a specific command, it can be done simply by adding the var args on the command.
let fooVarArgs = VarArgs()
try! ArgTree(parsers: [
Command(name: "foo", parsers: [fooVarArgs])
]).parse()
To add support for var args also on the global level, simply another var args object can be added at this level. It must be added after the command, otherwise the command will be parsed as var arg.
let globalVarArgs = VarArgs()
let fooVarArgs = VarArgs()
try! ArgTree(parsers: [
Command(name: "foo", parsers: [fooVarArgs]),
globalVarArgs,
]).parse()
Look at some examples, how var args will be parsed in this case.
my_script a b # a and b parsed by globalVarArgs
my_script foo a b # a and b parsed by fooVarArgs
my_script a foo b # a parsed by globalVarArgs and b parsed by fooVarArgs
This is straightforward, when looking a the parse tree.
argTree
+-- foo
| +-- globalVarArgs
+-- fooVarArgs
Command Default Action
As on the root node ArgTree
of the parse tree, there is an optional default action on each command.
The default action is called, if no child parser consumed any further argument.
The default action can be set on the command directly.
let foo = Command(name: "foo" parsers: [
Flag(longName: "bar") { _ in print("--bar parsed") }
]) { _ in
print("foo (maybe also --bar parsed)")
}
foo.defaultAction = { () in print("foo (--bar not parsed)") }
try! ArgTree(parsers: [foo, baz]).parse()
parsed
and afterChildrenParsed
The command has two optional delegates: parsed
and afterChildrenParsed
.
The first, parsed
is called, directly after the command was parsed, as for flags and options. At this time,
however, no further arguments are parsed by parsers in the parsers
property.
The second delegate afterChildrenParsed
is called, when the command was parsed and also all subsequent arguments
are parsed by parsers from the parsers
property. So when a command is defined like in the following example
let bar = Flag(longName: "bar")
let foo = Command(name: "foo", parsers: [bar]) { _ in print("bar?: \(bar.value)") }
the trailing closure refers to afterChildrenParsed
and all parsed values from any child parser can be accessed.
Nested Commands
Commands
, Flags
, Options
and so on can be nested to arbitrary depth.
This is why the package is called ArgTree
.
Here is a simple example.
let bar = Command(name: "bar") { _ in print("foo bar") }
let foo = Command(name: "foo", parsers: [foo])
let baz = Command(name: "baz") { _ in print("baz") }
foo.defaultAction = { () in print("foo (no sub command)") }
try! ArgTree(parsers: [foo, baz]).parse()
Here is the parse tree.
argTree
+-- foo
| +-- bar
+-- baz
Var Args
Var args are all arguments, that are not specifically parsed by any other parser. Quite often, a script takes an arbitrary number of files as var args. Consider the following example
my_script -v file1 file2
my_script file1 file2 --verbose
Both scripts should process file1
and file2
as var args and handle -v
or --verbose
as flag,
regardless of its position (to handle -v
or --verbose
as file, see Stop Token).
This can be achieved, by defining the following parse tree.
let varArgs = VarArgs()
let argTree = ArgTree(parsers: [
Flag(longName: "verbose", shortName: "-v", description: "verbose output") { _ _ in }
varArgs
])
As can be seen in the example, defining VarArgs
inline, as for Flag
is possible but does not make sense.
Notice that it is important to place varArgs
after the Flag
, otherwise every argument would be parsed as
var arg instead of parsing it as flag. So usually VarArgs
is added last in the parsers
array.
Parsed var args are usually handled, after the parsing was completed via the RandomAccessCollection
protocol
(like an array).
try! argTree.parse()
varArgs.values.forEach{ value in /* ... */ }
Handling Unexpected Arguments
If no var args are used, it might by helpful to report all errors as unexpected arg.
In this case the UnexpectedArgHandler
can be added as last parser. This will report any arg, not parsed by
another parser before as ArgParseError.unexpectedArg
.
See also Handling Unexpected Flags and Handling Unexpected Options.
Stop Token
A stop token stops parsing subsequent arguments as they would normally be parsed.
By default --
is used as stop token. This means, all arguments passed after --
will be parsed as var args.
This is helpful, if e.g. files with names that clash with a command or flag name should
be passed as arguments. An example would be handling a file with name -h
my_script -- -h
which would normally print the help text. In this case -h
is treated as var arg, e.g. a file name.
Default Action
If no argument could be parsed, a default action can be performed. If there is a generated help flag, the default action will be set to printing the help text and exit. This can be customized by setting (or unsetting) a default action.
let argTree = ArgTree()
argTree.defaultAction = { () in print("this is the default") }
See also Command Default Action.
Error Handling
The parse
is supposed to throw errors on parsing the arguments. A variety of errors can be thrown and in simple
scripts, it may be sufficient to force try the parse call (as in all examples in this document).
Any parse error will be reported to stderr and the program will exit.
While this default behaviour is sufficient for simple scripts and programs, more suffisticated programs, might
print nice error messages. This can be done by catching errors and doing some nice error handling.
do {
try ArgTree(parsers: [UnexpectedArgHandler()]).parse()
} catch ArgParseError.unexpectedArg(argument:let arg, atIndex:_) {
print("got an unexpected argument: \(arg)")
exit(1)
} catch let error {
print("unknown error \(error)")
exit(99)
}
Logging
To get a deeper understanding of why a certain argument is parsed or not parsed it can be very helpful to switch on logging.
Logging is done via the LoggerAPI. So by default nothing is logged. To activate logging, one must configure a logger. A simple logger is e.g. HeliumLogger which can be employed in the following way.
import LoggerAPI
import HeliumLogger
Log.logger = HeliumLogger(.debug)
let argTree = ArgTree()
try! argtree.parse()
Note that most of the logging is done on debug level, so this level should be activated to see any log output.
Architecture
The basic idead it so define a tree of parsers, which then consume argument after argument. This package helps to define the parser tree and invoke it. Each node in the parser tree usually parses specific types of arguments, e.g. flags or options. To understand, how the parser tree must be set up, it is important to know how the tree is traversed. Consider the following example
arguments = ['arg_0', 'arg_1', 'arg_2']
The first argument is always ignored, since it refers to the script name. Parsing is started at arg_1
.
Now, if there is the following tree
argTree
+-- parser_0
| +-- parser_0_1
+-- parser_1
first, arg_1
will be parsed. Thereby argTree
calls each child parser with the arguments array and the index i
,
where parsing should be done.
Each child parser, parser_0
and parser_1
in this case can decidide to consume any number of arguments
starting from i
and returns how many arguments it consumed. Hence, if parser_0
decides to consume all arguments,
parser_1
will never get called, since there are no arguments left. If parser_0
consumes no argument, parser_1
get
called on the same index i
and may also consume an arbitrary amount of arguments.
For any index i
calling subsequent child parsers is stopped, as soon as one child parser consumes a non-zero amount
of argumts. After that, the index i
is incremented by the number of consumed arguments and the list of child parsers
ist iterated again from the beginning.
So if parser_0
consumes arg_1
, parser_1
is not called. Instead i
is incremented by one and parser_0
is called
again for arg_2
. So it is important to understand that parsers with low indices always have higher precedence
than the following parsers.
One corner case is, if an argument is not consumed by any parser. In this case i
is incremented by one and the
next argument is parsed. This means that the argument not parsed is simply ignored. If ignoring arguments is not
the expected behaviour, an UnexpectedArgHandler
can be added to throw an error.
It should be clear now that the UnexpectedArgHandler
must be added as last parser, since it simply consumes any
argument and converts it into an error.
Having understood the parsing process for one node, it is straightforward to understand the whole tree. Since every
parser node can consume any number of arguments, it is not important how the node parses arguments. So each node
may can itself delegate to child parses in the described way. This makes it very easy to reuse simple parsers
for flags and options.
Here is a short example for a command line program, which takes a global flag -v
and two commands foo
and bar
which themselves take flags -f
and -b
respectively.
argTree
+-- -v
+-- foo
| +-- -f
+-- bar
+-- -b
Parse Path
To define the context of a parsed argument, a parse path is always specified. This is simply an array of parsers in the call chain. Note, that the root parser is not added to the path. So for the following example
argTree
+-- -v
+-- foo
| +-- -f
+-- bar
+-- -b
there would be the folowing paths when parsing
[] : -v
[foo] : -f
[bar] : -b
This path can be used, if a parser should be used multiple times, but should act context aware. If e.g. -v
should
do something different for the foo
and for bar
the following tree should be defined
argTree
+-- foo
| +-- -v
| +-- -f
+-- bar
+-- -v
+-- -b
Or, alternatively
argTree
+-- -v
+-- foo
| +-- -v
| +-- -f
+-- bar
+-- -v
+-- -b
if -v
should also be supported on the global level.
For an example on path specific actions see Semi Global Flags (or Options).


A simple SQL command cheatsheet
Select Statements
Select statments are used in SQL to grab specfic information from a database/table.
SELECT column_name FROM table_name
WHERE column_name = 'username'
Terms
- WHERE
Operators:
- =equal
- !=not equal
- >greater than
- <less than
- >greater than or equal to
- <less than or equal to
- BETWEENbetween (range is inclusive)
- LIKEsearch for a pattern
- INspecifies multiple possible values for a column
SELECT column_name, function(column)
FROM table_name
WHERE column_name operator value- Distinct
- Lists distinct values of the column (no duplicates)
SELECT DISTINCT column_name FROM table_name
- Group By
- used to group what results you pulled by one or more columns
SELECT column_name, function(column)
FROM table_name
WHERE column_name operator value
GROUP BY column_name - Count
- returns number of values in the column
SELECT COUNT(column_name)
FROM table_name - Sum
- returns total of a column (has to be numbers)
SELECT SUM(column_name)
FROM table_name - Having
- like 'WHERE' but you can use functions
SELECT column_name, function(column)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING function(column) operator value - Join
- used to combine rows from multiple tables, based on a common field
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name = table2.column_name


Auxilliary Tool:
Multionomial Observation Model, as described in Butko and Movellan, CVPR 2009 (see Related Publications). This data structure maintains the mapping between object detector output and the probability that the target object is located at every grid-cell.
More...
#include <MultinomialObservationModel.h>
Inherited by MOMultinomialObservationModel.
Public Member Functions | |
| MultinomialObservationModel (CvSize gridSize) | |
| Constructor: Create an observation model with space allocated to hold parameters for a grid of size gridSize. The probabilities are set according to some simple heuristic. | |
| MultinomialObservationModel (MultinomialObservationModel *modelToCopy) | |
| Deep Copy Constructor: Create an observation model that is identical to the one copied. | |
| virtual | ~MultinomialObservationModel () |
| Default Destructor. | |
| virtual void | setObservationProbability (CvPoint searchPoint, IplImage *faceCount) |
| Given an observation (output of the object detector at each grid cell), estimate the relative likelihood that each grid cell's output was caused by the object being located there. The results of this computation are stored in the observationProbability variable. | |
| void | resetCounts () |
| Reset the experience-counts used to estimate the multinomial parameters. Sets all counts to 1. | |
| virtual void | updateProbTableCounts (CvPoint searchPoint, IplImage *faceCount, CvRect faceLocation) |
| Add evidence from one event to the count-tables that maintain the Dirichlet distribution over the multinomial parameters. | |
| void | normalizeProbTables () |
| Estimate the Maximum A Posterior multinomial parameters based on the events seen so far, and use this as the probability distribution estimate in the future. | |
| void | combineEvidence (MultinomialObservationModel *otherModel) |
| Combine the evidence from two models (merge their counts and subtract off the extra priors). | |
Public Attributes | |
| IplImage * | observationProbability |
| The results of "setObservationProbability" are stored in this variable. Each location contains the probabilty of the entire observation vector if the object were located at that location (up to a factor that is constant for every element). | |
Friends | |
| std::ostream & | operator<< (std::ostream &ofs, MultinomialObservationModel *a) |
| Write the probabilities and counts to a file stream, so we can read them in later. | |
| std::istream & | operator>> (std::istream &ifs, MultinomialObservationModel *a) |
| Read the probabilities and counts from a file stream, so we don't lose our earlier models. |
Auxilliary Tool:
Multionomial Observation Model, as described in Butko and Movellan, CVPR 2009 (see Related Publications). This data structure maintains the mapping between object detector output and the probability that the target object is located at every grid-cell.
An observation model consists of grid-height*grid-width*2 multinomial distributions, each with 10 outcomes. The proportiaonal likelihood that the counts of object-detector firings in a single grid-cell was caused by the object, instead of generated spontaneously, is p(count|object,xdist-to-fixation,ydist-to-fixation) / p(count|noobject,xdist-to-fixation,ydist-to-fixation).
| MultinomialObservationModel::~MultinomialObservationModel | ( | ) | [virtual] |
Default Destructor.
Deallocates all memory associated with the haar detector.
| void MultinomialObservationModel::combineEvidence | ( | MultinomialObservationModel * | otherModel ) |
Combine the evidence from two models (merge their counts and subtract off the extra priors).
| otherModel | A second MultinomialObservationModel that has been fit to different data than this one: We can estimate the model for the combined set of data by simply adding the counts, and subtracting duplicate priors. In this way, we can efficiently compose models fit to different subsets of a larger dataset (e.g. for cross-validation). |
In general, this functionality should be accessed indirectly, through the MIPOMDP cobineModels() function.
| void MultinomialObservationModel::normalizeProbTables | ( | ) |
Estimate the Maximum A Posterior multinomial parameters based on the events seen so far, and use this as the probability distribution estimate in the future.
Simply updating the counts does not change the estimate of outcome probabilities. This only happens when normalizeProbTables() is called.
In general, this functionality should be accessed indirectly, through the MIPOMDP trainObservationModel() function or addDataToObservationModel() function.
| void MultinomialObservationModel::resetCounts | ( | ) |
Reset the experience-counts used to estimate the multinomial parameters. Sets all counts to 1.
The multinomial distribution probabilities are estimated from experience counts. The table of counts forms a dirichlet posterior over the parameters of the multinomials. When the counts are reset to 1, there is a flat prior over multinomial parameters, and all outcomes are seen as equally likely. This is a particularly bad model, and will make it impossible to figure out the location of the face, so only call resetCounts if you're then going to call updateProbTableCounts for enough images to build up a good model.
In general, this functionality should be accessed indirectly, through the MIPOMDP resetModel() function.
| void MultinomialObservationModel::setObservationProbability | ( | CvPoint | searchPoint, |
| IplImage * | faceCount | ||
| ) | [virtual] |
Given an observation (output of the object detector at each grid cell), estimate the relative likelihood that each grid cell's output was caused by the object being located there. The results of this computation are stored in the observationProbability variable.
| searchPoint | The point that was the center of fixation when the object detector was applied to the image. |
| faceCount | An "image" of counts with the size of the grid. This is the number of target objects detected with centers in each grid cell as a result of applying the object detector. |
| void MultinomialObservationModel::updateProbTableCounts | ( | CvPoint | searchPoint, |
| IplImage * | faceCount, | ||
| CvRect | faceLocation | ||
| ) | [virtual] |
Add evidence from one event to the count-tables that maintain the Dirichlet distribution over the multinomial parameters.
 We add these outcomes to a table of counts of witnessed events, and build up a model of how likely each event is.
In general, this functionality should be accessed indirectly, through the MIPOMDP trainObservationModel() function or addDataToObservationModel() function.


Moldova
The Maple Flute
A Moldavian folk tale from the old world tells the story of a King’s young daughter, who fell in love with a shepherd after he charmed her with a Maple wood flute. This young daughter went into the fields with her two older sisters to gather the first strawberries of the spring season. Their wretched old father thought so much more of his victuals than of his kingdom or his family, that he promised his kingdom to the first daughter who should return to him with a basket full of fruit. When the young daughter’s basket was the first one filled, it maddened the two older sisters into a jealous rage. Hence, they killed her and buried her body under a Maple tree. The two older sisters divided the berries between them and returned with the improbable story that an elk had eaten her. The King’s sadness was plain for all to see. Sad, too, were the musings of the shepherd on the hill. Blow as he might, the Maple wood flute made no sound, nor did his lady appear. On the third day the Shepherd, passing the Maple tree beneath which his love was buried, noticed a fair new shoot that had sprung up from the ground at the base of the tree. He cut off the shoot and fashioned a new and more ornate flute, which began to sing when he put it to his lips. The new flute did not sing in wordless notes, but in prophetic lyrics. “Play, dearest! Once I was a King’s daughter; then I was a Maple shoot; now I am but a wooden flute.” Astonished at this disclosure, the shepherd rushed to the palace and demanded an audience with the King. The King was amazed, as well he might be, when he put the flute to his own mouth and heard it say “Play, my father! Once I was a King’s daughter; then I was a Maple shoot; now I am but a wooden flute.” Wishing to test his senses, he called the wicked daughters and commanded that they also blow into the instrument. As each did so, it cried, “Play, murderer! Once I was a King’s daughter; then I was a Maple shoot; now I am but a wooden flute.” Realizing what atrocity had been committed, the King drove the daughters from the palace and banished them to a remote and desolate island in the Black Sea. The shepherd went back to his sheep and assuaged his loneliness with the voice of his beloved.
Source: Here


AdobeImageEditorSession Class Reference
| Inherits from | NSObject |
| Declared in | AdobeImageEditorSession.h |
Overview
Photo Editor Sessions are obtained from instances of
AdobeUXImageEditorViewController through the session
property. A session
tracks and stores all user actions taken in the
AdobeUXImageEditorViewController it was obtained from.
Tasks
Compatibility Methods
-
open
property -
cancelled
property -
modified
property -
– createContextWithImage:
-
– createContextWithImage:maxSize:
Properties
cancelled
Specifies if the session has been cancelled.
@property (nonatomic, assign, readonly, getter=isCancelled) BOOL cancelled
Discussion
Specifies if the session has been cancelled.
Value will be YES if the user has invalided all actions by pressing “Cancel” in the generating AdobeUXImageEditorViewController.
Declared In
AdobeImageEditorSession.h
modified
Specifies whether the session contains any actions.
@property (nonatomic, assign, readonly, getter=isModified) BOOL modified
Discussion
Specifies whether the session contains any actions.
Value will be YES if the user has modified the image in the generating AdobeUXImageEditorViewController.
Declared In
AdobeImageEditorSession.h
open
Specifies whether the session is still open.
@property (nonatomic, assign, readonly, getter=isOpen) BOOL open
Discussion
Specifies whether the session is still open.
Value will be YES if the generating AdobeUXImageEditorViewController has not been dismissed.
Declared In
AdobeImageEditorSession.h
Instance Methods
createContextWithImage:
Generates a new AdobeImageEditorContext.
- (AdobeImageEditorContext *)createContextWithImage:(UIImage *)image
Parameters
- image
The image to generate the context with.
Return Value
A new photo editor context.
Discussion
Generates a new AdobeImageEditorContext.
Contexts may be used to replay the session’s actions on images. See AdobeImageEditorContext for more information.
Warning: Calling this method from any thread other in the main thread may result in undefined behavior.
Declared In
AdobeImageEditorSession.h
createContextWithImage:maxSize:
Generates a new AFPhotoEditorContext with a maximum size.
- (AdobeImageEditorContext *)createContextWithImage:(UIImage *)image maxSize:(CGSize)size
Parameters
- image
The image to generate the context with.
- size
The maximum size the context should render the image at.
Return Value
A new photo editor context that can be used to replay the session’s actions. See AFPhotoEditorContext.
Discussion
Generates a new AFPhotoEditorContext with a maximum size.
Warning: Calling this method from any thread other in the main thread may result in undefined behavior.
Declared In
AdobeImageEditorSession.h


UserService Resource
- ./redbackServices/userService/createAdminUser
- ./redbackServices/userService/createGuestUser
- ./redbackServices/userService/createUser
- ./redbackServices/userService/deleteUser/{userName}
- ./redbackServices/userService/getCurrentUserOperations
- ./redbackServices/userService/getCurrentUserPermissions
- ./redbackServices/userService/getGuestUser
- ./redbackServices/userService/getUser/{userName}
- ./redbackServices/userService/getUserOperations/{userName}
- ./redbackServices/userService/getUserPermissions/{userName}
- ./redbackServices/userService/getUsers
- ./redbackServices/userService/isAdminUserExists
- ./redbackServices/userService/lockUser/{username}
- ./redbackServices/userService/passwordChangeNotRequired/{username}
- ./redbackServices/userService/passwordChangeRequired/{username}
- ./redbackServices/userService/ping
- ./redbackServices/userService/registerUser
- ./redbackServices/userService/removeFromCache/{userName}
- ./redbackServices/userService/resetPassword
- ./redbackServices/userService/unlockUser/{username}
- ./redbackServices/userService/updateMe
- ./redbackServices/userService/updateUser
- ./redbackServices/userService/validateKey/{key}
POST /userService/createAdminUser
will create admin user only if not exists !! if exists will return false
| media type | data type |
|---|---|
| application/json | User (JSON) |
| application/xml | user (XML) |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
GET /userService/createGuestUser
| media type | data type | description |
|---|---|---|
| application/json | User (JSON) | |
| application/xml | user (XML) | |
| text/plain | object |
POST /userService/createUser
| media type | data type |
|---|---|
| application/json | User (JSON) |
| application/xml | user (XML) |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
GET /userService/deleteUser/{userName}
| name | type | description | default |
|---|---|---|---|
| userName | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 1.4
GET /userService/getCurrentUserOperations
- Available Since
- 1.4
| media type | data type | description |
|---|---|---|
| application/json | array of Operation (JSON) | the current logged user operations, if no logged user guest operations are returned |
| application/xml | list of operation (XML) | |
| text/plain | object |
- Available Since
- 1.4
GET /userService/getCurrentUserPermissions
- Available Since
- 1.4
| media type | data type | description |
|---|---|---|
| application/json | array of Permission (JSON) | the current logged user permissions, if no logged user guest permissions are returned |
| application/xml | list of permission (XML) | |
| text/plain | object |
GET /userService/getGuestUser
| media type | data type | description |
|---|---|---|
| application/json | User (JSON) | |
| application/xml | user (XML) | |
| text/plain | object |
GET /userService/getUser/{userName}
| name | type | description | default |
|---|---|---|---|
| userName | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | User (JSON) | |
| application/xml | user (XML) |
- Available Since
- 1.4
GET /userService/getUserOperations/{userName}
- Available Since
- 1.4
| name | type | description | default |
|---|---|---|---|
| userName | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | array of Operation (JSON) | |
| application/xml | list of operation (XML) | |
| text/plain | object |
- Available Since
- 1.4
GET /userService/getUserPermissions/{userName}
- Available Since
- 1.4
| name | type | description | default |
|---|---|---|---|
| userName | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | array of Permission (JSON) | |
| application/xml | list of permission (XML) | |
| text/plain | object |
GET /userService/getUsers
| media type | data type | description |
|---|---|---|
| application/json | array of User (JSON) | |
| application/xml | list of user (XML) |
GET /userService/isAdminUserExists
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 2.0
GET /userService/lockUser/{username}
- Available Since
- 2.0
| name | type | description | default |
|---|---|---|---|
| username | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 2.0
GET /userService/passwordChangeNotRequired/{username}
- Available Since
- 2.0
| name | type | description | default |
|---|---|---|---|
| username | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 2.0
GET /userService/passwordChangeRequired/{username}
- Available Since
- 2.0
| name | type | description | default |
|---|---|---|---|
| username | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
GET /userService/ping
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 1.4
POST /userService/registerUser
if redback is not configured for email validation is required, -1 is returned as key
- Available Since
- 1.4
| media type | data type |
|---|---|
| application/json | UserRegistrationRequest (JSON) |
| application/xml | userRegistrationRequest (XML) |
| media type | data type | description |
|---|---|---|
| application/json | RegistrationKey (JSON) | |
| application/xml | registrationKey (XML) |
GET /userService/removeFromCache/{userName}
| name | type | description | default |
|---|---|---|---|
| userName | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | number (JSON) | |
| application/xml | int (XML) | |
| text/plain | number |
- Available Since
- 1.4
POST /userService/resetPassword
- Available Since
- 1.4
| media type | data type | description |
|---|---|---|
| application/json | ResetPasswordRequest (JSON) | contains username for send a password reset email |
| application/xml | resetPasswordRequest (XML) |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 2.0
GET /userService/unlockUser/{username}
- Available Since
- 2.0
| name | type | description | default |
|---|---|---|---|
| username | path | n/a |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 1.4
POST /userService/updateMe
update only the current user and this fields: fullname, email, password. the service verify the curent logged user with the one passed in the method
- Available Since
- 1.4
| media type | data type |
|---|---|
| application/json | User (JSON) |
| application/xml | user (XML) |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
POST /userService/updateUser
| media type | data type |
|---|---|
| application/json | User (JSON) |
| application/xml | user (XML) |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |
- Available Since
- 1.4
GET /userService/validateKey/{key}
validate the key and the user with forcing a password change for next login. http session is created.
- Available Since
- 1.4
| name | type | description | default |
|---|---|---|---|
| key | path | authentication key | n/a |
| media type | data type | description |
|---|---|---|
| application/json | boolean (JSON) | |
| application/xml | boolean (XML) | |
| text/plain | object |


I also hope that my baby like, this game is also for you.
Firefighting is my first APP, it has a lot of problems, I hope you can tell me, thank you.
Enjoy!