Farms and pastures and olive groves covered most of the land around Ebou Dar, but many small forests stretched a few miles across as well, and while the ground was much flatter than the Rhannon Hills to the south, it rolled and sometimes rose in a prominence of a hundred feet or higher, sufficient to cast deep shadows in the afternoon sun. All in all, the country provided more than enough cover to keep unwanted eyes from what might have passed as some odd merchant’s pack train, nearly fifty people mounted and almost as many afoot, especially when it had Warders to find unfrequented paths through the undergrowth. Elayne did not sight a mark of human habitation beyond a few goats cropping on some of the hills.
Even plants and trees used to heat were beginning to wither and die, yet at any other time she might have enjoyed merely seeing the countryside. It could have been a thousand leagues from the land she had seen riding down the other bank of the Eldar. The hills were strange, knobby shapes, as though squeezed together by huge, careless hands. Flocks of brilliantly hued birds soared up at their passing, and a dozen sorts of hummingbirds flitted away from the horses, hovering jewels on blurred wings. Thick vines hung like ropes in some places, and there were trees with bundles of narrow fronds at the top for foliage, and things that looked like green feather dusters as tall as a man. A handful of plants, fooled by the heat, struggled to put out blossoms, bright reds and vivid yellows, some twice as wide as her two hands. Their perfume was lush and—“sultry” came to mind. She saw some boulders she would have wagered had once been toes on a statue, though why anyone would make a statue that large with bare feet she could not imagine, and another time the way led through a forest of thick fluted stones among the trees, the weathered stumps of columns, many toppled and all long since mined almost to the ground for their stone by local farmers. A pleasant ride despite the dust the horses’ hooves raised from parched soil. The heat did not touch her, of course, and there were not very many flies. All the dangers lay behind them; they had outrun the Forsaken, and no chance any of them or their servants could catch up now. It could have been a pleasant ride, except . . .
For one thing, Aviendha learned that the message she had sent about enemies coming when least expected had not been delivered. At first Elayne felt relief at anything to change the topic from Rand. It was not the jealousy come back; rather, more and more she found herself wanting what Aviendha had shared with him. Not jealousy. Envy. She would almost have preferred the other. Then she began really hearing what her friend was saying in a low monotone, and the hair on the back of her neck tried to stand.
“You can’t do that,” she protested, reining her horse closer to Aviendha’s. Actually, she supposed Aviendha would not have much trouble drubbing Kurin, or tying her up, or any of the rest. If the other Sea Folk women stood still for it, anyway. “We can’t start a war with them, certainly not before we use the Bowl. And not over this,” she added hastily. “Not at all.” They certainly were not going to start a war before or after the Bowl was used. Not just because the Windfinders were behaving more highhandedly by the hour. Not just because . . . Drawing breath, she hurried on. “If she had told me, I would not have known what you meant. I understand why you couldn’t speak more clearly, but you do see, don’t you?”
Aviendha glared ahead at nothing, absently brushing flies away from her face. “Without fail, I told her,” she grumbled. “Without fail! What if he had been one of the Shadowsouled? What if he had managed to get by me through the gateway, and you with no warning? What if . . . ?” She turned a suddenly forlorn gaze on Elayne. “I will bite my knife,” she said sadly, “but my liver may burst for it.”
Elayne was about to say that swallowing her anger was the right thing to do and she could pitch as large a fit as she wanted so long as she did not hurl it at the Atha’an Miere—that was what all that about knives and livers meant—but before she could open her mouth, Adeleas brought her rangy gray up on her other side. The white-haired sister had acquired a new saddle in Ebou Dar, a gaudy thing worked with silver on pommel and cantle. The flies seemed to avoid her, for some reason, though she wore a scent as strong as any of the flowers.
“Pardon me. I could not help overhearing that last.” Adeleas did not sound at all apologetic, and Elayne wondered just how much she had overheard. She felt her cheeks coloring. Some of what Aviendha had said about Rand had been remarkably frank and straightforward. Some of what she had said had been, too. It was one thing to talk that way with your nearest friend, quite another to suspect someone else had been listening. Aviendha seemed to feel the same way; she did not blush, but the sour look she shot at the Brown would have done Nynaeve proud.
Adeleas merely smiled, a vague smile as bland as water soup. “It might be best if you gave your friend there free rein with the Atha’an Miere.” She peered past Elayne at Aviendha, blinking. “Well, a loose rein. Putting the fear of the Light into them ought to be sufficient. They’re almost there already, in case you haven’t noticed. They’re much more wary of the ‘savage’ Aiel—forgive me, Aviendha—than they are of Aes Sedai. Merilille would have suggested it, but her ears are still burning.”
Aviendha’s face rarely gave much away, but right then she looked as puzzled as Elayne felt. Elayne twisted in her saddle to frown behind her. Merilille rode abreast with Vandene, Careane, and Sareitha not far back, all very studiously looking at anything except Elayne. Beyond the sisters were the Sea Folk, still in single file, and then would come the Knitting Circle, keeping themselves out of sight for the moment just ahead of the packhorses. They were threading their way through the glades of truncated columns. Fifty or a hundred long-tailed red-and-green birds winged over their heads, filling the air with chattering cries.
“Why?” Elayne asked curtly. It seemed foolish to add to the turmoil already bubbling just below the surface—and sometimes on the surface—but she had seen no hint of the fool in Adeleas. The Brown sister’s eyebrows rose in apparent surprise. Maybe she was surprised; Adeleas usually thought anyone should see what she saw. Maybe.
“Why? To restore a little balance, that is why. If the Atha’an Miere feel they need us to protect them from an Aiel, it might be a useful balance against . . . ” Adeleas paused slightly, suddenly absorbed in adjusting her pale gray skirts. “ . . . other things.”
Elayne’s face tightened. Other things. The bargain with the Sea Folk was what Adeleas meant. “You may ride with the others,” she said coolly.
Adeleas made no protest, no attempts to press her argument. She just inclined her head and let her horse fall back. Her small smile never altered a whit. The older Aes Sedai accepted that Nynaeve and Elayne stood above them and spoke with Egwene’s authority at their backs, but the truth was, that changed little beyond the surface. Perhaps nothing. They were outwardly respectful, they obeyed, and yet . . .
After all was said and done, Elayne, at least, was Aes Sedai at an age when most initiates of the Tower still wore novice white and very few had reached the Accepted. And she and Nynaeve had agreed to that bargain, hardly a display of wisdom and acumen. Not just the Sea Folk getting the Bowl, but twenty sisters going to the Atha’an Miere, subject to their laws, required to teach anything the Windfinders wanted to learn and unable to leave until others came to replace them. Windfinders allowed to enter the Tower as guests, allowed to learn whatever they wished, leave whenever they wished. Those alone would make the Hall scream, and probably Egwene as well, yet the rest . . . Every last one of the older sisters thought she would have found a way around making that bargain. Perhaps they really could have. Elayne did not believe it, but she was not sure.
She did not say anything to Aviendha, but after a few moments, the other woman spoke. “If I can serve honor and help you at the same time, I do not care whether it serves some Aes Sedai end.” She never seemed to take it in that Elayne was also Aes Sedai, not completely.
Elayne hesitated, then nodded. Something had to be done to temper the Sea Folk. Merilille and the others had displayed a remarkable forbearance so far, but how long would that last? Nynaeve might explode, once she actually turned her attentions to the Windfinders. Matters had to be kept as smooth as possible for as long as possible, but if the Atha’an Miere went on believing they could stare down any Aes Sedai, there would be trouble. Life was more complex than she had imagined back in Caemlyn, no matter how many lessons she had received as Daughter-Heir. So much more complicated since she entered the Tower.
“Just don’t be too . . . emphatic,” she said softly. “And please have a care. There are twenty of them, after all, and only one of you. I wouldn’t want anything to happen before I could help you.” Aviendha gave her a grin with a good bit of wolf in it and drew her dun mare off at the edge of the stones to wait for the Atha’an Miere.
From time to time Elayne glanced back, but all she saw through the trees was Aviendha riding next to Kurin, speaking quite calmly and not even looking at the Sea Folk woman. Certainly not glaring, though Kurin seemed to stare at her with considerable astonishment. When Aviendha thumped her horse back up to join Elayne, flapping her reins—she would never be a horsewoman—Kurin rode forward to speak with Renaile, and a short time later Renaile angrily sent Rainyn to the head of the column.
The most junior of the Windfinders sat her horse even more awkwardly than Aviendha, whom she pretended to ignore on Elayne’s other side just as she ignored the small green flies buzzing around her dark face. “Renaile din Calon Blue Star,” she said stiffly, “demands that you snub in the Aiel woman, Elayne Aes Sedai.” Aviendha grinned toothily at her, and Rainyn must have been watching at least a little, because her cheeks reddened beneath the sheen of sweat.
“Tell Renaile that Aviendha is not Aes Sedai,” Elayne replied. “I will ask her to be careful,” no lie there; she had, and would again, “but I can’t make her do anything.” On impulse, she added, “You know how Aiel are.” The Sea Folk had some very odd ideas of how the Aiel were.
Aviendha gave a pleased chuckle, but Elayne wondered whether the whole notion had been a mistake. Even with a good thirty paces between them, she could see Renaile’s face swell up at Rainyn’s report, and the others began to buzz like bees. They did not look frightened, they looked angry, and the glares they directed at the Aes Sedai ahead of them grew baleful. Not at Aviendha, at the sisters. Adeleas nodded thoughtfully when she saw that, and Merilille just barely failed to hide a smile. At least they were pleased.
If that had been the only incident during the ride it would have taken the edge off any enjoyment of flowers and birds, but it was not even the first. Beginning shortly after leaving the clearing, the Knitting Circle had made their way forward to Elayne one by one, all but Kirstian, and no doubt she would have come too had she not been ordered to keep Ispan shielded. One by one they came, each hesitant, smiling timorously until Elayne wanted to tell them to act their ages. They certainly made no demands, and they were too smart to ask straight out for what already had been denied, but they found other paths.
“It occurred to me,” Reanne said brightly, “that you must want to question Ispan Sedai quite urgently. Who can say what else she was up to in the city besides trying to find the storeroom?” She pretended to just be making conversation, but from time to time she darted quick looks at Elayne to see how she was taking it. “I’m sure we’ll take over an hour to reach the farm, the way we’re going, perhaps two, and you certainly don’t want to waste two hours. The herbs Nynaeve Sedai gave her make her quite talkative, and I’m sure she would sit up for sisters.”
The bright smile faded when Elayne said that questioning Ispan could wait and would. Light, did they really expect anyone to ask questions riding through forests on paths that barely deserved the name? Reanne rode back to the other Kinswomen, muttering to herself.
“Forgiveness, Elayne Sedai,” Chilares murmured a short time later, the traces of Murandy clinging to her accent. Her green straw hat matched some of her layered petticoats exactly. “Your forgiveness, if I intrude.” She did not wear the red belt of a Wise Woman; most of the Knitting Circle did not. Famelle was a goldsmith, and Eldase supplied lacquerware to the merchants for export; Chilares was a rug seller, while Reanne herself arranged shipping for small traders. Some worked at simple tasks—Kirstian ran a tiny weaver’s shop, and Dimana was a seamstress, though a prosperous one—but then, in the course of their lives, they had all followed many crafts. And used many names. “Ispan Sedai appears to be unwell,” Chilares said, shifting uneasily in her saddle. “Perhaps the herbs are affecting her more than Nynaeve Sedai thought. It would be terrible if anything happened to her. Before she can be questioned, I mean. Perhaps the sisters would look at her? Healing, you know . . .  As well she might, with Sumeko among her companions.
A glance back showed the stout woman standing in her stirrups to peer past the Windfinders, until she saw Elayne looking and sat back down hurriedly. Sumeko, who knew more of Healing than any sister except Nynaeve. Perhaps more than Nynaeve. Elayne simply pointed to the rear until Chilares colored and reined her mount around.
Merilille joined Elayne only moments after Reanne left, and the Gray sister made a much better pretense at simple chat than the Kinswoman had. In her manner of speaking, at least, she was poise itself. What she had to say was another matter. “I wonder how trustworthy those women are, Elayne.” Her lips pursed in distaste as she brushed dust from her divided blue skirts with a gloved hand. “They say they do not take in wilders, but Reanne herself may well be a wilder, whatever she claims about failing her test for Accepted. Sumeko, as well, and certainly Kirstian.” A slight frown for Kirstian, a dismissive shake of her head. “You must have noticed how she leaps at any mention of the Tower. She knows no more than she might have picked up in conversation with someone who really was put out.” Merilille sighed, regretting what she had to say; she really was very good. “Have you considered that they may be lying about other things? They could be Darkfriends, for all we know, or dupes of Darkfriends. Perhaps not, but they are hardly to be trusted very far. I believe there is a farm, whether they really use it for a retreat or not, or I would not have agreed to this, but I will not be surprised to find a few ramshackle buildings and a dozen or so wilders. Well, not ramshackle—they do seem to have coin—but the principle is the same. No, they are simply not trustworthy.”
Elayne began a slow burn as soon as she realized the direction Merilille was taking, and it grew hotter. As this slipping around, all this “may” and “could” so the woman could insinuate things she herself did not believe. Darkfriends? The Knitting Circle had fought Darkfriends. Two had died. And without Sumeko and Ieine, Nynaeve might be dead instead of Ispan a prisoner. No, the reason they were not to be trusted was not because Merilille feared they were sworn to the Shadow, or she would have said so. They were not to be trusted because if they were not trusted, then they could not be allowed to hold Ispan.
She swatted a big green fly that had settled on Lioness’s neck, punctuating Merilille’s last word with a loud crack, and the Gray sister jerked in surprise. “How dare you?” Elayne breathed. “They faced Ispan and Falion in the Rahad, and the gholam, not to mention two dozen or more toughs with swords. You weren’t there.” That was hardly fair. Merilille and the rest had been left behind because Aes Sedai in the Rahad, obvious Aes Sedai, might as well be trumpets and drums for the attention they attracted. She did not care. Her anger grew by the moment, and her voice rose by the word. “You will never suggest such a thing to me again. Never! Not without hard evidence! Not without proof! If you do, I’ll set you a penance that will make your eyes pop!” No matter how high she stood above the other woman, she had no authority to set her any penance at all, but she did not care about that, either. I’ll make you walk the rest of the way to Tar Valon! Eating nothing but bread and water the entire way! I’ll put you in their charge, and tell them to slap you down if you say boo to a goose!”
It dawned on her that she was shouting. Some sort of gray-and-white birds went flittering past overhead in a broad band, and she was drowning out their cries. Drawing a deep breath, she tried to calm herself. She did not have a voice for shouting; it always came out as a shriek. Everyone was looking at her, most in astonishment. Aviendha nodded approvingly. Of course, she have done the same had Elayne plunged a knife into Merilille’s heart. Aviendha stood beside her friends no matter what.
“I mean what I say,” Elayne told her, in a much cooler tone. It seemed to make even more blood leave Merilille’s face. She did mean every word; they could not afford that sort of rumor floating among them. One way or another she would see it done, though the Knitting Circle very likely would faint.
She hoped that was the end of it. It should have been. But when Chilares left, Sareitha replaced her, and she too had a reason the Kinswomen were not to be trusted. Their ages. Even Kirstian claimed to be older than any living Aes Sedai, while Reanne was over a hundred years more than that and not even the oldest of the Kin. Her title of Eldest went to the oldest of them in Ebou Dar, and the rigid schedule they followed to avoid notice had a number of still older women off in other places. It was obviously impossible, Sareitha maintained.
Elayne did not shout; she very carefully did not shout. “We will learn the truth eventually,” she told Sareitha. She did not doubt the Kinswomen’s word, but there had to be a reason why the Kinswomen looked neither ageless nor anything near the ages they claimed. If she could only puzzle it out. Something told her it was obvious, but nothing leaped up said what. “Eventually,” she added firmly when the Brown opened her mouth again. “That will be enough, Sareitha.” Sareitha nodded uncertainly and fell back. Not ten minutes later, Sibella replaced her.
Every time one of the Kinswomen came to make her roundabout plea to be relieved of Ispan, one of the sisters came soon after to offer the same plea. All save Merilille, who still blinked whenever Elayne looked at her. Perhaps shouting did have its uses. Certainly no one else tried to be so straightforward in attacking the Kin.
For instance, Vandene began with discussing the Sea Folk and how to counter the effects of the bargain made with them, why it was necessary to counter them as much as possible. She was quite matter-of-fact, with never a word or gesture to lay any blame. Not that she needed any; the subject did that, however delicately handled. The White Tower, she said, maintained its influence in the world not by force of arms, or persuasion, or even by plotting or manipulation, though those two she brushed past lightly. Rather the White Tower controlled or influenced events to whatever extent they did because everyone saw the Tower as standing apart and above, as more even than kings or queens. That in turn depended on every Aes Sedai being seen that way, as mysterious and apart, different from everyone else. A different flesh. Historically, Aes Sedai who could not manage that—and there were a few—were kept out of public view as much as possible.
It took Elayne a little while to realize that the thrust of the conversation had shifted away from the Sea Folk, and to see where it was headed. A different flesh, mysterious and apart, could not have a sack thrust over its head and be tied across a saddle. Not where anyone who was not Aes Sedai could see, anyway. In truth, the sisters would be rougher on Ispan than the Knitting Circle could possibly make themselves be, just not in public. The argument might have borne more weight had it come first, but as it was, Elayne sent Vandene packing as quickly as she did anyone else. And saw her replaced by Adeleas, right after Sibella was told that if none of the Knitting Circle could understand what Ispan was mumbling, then none of the sisters was likely to either. Mumbling! Light! The Aes Sedai took their repeated turns, and even knowing what they were up to, sometimes it was hard to see the connection at first. By the time Careane began by telling her that those boulders really had been toes once, supposedly on a statue of some warrior queen nearly two hundred feet high . . .
“Ispan stays where she is,” she told Careane coolly without waiting for more. “Now, unless you really want to tell me why the Shiotans thought of putting up a statue like that . . . ” The Green said ancient records claimed it had worn little more than armor, and not a great deal of that! A queen! “No? Then, if you don’t mind, I’d like to talk with Aviendha alone. Thank you so much.” Even being curt did not stop them, of course. She was surprised they did not send Merilille’s maid to take a turn.
None of this would have happened had Nynaeve been where she was meant to be. At least, Elayne was sure that Nynaeve could have quelled the Knitting Circle and the sisters both, in short order. She was a great one for quelling. The problem was that Nynaeve had glued herself tight to Lan’s side before they left the first clearing. The Warders scouted ahead and to both sides of their path, and sometimes to the rear, only riding back to the column long enough to report what they had seen or give directions on how to avoid a farm or a shepherd. Birgitte ranged far, never spending more than moments with Elayne. Lan ranged farther. And where Lan went, Nynaeve went.
“No one’s making any trouble, are they?” she demanded with a dark stare for the Sea Folk, the first time she followed Lan back. “Well, that’s all right, then,” she said before Elayne had a chance to open her mouth. Spinning her round-bellied mare like a racer, she nicked the reins and galloped after Lan holding her hat on with one hand, catching up to him just as he vanished around the flank of the hill ahead. Of course, then there really was nothing to complain about. Reanne had made her visit, and Merilille hers, and everything seemed settled.
By the next time Nynaeve appeared, Elayne had suffered through a number of disguised attempts to have Ispan turned over to the sisters, Aviendha had spoken to Kurin, and the Windfinders were on a slow boil, but when Elayne explained, Nynaeve simply looked around, frowning. Of course, right at that moment everyone had to be where they belonged. The Atha’an Miere wore glares, true, but the Knitting Circle were all behind them, and as for the other sisters, no group of novices could have appeared more well-behaved and innocent. Elayne wanted to shriek!
“I’m sure you can handle everything, Elayne,” Nynaeve said. “You have had all that training to be a queen. This can’t be anywhere near so—Drat the man! He’s going again! You can handle it.” And off she went, galloping that poor mare as though it were a warhorse.
That was when Aviendha chose to discuss how Rand seemed to like kissing the sides of her neck. And incidentally how much she had liked it. Elayne had liked that when he did it to her, too, but however used to discussing this sort of thing she had become—uncomfortably used to it—she did not want to talk about it right then. She was angry with Rand. It was unfair, but if not for him, she could have told Nynaeve to stop treating Lan like a child who might trip over his own feet and attend to her own duties. She almost wanted to blame him for the way the Knitting Circle was behaving, too, and the other sisters, and the Windfinders. It’s one of the things men are for, taking the blame, she remembered Lini saying once, and laughing while she did. They usually deserve it, even if you don’t know exactly how. Not fair, yet she wished he were there long enough for her to box his ears, just once.  Long enough to . . .
 Light, for all her talk about shame, in some areas Aviendha had none. And it seemed that she herself no longer had any, either! “But if I tried to push him, he dug in his heels even when it was plain that I was right. Was he that way with you?”
Aviendha glanced at her and appeared to understand. Elayne was not sure whether she liked that or not. At least there was no more talk of Rand and kissing. For a while, anyway. Aviendha had some knowledge of men—she had traveled with them as a Maiden of the Spear, fought beside them—but she had never wanted to be anything but Far Dareis Mai, and there were . . . gaps. Even with her dolls as a child she had always played at the spears and raiding. She had never flirted, did not understand it, and she did not understand why she felt the way she did when Rand’s eyes fell on her, or a hundred other things Elayne had begun learning the first time she noticed a boy looking at her differently than he did at the other boys. She expected Elayne to teach her all of it, and Elayne tried. She really could talk to Aviendha about anything. If only Rand had not been the example used quite so often. If he had been there, she would have boxed his ears. And kissed him. Then boxed his ears again.
Not a pleasant ride at all. A miserable ride.
Nynaeve made several more brief visits, before finally coming to announce that the Kin’s farm lay just ahead, out of sight around a low rounded hill that appeared ready to fall on its side. Reanne had been pessimistic in her estimate; the sun had not fallen nearly two hours’ worth.
“We’ll be there very quickly, now,” Nynaeve told Elayne, not seeming to notice the sullen stare Elayne gave in return. “Lan, fetch Reanne up here, please. Best if they see a familiar face right away.” He whirled his horse away, and Nynaeve turned in her saddle briefly to fix the sisters with a firm eye. “I don’t want you frightening them, now. You hold your tongues until we have a chance to explain what’s what. And hide your faces. Pull up the hoods of your cloaks.” Straightening without waiting for any reply, she gave a satisfied nod. “There. All settled, and all right. I vow, Elayne, I don’t know what you were moaning so about. Everyone’s doing exactly as they should, so far as I can see.”
Elayne ground her teeth. She wished they were in Caemlyn already. That was where they were heading once this was done. She had duties long overdue in Caemlyn. All she had to deal with there was convincing the stronger Houses that the Lion Throne was hers despite her long absence, that and handling a rival claimant or two. There might not have been any had she been there when her mother vanished, when she died, but the history of Andor said there would be by now. Somehow, it seemed ever so much easier than this.


5. Fink and external alert streams¶
5.1. Est-ce que vous parlez français?¶
Each night the same events can be seen by several experiments. The combination of probes makes the work very exciting as the scientific potential of all these experiments will only be fully exploited when combined, as demonstrated by the event GW170817 where a follow-up of unprecedented magnitude, involving more than 70 space and ground based telescopes and thousands of people, took place to draw a full multi-messenger astronomy picture.
But life would be too simple if we would use all the same tools, data formats, and protocols to communicate. Despite some efforts to impose common practices (let thanks the Virtual Astronomical Observatory for example), the particularity of each experiment often (not always though) justifies the choice of different tools.
In the case of ZTF or LSST, the volume of alert data to be transferred makes traditional formats and tools like VOEvent and VOEvent Transport Protocol in a difficult position to work efficiently. Instead, both experiments chose to use tools with proven records in a big data context: Apache Avro (replace VOEvent), and Apache Kafka (replace VTP). This choice of tools makes sense in the point of view of ZTF and LSST, but it makes harder the integration of these experiments with the current eco-system of telescopes. One of the role of their brokers is to make sure this integration is still possible, by e.g.
- Listening to external VOevent-based stream (CTA, SVOM, KM3NET, LIGO/Virgo, …), and performing coincidences with the internal Avro-based stream (ZTF or LSST).
- Converting alerts of interest in the traditional VOevent format, and redistributing them using VTP.
While Fink tackled the first bullet (listening), the second one (redistributing) is still under development.
5.2. Plug-in external VOevent-based stream in Fink¶
In Fink, we use the Comet broker (open source implementation of VTP) to subscribe to streams and receive VOEvents sent by other telescopes. We have a handler that converts the format to Apache Parquet, suitable for a usage with Apache Spark (at the heart of Fink). The received alerts are converted into a live stream, and correlated with the Fink internal streams to compute for example coincidences.
Hence, to interface your alert data with Fink, the only things to do is to communicate the IP address on which you publish.


My name is Linsey and I have a passion for the web! I believe that the internet holds the potential to do incredible good and I enjoy working with the technologies that make it all possible.

These are some of the technologies that I enjoy working with! I am always eager to dive into a new challenge and learn on the fly.
Here are an assortment of projects that I have been knocking out over the past year or so. Each project has presented a unique set of challenges that have forced me out of my comfort zone.
I am currently for the right job opportunity ! If you would like to discuss a project do not hesitate to get in contact with me. I will be glad work with you.


The Chicago Boss API is mostly stable, but still might change before 1.0.
BossDB is a database abstraction layer used for querying and updating the database. Currently Tokyo Tyrant, Mnesia, MySQL, and PostgreSQL are supported.
Conditions and Comparison Operators
The "find" and "count" functions each take a set of Conditions
, which specify search criteria. Similar to Microsoft's LINQ, the Conditions
can use a special non-Erlang syntax for conciseness. This special syntax can't be compiled with Erlang's default compiler, so you'll have to let Boss compile your controllers which use it.
Conditions
looks like a list, but each element in the list uses a notation very similar to abstract mathematical notation with a left-hand side (an atom corresponding to a record attribute), a single-character operator, and a right-hand side (values to match to the attribute). The mathematical operators are not all ASCII! You may want to copy-paste the UTF-8 operators below. As an alternative, you can also specify each condition with a 3-tuple with easier-to-type operator names.
As a quick example, to count the number of people younger than 25 with occupation listed as "student" or "unemployed", you would use:
[age < 25, occupation ∈ ["student", "unemployed"]]).
This could also be written:
[{age, 'lt', 25},
{occupation, 'in', ["student", "unemployed"]}]).
Valid conditions are:
The "key" attribute is exactly equal to Value.
The "key" attribute is not exactly equal to Value.
The "key" attribute is equal to at least one element on the right-hand side.
The "key" attribute is not equal to any element on the right-hand side.
The "key" attribute is numerically between Min and Max.
The "key" attribute is not between Min and Max.
The "key" attribute matches the RegularExpression.
The "key" attribute does not match the RegularExpression.
The "key" attribute contains Token.
The "key" attribute does not contain Token.
The "key" attribute contains all tokens on the right-hand side.
The "key" attribute does not contain all tokens on the right-hand side.
The "key" attribute contains at least one of the tokens on the right-hand side.
The "key" attribute contains none of the tokens on the right-hand side.
The "key" attribute is greater than Value.
The "key" attribute is less than Value.
The "key" attribute is greater than or equal to Value.
The "key" attribute is less than or equal to Value.
Functions
Functions in the boss_db
module include:
Find a BossRecord with the specified Id
.
Query for BossRecords. Returns all BossRecords of type
Type
matching all of the given Conditions
Query for BossRecords. Returns up to Max
number of BossRecords of type
Type
matching all of the given Conditions
Query for BossRecords. Returns up to Max
number of BossRecords of type
Type
matching all of the given Conditions
, skipping the first Skip
results.
Query for BossRecords. Returns up to Max
number of BossRecords of type
Type
matching all of the given Conditions
, skipping the
first Skip
results, sorted on the attribute Sort
.
Query for BossRecords. Returns up to Max
number of BossRecords of type
Type matching all of the given Conditions
, skipping the
first Skip
results, sorted on the attribute Sort
. SortOrder
specifies whether
to treat values as strings or as numbers, and whether to sort ascending or
descending. (SortOrder
= num_ascending
, num_descending
, str_ascending
, or
str_descending
)
Note that Time attributes are stored internally as numbers, so you should
sort them numerically.
Count the number of BossRecords of type Type
in the database.
Count the number of BossRecords of type Type
in the database matching
all of the given Conditions
.
Treat the record associated with Id
as a counter and return its value.
Returns 0 if the record does not exist, so to reset a counter just use
"delete".
Treat the record associated with Id
as a counter and atomically increment its value by 1.
Treat the record associated with Id
as a counter and atomically increment its value by Increment
.
Delete the BossRecord with the given Id
.
Execute raw database commands on SQL databases
Save (that is, create or update) the given BossRecord in the database.
Performs validation first; see validate_record/1
.
Validate the given BossRecord without saving it in the database.
ErrorMessages
are generated from the list of tests returned by the BossRecord's
validation_tests/0
function (if defined). The returned list should consist of
{TestFunction, ErrorMessage}
tuples, where TestFunction
is a fun of arity 0
that returns true
if the record is valid or false
if it is invalid.
ErrorMessage
should be a (constant) string which will be included in ErrorMessages
if the TestFunction
returns false
on this particular BossRecord.
Returns the type of the BossRecord with Id
, or undefined
if the record does not exist.


Description:
Online demo can be found here:
npm install ng-multi-selector
<ng-multi-selector ng-items-source="customers"
ng-display-property="'email'"
ng-model="chosenCustomers">
</ng-multi-selector>
<ng-multi-selector ng-items-source="customers"
ng-is-search-box-available="true"
ng-display-property="'email'"
ng-model="chosenCustomers"
ng-custom-item-template="true">

{{item.firstName}} {{item.lastName}}

</ng-multi-selector>
<ng-multi-selector ng-items-source="customers"
ng-is-search-box-available="true"
ng-display-property="'email'"
ng-model="chosenCustomers"
ng-custom-item-template="true"
ng-search-items="getApiItems(keyword)">

{{item.firstName}} {{item.lastName}}

</ng-multi-selector>
ng-items-source
(string): List of item which should be used for displayed in ng-multi-selector.
ng-display-property
(string): Which property should be used for display in ng-multi-selector.
ng-key-property
(string): Which property should be used to know whether item has been selected
or not.
ng-disabled
(boolean): Whether directive should be disabled or not.
ng-placeholder-title
(string): Text which should be displayed on title place holder.
ng-placeholder-search
(string): Text which should be displayed on drop-down list search box.
maxlength
(number) : Search box maximum length.
ng-separator
(string) : Separator which should be used to separate selected items.
ng-is-auto-close
(boolean): Whether drop-down list should automatically closed or manually when
an item has been clicked.
ng-limit-item-amount
(number): Number of items which should be shown up in drop-down list.
ng-is-clear-button-available
(boolean): Whether clear button is visible or not.
ng-is-search-box-available
(boolean): Whether search box is available or not.
ng-limit-item-selection
(number): Maximum number of items which can be selected.
ng-interval
(number): Amount of time in milliseconds which search event should be emitted.
ng-custom-item-template
(string): Template name of drop-down items.
ng-active-class
(string): Class which is used when an item is selected (default: 'active').
ng-search-items (keyword: string)
: Event which is raised when search event is emitted.


Object Oriented Programming
Variable Scope
July 24, 2015
Developing in the Ruby language means engaging in Object Oriented Programming (OOP). More or less, everything we interact with in Ruby is an object (except for blocs, procs, and lambdas but that's another conversation for another time), and these objects interact with one another via messages. We use variables, which inherit properties from their parent objects (again, another blog for another time), but there are different types of variables that are defined, accessible, and written in their own specific way. The below table is a cheat sheet of the different types of Ruby variables and their scope:
| Ruby Variable Scope Cheat-Sheet | |||||
|---|---|---|---|---|---|
| Global Variables | Class Variables | Instance Variables | Local Variables | Constants | Pseudo-Variables |
|
|
|
|
|
|
And that's pretty much the scope of Ruby variables in a nutshell, enjoy!


The main protagonist of the
Garden of the Forking Paths.
A spy for Germany, trying to prove the worth of his race.
He's trying to warn the German leaders of
the new
British artillery park location.
The main antagonist of the
Garden of the Forking Paths.
He is an Irishman working for the British Army,
also trying to prove himself to his superiors.
He's trying to catch Yu Tsun,
the German spy.
A scholar who has studied the work of Ts'ui Pen,
an
ancestor of Yu Tsun, the protagonist.
He also has the same last name
of the new
British Artillery Park.


Every great piece of art starts with a canvas.
Great interfaces feel like extensions of human interaction. We want Canopy to be simple, efficient and delightful, to accomplish this present content and information to the user in a natural and intuitive feel.
Using principles of depth and hierarchy, we have created a more tactile and intuitive interface that mimics the world we know and respect - reading a book or tapping an elevator button.
Every element that is presented to the user is laid out overtop of the canvas. This is simply a base layer that ensures that the elements that are laid on top have a strong content hierarchy and contrast. It draws the users eye to the most important elements of the application.
Different regions of the canvas have consistently carried different purposes as Canopy has been developed. We've outlined a few of the patterns that are used to help define this consistency.


Plant disease detection Application
Version: {{version1}}
Fill up these details and upload the image
Plant Name:
Select Plant
Apple
Corn
Grapes
Potato
Tomato
Image


User Experience Designer and Researcher keen on the psychology of Interaction Design.
Based in Singapore, seeking for career opportunities.
About Me
Graduated with a diploma in Interaction Design at Nanyang Polytechnic.
Currently looking for job opportunities to further increase my knowledge and experience in the User Experience industry. I have always been fascinated in the psychology of why certain things are more captivating than others in art, advertisements, and products. Especially when the line between psychology and design is blurred. When you truly take advantage of how the human mind works and what the user truly requires, it does wonders to the project and brings life to it.
My Works
Cache Mobile App
The UX case study of a money saving app targeting
youths with bad spending habits
Less Waste
An exhibition on the dangers of continued plastic
waste and ways to start changing
Mask Translator
A design solution to help patients and doctors to communicate despite the language barrier
Polytechnic Website Design
I created a polytechnic website design that is responsive from desktop to mobile.
Platinum Screen App Design
Platinum Screen is an app that hopes to help users find movies that are currently screening in the cinema according to their interests
Arctic Monkeys Magazine Design
This magazine spread was designed based on my personal music interests. This was designed in hopes to promote their latest album.


source file: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyasn1/__init__.py
file stats: 4 lines, 3 executed: 75.0% covered
1. import sys 2. 3. # http://www.python.org/dev/peps/pep-0396/ 4. __version__ = '0.2.3' 5. 6. if sys.version_info[:2] < (2, 4): 7. raise RuntimeError('PyASN1 requires Python 2.4 or later') 8.


Pakistani Women Advance in Tech 18 Nov 2019, 07:15 A few Pakistani women friends, working for big tech companies in the U.S., decided they wanted to create the mentoring and professional network they wished they'd had when coming up in the business. The result is the Seattle based Pakistani Women in Computing or PWIC.


cop
: copula
In Irish, there is a distinction between the substantive verb bí `to be’, which inflects for tense, mood and person as per all Irish verbs – and the copula is, which only has two tensed forms - present/future and past/conditional.
Bí, as a verb, uses separate particles in negative and interrogative constructions. Is (copula) uses its own forms in these constructions. See the table below for more information regarding different forms of the copula.
The order of elements in a copular construction is usually as follows: copula, predicate (new or focussed information), and subject. See root for further information on how the root is identified in a copular construction and examples of the copula-predicate-subject structure.
cop
is used to link the copula verb is and its predicate. See xcomp:pred to see how the verb bí is linked to a predicate.
Examples
Equative construction
Is múinteoir é ‘He is a teacher’
Is múinteoir é \n is teacher him
cop(múinteoir, Is)
Idiomatic expressions
Ba mhaith liom gan fanacht ‘I would not want to stay’
Ba mhaith liom gan fanacht \n Be good with_me without staying
cop(mhaith, Ba)
Cleft constructions
Is iad a bheidh ina gcomhaltaí de na coistí sin ‘They are the ones who will be members of those committees’
Is iad a bheidh ina gcomhaltaí de na coistí sin \n Is them who will_be in_their members of the committees those
cop(iad, Is)
Ownership constructions
An leatsa é? ‘Is it yours?’
An leatsa é ? \n Is with_you it ?
cop(leatsa, An)
The various forms of the copula, which occurs in the both present and past tenses and in the conditional mood are labelled ‘cop’.
| Present tense/Future tense | Past tense/Conditional mood | |
|---|---|---|
| Affirmative | is | ba / b’ |
| Negative | ní | níor / níorbh |
| Interrogative | an | ar / arbh |
| Negative Interrogative | nach | nár / nárbh |
| Dependent | gur/gurb | gur / gurbh |
| Negative Dependent | nach | nár / nárbh |
NOTE: Other forms of the copula such as the copula in the form of a relative pronoun in the past tense or in the superlative (‘ab’) and contracted copula forms (‘Sé/’Sí/Seo/Sin) also bear the label ‘cop’. The copular conjunction ‘ná’ is currently treated as either ‘mark’ or ‘cc’.
cop in other languages: [bej] [bg] [cop] [cs] [de] [el] [en] [es] [et] [eu] [fi] [fo] [fr] [fro] [ga] [gsw] [hy] [id] [it] [ja] [kk] [kpv] [ky] [myv] [no] [pcm] [pt] [ro] [ru] [sl] [sv] [swl] [tr] [u] [urj] [vi] [yue] [zh]


Class UnityContainerExtensions
Extension class that adds a set of convenience overloads to the IUnityContainer interface.
Inheritance
Inherited Members
Namespace: Unity
Assembly: Unity.Abstractions.dll
Syntax
public static class UnityContainerExtensions
Methods
| Improve this Doc View SourceAddNewExtension<TExtension>(IUnityContainer)
Creates a new extension object and adds it to the container.
Declaration
public static IUnityContainer AddNewExtension<TExtension>(this IUnityContainer container)where TExtension : UnityContainerExtension
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to add the extension to. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TExtension | Type of UnityContainerExtension to add. The extension type
will be resolved from within the supplied |
BuildUp(IUnityContainer, Type, Object, ResolverOverride[])
Run an existing object through the container and perform injection on it.
Declaration
public static object BuildUp(this IUnityContainer container, Type t, object existing, params ResolverOverride[] resolverOverrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve through. |
| System.Type | t | System.Type of object to perform injection on. |
| System.Object | existing | Instance to build up. |
| ResolverOverride[] | resolverOverrides | Any overrides for the Buildup. |
Returns
| Type | Description |
|---|---|
| System.Object | The resulting object. By default, this will be |
Remarks
This method is useful when you don't control the construction of an instance (ASP.NET pages or objects created via XAML, for instance) but you still want properties and other injection performed.
This overload uses the default registrations.
BuildUp<T>(IUnityContainer, T, String, ResolverOverride[])
Run an existing object through the container and perform injection on it.
Declaration
public static T BuildUp<T>(this IUnityContainer container, T existing, string name, params ResolverOverride[] resolverOverrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve through. |
| T | existing | Instance to build up. |
| System.String | name | name to use when looking up the typemappings and other configurations. |
| ResolverOverride[] | resolverOverrides | Any overrides for the Buildup. |
Returns
| Type | Description |
|---|---|
| T | The resulting object. By default, this will be |
Type Parameters
| Name | Description |
|---|---|
| T | System.Type of object to perform injection on. |
Remarks
This method is useful when you don't control the construction of an instance (ASP.NET pages or objects created via XAML, for instance) but you still want properties and other injection performed.
BuildUp<T>(IUnityContainer, T, ResolverOverride[])
Run an existing object through the container and perform injection on it.
Declaration
public static T BuildUp<T>(this IUnityContainer container, T existing, params ResolverOverride[] resolverOverrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve through. |
| T | existing | Instance to build up. |
| ResolverOverride[] | resolverOverrides | Any overrides for the buildup. |
Returns
| Type | Description |
|---|---|
| T | The resulting object. By default, this will be |
Type Parameters
| Name | Description |
|---|---|
| T | System.Type of object to perform injection on. |
Remarks
This method is useful when you don't control the construction of an instance (ASP.NET pages or objects created via XAML, for instance) but you still want properties and other injection performed.
This overload uses the default registrations.
Configure<TConfigurator>(IUnityContainer)
Resolve access to a configuration interface exposed by an extension.
Declaration
public static TConfigurator Configure<TConfigurator>(this IUnityContainer container)where TConfigurator : IUnityContainerExtensionConfigurator
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
Returns
| Type | Description |
|---|---|
| TConfigurator | The requested extension's configuration interface, or null if not found. |
Type Parameters
| Name | Description |
|---|---|
| TConfigurator | The configuration interface required. |
Remarks
Extensions can expose configuration interfaces as well as adding strategies and policies to the container. This method walks the list of added extensions and returns the first one that implements the requested type.
IsRegistered(IUnityContainer, Type)
Check if a particular type has been registered with the container with the default name.
Declaration
public static bool IsRegistered(this IUnityContainer container, Type typeToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to inspect. |
| System.Type | typeToCheck | Type to check registration for. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if this type has been registered, false if not. |
IsRegistered<T>(IUnityContainer)
Check if a particular type has been registered with the container with the default name.
Declaration
public static bool IsRegistered<T>(this IUnityContainer container)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to inspect. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if this type has been registered, false if not. |
Type Parameters
| Name | Description |
|---|---|
| T | Type to check registration for. |
IsRegistered<T>(IUnityContainer, String)
Check if a particular type/name pair has been registered with the container.
Declaration
public static bool IsRegistered<T>(this IUnityContainer container, string nameToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to inspect. |
| System.String | nameToCheck | Name to check registration for. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if this type/name pair has been registered, false if not. |
Type Parameters
| Name | Description |
|---|---|
| T | Type to check registration for. |
RegisterInstance(IUnityContainer, Type, Object)
Register an instance with the container.
Declaration
public static IUnityContainer RegisterInstance(this IUnityContainer container, Type t, object instance)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | Type of instance to register (may be an implemented interface instead of the full type). |
| System.Object | instance | Object to returned. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Remarks
Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.
This overload does a default registration and has the container take over the lifetime of the instance.
RegisterInstance(IUnityContainer, Type, Object, LifetimeManager)
Register an instance with the container.
Declaration
public static IUnityContainer RegisterInstance(this IUnityContainer container, Type t, object instance, LifetimeManager lifetimeManager)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | Type of instance to register (may be an implemented interface instead of the full type). |
| System.Object | instance | Object to returned. |
| LifetimeManager | lifetimeManager | LifetimeManager object that controls how this instance will be managed by the container. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Remarks
Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.
This overload does a default registration (name = null).
RegisterInstance(IUnityContainer, Type, String, Object)
Register an instance with the container.
Declaration
public static IUnityContainer RegisterInstance(this IUnityContainer container, Type t, string name, object instance)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | Type of instance to register (may be an implemented interface instead of the full type). |
| System.String | name | Name for registration. |
| System.Object | instance | Object to returned. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Remarks
Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.
This overload automatically has the container take ownership of the instance
.
RegisterInstance<TInterface>(IUnityContainer, TInterface)
Register an instance with the container.
Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, TInterface instance)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| TInterface | instance | Object to returned. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TInterface | Type of instance to register (may be an implemented interface instead of the full type). |
Remarks
Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.
This overload does a default registration and has the container take over the lifetime of the instance.
RegisterInstance<TInterface>(IUnityContainer, TInterface, LifetimeManager)
Register an instance with the container.
Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, TInterface instance, LifetimeManager lifetimeManager)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| TInterface | instance | Object to returned. |
| LifetimeManager | lifetimeManager | LifetimeManager object that controls how this instance will be managed by the container. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TInterface | Type of instance to register (may be an implemented interface instead of the full type). |
Remarks
Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.
This overload does a default registration (name = null).
RegisterInstance<TInterface>(IUnityContainer, String, TInterface)
Register an instance with the container.
Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, string name, TInterface instance)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name for registration. |
| TInterface | instance | Object to returned. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TInterface | Type of instance to register (may be an implemented interface instead of the full type). |
Remarks
Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.
This overload automatically has the container take ownership of the instance
.
RegisterInstance<TInterface>(IUnityContainer, String, TInterface, LifetimeManager)
Register an instance with the container.
Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, string name, TInterface instance, LifetimeManager lifetimeManager)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name for registration. |
| TInterface | instance | Object to returned. |
| LifetimeManager | lifetimeManager | LifetimeManager object that controls how this instance will be managed by the container. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TInterface | Type of instance to register (may be an implemented interface instead of the full type). |
Remarks
Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.
RegisterSingleton(IUnityContainer, Type, String, InjectionMember[])
Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.
Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type t, string name, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | The System.Type to configure in the container. |
| System.String | name | Name to use for registration, null if a default registration. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
RegisterSingleton(IUnityContainer, Type, Type, String, InjectionMember[])
Register a type mapping with the container.
Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type from, Type to, string name, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | from | System.Type that will be requested. |
| System.Type | to | System.Type that will actually be returned. |
| System.String | name | Name to use for registration, null if a default registration. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Remarks
This method is used to tell the container that when asked for type from
,
actually return an instance of type to
. This is very useful for
getting instances of interfaces.
RegisterSingleton(IUnityContainer, Type, Type, InjectionMember[])
Register a type mapping with the container.
Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type from, Type to, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | from | System.Type that will be requested. |
| System.Type | to | System.Type that will actually be returned. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Remarks
This method is used to tell the container that when asked for type from
,
actually return an instance of type to
. This is very useful for
getting instances of interfaces.
This overload registers a default mapping.
RegisterSingleton(IUnityContainer, Type, InjectionMember[])
Register a type with specific members to be injected.
Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type t, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | Type this registration is for. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
RegisterSingleton<T>(IUnityContainer, String, InjectionMember[])
Register type as a singleton.
Declaration
public static IUnityContainer RegisterSingleton<T>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name that will be used to request the type. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| T | The type to configure injection on. |
RegisterSingleton<T>(IUnityContainer, InjectionMember[])
Register a type with specific members to be injected as singleton.
Declaration
public static IUnityContainer RegisterSingleton<T>(this IUnityContainer container, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| T | Type this registration is for. |
RegisterSingleton<TFrom, TTo>(IUnityContainer, String, InjectionMember[])
Register a type mapping as singleton.
Declaration
public static IUnityContainer RegisterSingleton<TFrom, TTo>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)where TTo : TFrom
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name of this mapping. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TFrom | System.Type that will be requested. |
| TTo | System.Type that will actually be returned. |
Remarks
This method is used to tell the container that when asked for type TFrom
,
actually return an instance of type TTo
. This is very useful for
getting instances of interfaces.
RegisterSingleton<TFrom, TTo>(IUnityContainer, InjectionMember[])
Register a type mapping with the container.
Declaration
public static IUnityContainer RegisterSingleton<TFrom, TTo>(this IUnityContainer container, params InjectionMember[] injectionMembers)where TTo : TFrom
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TFrom | System.Type that will be requested. |
| TTo | System.Type that will actually be returned. |
Remarks
This method is used to tell the container that when asked for type TFrom
,
actually return an instance of type TTo
. This is very useful for
getting instances of interfaces.
This overload registers a default mapping and transient lifetime.
RegisterType(IUnityContainer, Type, String, LifetimeManager, InjectionMember[])
Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.
Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, string name, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | The System.Type to apply the |
| System.String | name | Name to use for registration, null if a default registration. |
| LifetimeManager | lifetimeManager | The LifetimeManager that controls the lifetime of the returned instance. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
RegisterType(IUnityContainer, Type, String, InjectionMember[])
Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.
Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, string name, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | The System.Type to configure in the container. |
| System.String | name | Name to use for registration, null if a default registration. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
RegisterType(IUnityContainer, Type, Type, String, InjectionMember[])
Register a type mapping with the container.
Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type from, Type to, string name, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | from | System.Type that will be requested. |
| System.Type | to | System.Type that will actually be returned. |
| System.String | name | Name to use for registration, null if a default registration. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Remarks
This method is used to tell the container that when asked for type from
,
actually return an instance of type to
. This is very useful for
getting instances of interfaces.
RegisterType(IUnityContainer, Type, Type, LifetimeManager, InjectionMember[])
Register a type mapping with the container, where the created instances will use the given LifetimeManager.
Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type from, Type to, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | from | System.Type that will be requested. |
| System.Type | to | System.Type that will actually be returned. |
| LifetimeManager | lifetimeManager | The LifetimeManager that controls the lifetime of the returned instance. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
RegisterType(IUnityContainer, Type, Type, InjectionMember[])
Register a type mapping with the container.
Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type from, Type to, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | from | System.Type that will be requested. |
| System.Type | to | System.Type that will actually be returned. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Remarks
This method is used to tell the container that when asked for type from
,
actually return an instance of type to
. This is very useful for
getting instances of interfaces.
This overload registers a default mapping.
RegisterType(IUnityContainer, Type, LifetimeManager, InjectionMember[])
Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.
Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | The System.Type to apply the |
| LifetimeManager | lifetimeManager | The LifetimeManager that controls the lifetime of the returned instance. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
RegisterType(IUnityContainer, Type, InjectionMember[])
Register a type with specific members to be injected.
Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.Type | t | Type this registration is for. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
RegisterType<T>(IUnityContainer, String, LifetimeManager, InjectionMember[])
Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.
Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, string name, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name that will be used to request the type. |
| LifetimeManager | lifetimeManager | The LifetimeManager that controls the lifetime of the returned instance. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| T | The type to apply the |
RegisterType<T>(IUnityContainer, String, InjectionMember[])
Register a LifetimeManager for the given type with the container. No type mapping is performed for this type.
Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name that will be used to request the type. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| T | The type to configure injection on. |
RegisterType<T>(IUnityContainer, LifetimeManager, InjectionMember[])
Register a LifetimeManager for the given type with the container. No type mapping is performed for this type.
Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| LifetimeManager | lifetimeManager | The LifetimeManager that controls the lifetime of the returned instance. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| T | The type to apply the |
RegisterType<T>(IUnityContainer, InjectionMember[])
Register a type with specific members to be injected.
Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, params InjectionMember[] injectionMembers)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| T | Type this registration is for. |
RegisterType<TFrom, TTo>(IUnityContainer, String, LifetimeManager, InjectionMember[])
Register a type mapping with the container, where the created instances will use the given LifetimeManager.
Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, string name, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)where TTo : TFrom
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name to use for registration, null if a default registration. |
| LifetimeManager | lifetimeManager | The LifetimeManager that controls the lifetime of the returned instance. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TFrom | System.Type that will be requested. |
| TTo | System.Type that will actually be returned. |
RegisterType<TFrom, TTo>(IUnityContainer, String, InjectionMember[])
Register a type mapping with the container.
Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)where TTo : TFrom
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| System.String | name | Name of this mapping. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TFrom | System.Type that will be requested. |
| TTo | System.Type that will actually be returned. |
Remarks
This method is used to tell the container that when asked for type TFrom
,
actually return an instance of type TTo
. This is very useful for
getting instances of interfaces.
RegisterType<TFrom, TTo>(IUnityContainer, LifetimeManager, InjectionMember[])
Register a type mapping with the container, where the created instances will use the given LifetimeManager.
Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)where TTo : TFrom
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| LifetimeManager | lifetimeManager | The LifetimeManager that controls the lifetime of the returned instance. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TFrom | System.Type that will be requested. |
| TTo | System.Type that will actually be returned. |
RegisterType<TFrom, TTo>(IUnityContainer, InjectionMember[])
Register a type mapping with the container.
Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, params InjectionMember[] injectionMembers)where TTo : TFrom
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to configure. |
| InjectionMember[] | injectionMembers | Injection configuration objects. |
Returns
| Type | Description |
|---|---|
| IUnityContainer | The IUnityContainer object that this method was called on (this in C#, Me in Visual Basic). |
Type Parameters
| Name | Description |
|---|---|
| TFrom | System.Type that will be requested. |
| TTo | System.Type that will actually be returned. |
Remarks
This method is used to tell the container that when asked for type TFrom
,
actually return an instance of type TTo
. This is very useful for
getting instances of interfaces.
This overload registers a default mapping and transient lifetime.
Resolve(IUnityContainer, Type, ResolverOverride[])
Resolve an instance of the default requested type from the container.
Declaration
public static object Resolve(this IUnityContainer container, Type t, params ResolverOverride[] overrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve from. |
| System.Type | t | System.Type of object to get from the container. |
| ResolverOverride[] | overrides | Any overrides for the resolve call. |
Returns
| Type | Description |
|---|---|
| System.Object | The retrieved object. |
Resolve<T>(IUnityContainer, String, ResolverOverride[])
Resolve an instance of the requested type with the given name from the container.
Declaration
public static T Resolve<T>(this IUnityContainer container, string name, params ResolverOverride[] overrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve from. |
| System.String | name | Name of the object to retrieve. |
| ResolverOverride[] | overrides | Any overrides for the resolve call. |
Returns
| Type | Description |
|---|---|
| T | The retrieved object. |
Type Parameters
| Name | Description |
|---|---|
| T | System.Type of object to get from the container. |
Resolve<T>(IUnityContainer, ResolverOverride[])
Resolve an instance of the default requested type from the container.
Declaration
public static T Resolve<T>(this IUnityContainer container, params ResolverOverride[] overrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve from. |
| ResolverOverride[] | overrides | Any overrides for the resolve call. |
Returns
| Type | Description |
|---|---|
| T | The retrieved object. |
Type Parameters
| Name | Description |
|---|---|
| T | System.Type of object to get from the container. |
ResolveAll(IUnityContainer, Type, ResolverOverride[])
Return instances of all registered types requested.
Declaration
public static IEnumerable<object> ResolveAll(this IUnityContainer container, Type type, params ResolverOverride[] resolverOverrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve from. |
| System.Type | type | The type requested. |
| ResolverOverride[] | resolverOverrides | Any overrides for the resolve calls. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<System.Object> | Set of objects of type |
Remarks
This method is useful if you've registered multiple types with the same System.Type but different names.
Be aware that this method does NOT return an instance for the default (unnamed) registration.
ResolveAll<T>(IUnityContainer, ResolverOverride[])
Return instances of all registered types requested.
Declaration
public static IEnumerable<T> ResolveAll<T>(this IUnityContainer container, params ResolverOverride[] resolverOverrides)
Parameters
| Type | Name | Description |
|---|---|---|
| IUnityContainer | container | Container to resolve from. |
| ResolverOverride[] | resolverOverrides | Any overrides for the resolve calls. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<T> | Set of objects of type |
Type Parameters
| Name | Description |
|---|---|
| T | The type requested. |
Remarks
This method is useful if you've registered multiple types with the same System.Type but different names.
Be aware that this method does NOT return an instance for the default (unnamed) registration.


Status of VNFs undergoing Change management testing
Click to view current status
Sign In
User: Prabhat Mitch Armin


Representation of holonomic functions in SymPy¶
Class DifferentialOperator
is used to represent the annihilator
but we create differential operators easily using the function
DifferentialOperators()
. Class HolonomicFunction
represents a holonomic function.
Let’s explain this with an example:
Take \(\sin(x)\) for instance, the differential equation satisfied by it is \(y^{(2)}(x) + y(x) = 0\). By definition we conclude it is a holonomic function. The general solution of this ODE is \(C_{1} \cdot \sin(x) + C_{2} \cdot \cos(x)\) but to get \(\sin(x)\) we need to provide initial conditions i.e. \(y(0) = 0, y^{(1)}(0) = 1\).
To represent the same in this module one needs to provide the differential
equation in the form of annihilator. Basically a differential operator is an
operator on functions that differentiates them. So \(D^{n} \cdot y(x) = y^{(n)}(x)\)
where \(y^{(n)}(x)\) denotes n
times differentiation of \(y(x)\) with
respect to x
.
So the differential equation can also be written as \(D^{2} \cdot y(x) + y(x) = 0\) or \((D^{2} + 1) \cdot y(x) = 0\). The part left of \(y(x)\) is the annihilator i.e. \(D^{2}+1\).
So this is how one will represent \(\sin(x)\) as a Holonomic Function:
>>> from sympy.holonomic import DifferentialOperators, HolonomicFunction
>>> from sympy.abc import x
>>> from sympy import ZZ
>>> R, D = DifferentialOperators(ZZ.old_poly_ring(x), 'D')
>>> HolonomicFunction(D**2 + 1, x, 0, [0, 1])
HolonomicFunction((1) + (1)*D**2, x, 0, [0, 1])
The polynomial coefficients will be members of the ring ZZ[x]
in the example.
The D
operator returned by the function DifferentialOperators()
can
be used to create annihilators just like SymPy expressions.
We currently use the older implementations of rings in SymPy for priority mechanism.


Admin Index Page
Users
User Profile Form
User Profile Form
User Id
User Name
Reset Password
Current User's Roles
No Roles User Has
id
name
description
operations
Reset
Remaining Available Roles
No Remaining Available Roles
id
name
description
operations
Set


OriGami Tutorial
1. Creating a Game
- First Step: Creating an empty Game
- To create an empty game use the plus sign in the top right corner
- Second Step: Choosing title, description, time and difficulty
- Third Step: Choosing an Activity Type
- Find Destination is a game in which the goal is to move to a given point on the map and optionally solve some kind of task
- Follow Route is the game consisting of multiple points to reach with the same kind of optional tasks
- Fourth Step: Adding one (Find Destination) or multiple (Follow Route) points to the game
- Fifth Step: Adding tasks to the points
- A Question and Answer task consists of a question and four answers.
- The first answer has to be the correct one.
- Each question answer can be expanded by a picture.
- Multiple Question and Answer games can be assigned to the same point.
- A GeoReference task consists of a marker which shows the location of where the uploaded photo was taken.
2. Managing Games
- Deleting Games:
To delete a game use the delete button
- Editing Games
To edit existing Games use the edit button
- Saving a Game locally
To save a Game locally use the download button
How to Play OriGami
- First Step: Choosing a Game
To choose a Game select it from the gamelist
- Second Step: Start Playing
Follow the instructions to play the Game


We exchange methodologies!
- strategize collaborative applications
- streamline dot-com e-business
- strategize value-added functionalities
- orchestrate value-added architectures
- monetize e-business e-services
- revolutionize e-business platforms
- target extensible paradigms
- incentivize intuitive partnerships
- revolutionize 24/7 initiatives
- unleash next-generation partnerships


(require 'root)
In the Newton method, divide the df/dx argument by the
multiplicity of the desired root in order to preserve quadratic
convergence.
Given integer valued procedure f, its derivative (with respect to its argument) df/dx, and initial integer value x0 for which df/dx(x0) is non-zero, returns an integer x for which f(x) is closer to zero than either of the integers adjacent to x; or returns
#f
if such an integer can't be found.To find the closest integer to a given integer's square root:
(define (integer-sqrt y) (newton:find-integer-root (lambda (x) (- (* x x) y)) (lambda (x) (* 2 x)) (ash 1 (quotient (integer-length y) 2)))) (integer-sqrt 15) ⇒ 4
Given real valued procedures f, df/dx of one (real) argument, initial real value x0 for which df/dx(x0) is non-zero, and positive real number prec, returns a real x for which
abs
(f(x)) is less than prec; or returns#f
if such a real can't be found.If prec is instead a negative integer,
newton:find-root
returns the result of -prec iterations.
H. J. Orchard, The Laguerre Method for Finding the Zeros of Polynomials, IEEE Transactions on Circuits and Systems, Vol. 36, No. 11, November 1989, pp 1377-1381.
There are 2 errors in Orchard's Table II. Line k=2 for starting value of 1000+j0 should have Z_k of 1.0475 + j4.1036 and line k=2 for starting value of 0+j1000 should have Z_k of 1.0988 + j4.0833.
Given complex valued procedure f of one (complex) argument, its derivative (with respect to its argument) df/dx, its second derivative ddf/dz^2, initial complex value z0, and positive real number prec, returns a complex number z for which
magnitude
(f(z)) is less than prec; or returns#f
if such a number can't be found.If prec is instead a negative integer,
laguerre:find-root
returns the result of -prec iterations.
Given polynomial procedure f of integer degree deg of one argument, its derivative (with respect to its argument) df/dx, its second derivative ddf/dz^2, initial complex value z0, and positive real number prec, returns a complex number z for which
magnitude
(f(z)) is less than prec; or returns#f
if such a number can't be found.If prec is instead a negative integer,
laguerre:find-polynomial-root
returns the result of -prec iterations.
Given a real valued procedure f and two real valued starting points x0 and x1, returns a real x for which
(abs (f x))
is less than prec; or returns#f
if such a real can't be found.If x0 and x1 are chosen such that they bracket a root, that is
(or (< (f x0) 0 (f x1)) (< (f x1) 0 (f x0)))then the root returned will be between x0 and x1, and f will not be passed an argument outside of that interval.
secant:find-bracketed-root
will return#f
unless x0 and x1 bracket a root.The secant method is used until a bracketing interval is found, at which point a modified regula falsi method is used.
If prec is instead a negative integer,
secant:find-root
returns the result of -prec iterations.If prec is a procedure it should accept 5 arguments: x0 f0 x1 f1 and count, where f0 will be
(f x0)
, f1(f x1)
, and count the number of iterations performed so far. prec should return non-false if the iteration should be stopped.


Take our Quiz to find out
Question 1
What kind of projects are you interested in working on?
Websites
Video Games
Data Science
Question 2
What do you call this symbol?
Pound
Hash Tag
Sharp
Question 3
Choose a Mascot
Question 4
If you were to build a house would you prefer to
Frame the Home
Wire the Home
Style the Home
Question 5
Which would you prefer to consume?
What's your name?
Submit Results
Last Question
Would you prefer to build out user interface or behind the scenes programing logic?
Behind the Scenes
User Interface
Thank You
for taking our quiz.
based off your answers you should learn
Python Django & JavaScript
for your first programing language.
Thank You
for taking our quiz.
based off your answers backend development is more in line with your answers you should learn
Python and C#
for your first programing languages.
Thank You
for taking our quiz.
based off your answers you should learn
C#
for your first programing language.
Thank You
for taking our quiz.
based off your answers you should learn
JavaScript
for your first programing language.
Thank You
for taking our quiz.
based off your answers you should learn
Python
for your first programing language.


Hello
To add a skill, fill in the form below.
Year taken:
Charge per hour(optional):
Teacher:
Grade in class:
A
B
C
D
Select class:
AB Calculus
BC Calculuse
AP US History
AP Literature
AP Biology
Advanced Chemistry
Spanish
Comments (optional):
Submit


Scope and Objectives
The main objective of the priority program on skyrmionics is fundamental research towards the development of devices and applications based on topological spin solitons, alluding to skyrmions as most prominent examples. It is motivated by the discovery of skyrmion lattices and isolated skyrmions in magnetic materials exhibiting bulk or interface inversion-asymmetry and associated Dzyaloshinskii-Moriya interaction. Skyrmions can be found in bulk compounds and tailored thin film and nano-systems.
The main aspects to be addressed within SPP2137 concern non-trivial topological characteristics (e.g., skyrmions, antiskyrmions, hybrid-particles composed of skyrmions and magnetic singularities) and associated solitonic properties stabilized by anti-symmetric (chiral) spin-orbit coupling and additional interactions. The research activities focus on three general areas:
- New materials and tailored design of static and dynamic properties of topological spin solitons
- Topological spin solitons in nanostructured systems
- Topological spin solitons in artificial composite systems
The priority program has an interdisciplinary character. It aims to connect the spintronics community with fundamental research on new materials, as well as engineering, mathematics, and chemistry-related aspects. The progress on skyrmionics is gained through mathematical reasoning, micromagnetic and atomistic simulations, computational and theoretical condensed matter physics, cutting edge synthesis techniques, advanced and highly specialized imaging and characterization methods, supplemented with engineering strategies developed for the design of nano-electronic devices.


seg1d.algorithm.uniques¶
-
seg1d.algorithm.
uniques
(sortedPeaks, srcLen)[source]¶ Unique Segment Identification
Find unique segment(s) in a sequence of correlation values.Guarantees segments are not overlappingParameters: - sortedPeaksn x 3 array
n x 3 array sorted by highest to lowest correlation of form
[ scale (int), correlation(float) , peak index (int) ]
- srcLenint
length of the target data, used to block out possible segments
Returns: - n x 3 array
[ start index, end index, correlation ]
- None
if no segments are found
Examples
>>> import numpy as np >>> import seg1d.algorithm as alg
>>> p = [ [10, 0.90, 7 ], ... [10, 0.89, 8 ], ... [20, 0.80, 20 ], ... [25, 0.70, 40 ], ... ]
>>> el = 50
>>> alg.uniques(p,el) [[7, 17, 0.9], [20, 40, 0.8], [40, 65, 0.7]]


Isoline Class
Constructor
Item Index
Methods
_draw
()
protected
redraw
()
chainable
Attributes
dataCellHeight
Number
Default: 1
Fires event dataCellHeightChange
Fires when the value for the configuration attribute dataCellHeight
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataCellSize
Number
Setting dataCellSize will set dataCellHeight and dataCellWidth to the same value. It is just here as a convenience for setting a square cell size.
Fires event dataCellSizeChange
Fires when the value for the configuration attribute dataCellSize
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataCellWidth
Number
Default: 1
Fires event dataCellWidthChange
Fires when the value for the configuration attribute dataCellWidth
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataFn
Function
This function defines a two-dimensional scalar field and the threshold at which the isoline is drawn. This function will be passed x and y as arguments. This function should return either true or false.
Fires event dataFnChange
Fires when the value for the configuration attribute dataFn
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataMaxX
Number
The maximum X value to process. If set to null, the data will be processed up the the edge of this shape.
Default: null
Fires event dataMaxXChange
Fires when the value for the configuration attribute dataMaxX
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataMaxY
Number
The maximum Y value to process. If set to null, the data will be processed up the the edge of this shape.
Default: null
Fires event dataMaxYChange
Fires when the value for the configuration attribute dataMaxY
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataMinX
Number
The minimum X value to process. If set to null, the data will be processed up the the edge of this shape.
Default: null
Fires event dataMinXChange
Fires when the value for the configuration attribute dataMinX
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataMinY
Number
The minimum Y value to process. If set to null, the data will be processed up the the edge of this shape.
Default: null
Fires event dataMinYChange
Fires when the value for the configuration attribute dataMinY
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:


We're sorry but works-and-days doesn't work properly without JavaScript enabled. Please enable it to continue.
Ghbkjkjh
Ghbkjkjh
Ghbkjkjh
Ghbkjkjh


{{define "main"}}
Maxium number of tasks processed per second
Maximum number of tasks running at once