BREATHING LESSONS A film review by Ralph Benner Copyright 1996 Ralph Benner
If Joanne Woodward and James Garner, two of our most ingratiating performers, aren't enough to save the Hallmark Hall of Fame version of Anne Tyler's BREATHING LESSONS, then no one could. There's something about Tyler's work -- this Pulitzer prize winner and THE ACCIDENTAL TOURIST -- that doesn't translate easily to the screen, and I think it has to do with Tyler's temperament as a writer: she loves the quirkiness of ordinary lives, and works gallantly via labored cadence to bring to her characters' fits, foibles and idiosyncrasies an enriching emotional humanity; she is the Little People's champion. Part of the fought-for joy in reading Tyler is the supreme confidence of her dialogue -- like when in TOURIST Sarah drops the neutrons on Macon, exploding with "You're ossified. You're encased. You're like something in a capsule." But it's also this kind of revelatory scolding that makes many of us fight extra-hard to get into her books: she can be a very chilly experience, a strange mix of Ann Beattie, Gail Sheehy's "Passages" and a whole lot of William Inge -- without the Freudian sexology. This is what's scary about Tyler's success -- she gets acclaim for seeing us as "lovably" muffled, psycho as well as sociologically. Tyler once said about the movie version of THE ACCIDENTAL TOURIST that there wasn't anything more to get out of it because there wasn't anything more to her characters. That's what's troubling about most of them -- they're not fleshed out, they're Word Perfect stuffocated, oozing with add-ons as seductive filler. In "On Movies," Dwight Macdonald wrote a series of reviews under the chapter title "Kazanistan, Ingeland, and Williams, Tenn." If writing today, he'd update it to include "Tylerville" because she's got woman problems, too. What may be more surprising than anything else is that the literary set hasn't discovered that what they praise Tyler for -- her gentle touch, her compassion, her "inexhaustible observations" -- conceal what I think is a psychologically worrisome, perhaps subconscious dislike: her treatment of her female creations. Almost always the central women characters are mind-numbing chatterboxes; while steering clear of the monsters Williams knew how to breathe fire into -- because it would be unthinkable of her to ever allow her ladies to knowingly inflict psyche damage -- she revives Inge to a rather uncomfortable degree: they're wired to be "The Lights at the Top of the Stairs." We're supposed to see them as life forces beyond their everyday ordinariness, that when they touch other lives, they touch us. Unlike Tyler's legion of fans and the Pulitzer prize committee, I'm not moved, I'm annoyed. How could so many lovers of TOURIST not see that Muriel, the angel-catalyst to Macon's renewal, is most probably responsible for her son's psychosomatic illnesses? In BREATHING LESSONS we get genteel, interfering Maggie trying to get her daughter-in-law and granddaughter back into the fold, but not before a myriad of flashbacks (cut for the TV version), not before attending a funeral, not before a few rather stupid car accidents (the second of which is blessedly altered for the film) and not before a few embarrassing roadshow "little people" numbers. With some exceptions, Tyler doesn't seem to show affection for modern women; she's trapped in a time-warp.
And no actress these days is more likewise trapped and more regularly miscast than Joanne Woodward. She's obviously the first choice among women authors to play educated scatterbrains and nincompoops -- her Maggie in BREATHING LESSONS, coming a short time after her Vinnie Miner in the TNT production of Alison Lurie's Pulitzer prize-winning FOREIGN AFFAIRS. Pulitzer prize winning male authors get her too: she did the smell-of-rot movie version of Paul Zindel's THE EFFECT OF THE GAMMA RAYS ON THE MAN-IN-THE-MOON MARIGOLDS and the highly theatrical TV version of Michael Cristofer's THE SHADOW BOX, both directed by Woodward's husband Paul Newman. She got stuck in the boo-goo of Inge's COME BACK LITTLE SHEBA in a TV adaptation, co-starring a very badly miscast Laurence Olivier. Newman directed her in yet another unnecessary remake of William's THE GLASS MENARGIE, which hadn't a prayer with that thing called Karen Allen as Laura. (I'm trying hard to remember Woodward in a recent or fairly recent performance that wasn't pre-"encased" -- her doctor in SYBIL, her braless sass in SHADOW BOX, perhaps parts of DO YOU REMEMBER LOVE? Have to go back thirty six years to recall a screen performance that really caused sparks to fly -- THE LONG HOT SUMMER and a year before that, in her memorable THE THREE FACES OF EVE. That's a long time to be idle.) Even more than in the remake of Inge's LITTLE SHEBA, Woodward in BREATHING LESSONS is Estelle Parsons as Shirley Booth; all the fussy, busy tricks and ticks are prefabbed "Hazel." The harder Woodward works at pulling off what are essentially unactable scenes, the more disbelieving she gets: she's watchable in the worst way -- compulsively.
Tyler's men seem never to be excessive verbalizers; instead, they're the quiet good men who tolerate the super-exasperating nonsense of the women in their lives. In BREATHING LESSONS, James Garner is a chronic user of Ann Landers-isms -- "Wake up and smell the coffee." More in the TV version than the novel, there's a touch of Andy Rooney in Garner; with a bad dye job but looking quite fit, he's less picture framer than retired newscaster, and he makes it seem absolutely natural to bring out a deck of cards in a church and play Solitaire. In thinking it over, BREATHING LESSONS is rather like an Andy Rooney essay -- elongated and without the humor. But Rooney would never have stood for the fact that, at the end, the film makers change Maggie's psychological need for ice cream to yogurt. Ira-Rooney would drop a Landers -- "Wake up and taste the fudge ripple."
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Hello World !!!
I’m Faisal. A young man who loves coding.
I love designing web. It's like drawing in codes, always it ends up beautiful.
(I also code in basic programming laguages - C, C++, Java, Python)
I have worked with some projects, self-learning through the process. I want to learn more and more and help everyone possible to make or build their ideas on web
So >>> want to work together? Optimise or build a new project ? Just write to me.
Some of my codes
I have worked on different modules and I have learnt so much by them. Some of my modules are enlisted below.
Full screen show-case
Swiper Slider
Parallax
Flipping-images
You can see all the modules here in the link below
(Couldn't upload modules which needed server side scripting, cuz github servers🤷♂)
Boom
Some of my projects.


We provide great Service
The occupational traffic permit is one of the most important things in the company
when carrying out freight transport.In fact, it is a
prerequisite for doing business traffic at all.
Web design
Here you can find all
web design and all of yours
designing meterials
Web design
Here you can find all
your primary health your
good health and education
Web design
Consistency in packaging
matter a lot. Give your attention
match design elements
Web design
Here you can find all
web design and all of yours
designing meterials


- Heyo, posting on a Monday, that's improvement.
- Other improvements remain so-so.
- The steroids really sent me for a ride last week—it was not great. My check-in at the hospital took 4 hours. I have one this week too.
- A friend came over and spent and evening with me and that was crucial but there still was far too much of the maddening silence and aloneness.
- The weekend, however, was redeeming; friends came together for another friend going through a breakup. I wish the circumstances were better but it was good to be together!
- I think I might have gone a whole month without finishing a book? I've played a lot more Animal Crossing and mindlessly streamed court trials in the US on YouTube.
- I move into my flat on Friday! Will be working extra hard to keep my brain ok with the checklists and deadlines.
Published on — Mon Jul 10 2023


Around the World in 80 Days
by Jules Verne
Chapter 30: In Which Phileas Fogg Simply Does His Duty
Additional Information
- Year Published: 1873
- Language: English
- Country of Origin: France
- Source: Verne, J. (1873) Around the World in 80 Days Paris, France: Routledge
-
Readability:
- Flesch–Kincaid Level: 8.0
- Word Count: 2,258
- Genre: Adventure
- Keywords: 19th century literature, adventure, french literature
- ✎ Cite This
Downloads
Three passengers including Passepartout had disappeared. Had they been killed in the struggle? Were they taken prisoners by the Sioux? It was impossible to tell.
There were many wounded, but none mortally. Colonel Proctor was one of the most seriously hurt; he had fought bravely, and a ball had entered his groin. He was carried into the station with the other wounded passengers, to receive such attention as could be of avail.
Aouda was safe; and Phileas Fogg, who had been in the thickest of the fight, had not received a scratch. Fix was slightly wounded in the arm. But Passepartout was not to be found, and tears coursed down Aouda's cheeks.
All the passengers had got out of the train, the wheels of which were stained with blood. From the tyres and spokes hung ragged pieces of flesh. As far as the eye could reach on the white plain behind, red trails were visible. The last Sioux were disappearing in the south, along the banks of Republican River.
Mr. Fogg, with folded arms, remained motionless. He had a serious decision to make. Aouda, standing near him, looked at him without speaking, and he understood her look. If his servant was a prisoner, ought he not to risk everything to rescue him from the Indians? "I will find him, living or dead," said he quietly to Aouda.
"Ah, Mr.—Mr. Fogg!" cried she, clasping his hands and covering them with tears.
"Living," added Mr. Fogg, "if we do not lose a moment."
Phileas Fogg, by this resolution, inevitably sacrificed himself; he pronounced his own doom. The delay of a single day would make him lose the steamer at New York, and his bet would be certainly lost. But as he thought, "It is my duty," he did not hesitate.
The commanding officer of Fort Kearney was there. A hundred of his soldiers had placed themselves in a position to defend the station, should the Sioux attack it.
"Sir," said Mr. Fogg to the captain, "three passengers have disappeared."
"Dead?" asked the captain.
"Dead or prisoners; that is the uncertainty which must be solved. Do you propose to pursue the Sioux?"
"That's a serious thing to do, sir," returned the captain. "These Indians may retreat beyond the Arkansas, and I cannot leave the fort unprotected."
"The lives of three men are in question, sir," said Phileas Fogg.
"Doubtless; but can I risk the lives of fifty men to save three?"
"I don't know whether you can, sir; but you ought to do so."
"Nobody here," returned the other, "has a right to teach me my duty."
"Very well," said Mr. Fogg, coldly. "I will go alone."
"You, sir!" cried Fix, coming up; "you go alone in pursuit of the Indians?"
"Would you have me leave this poor fellow to perish—him to whom every one present owes his life? I shall go."
"No, sir, you shall not go alone," cried the captain, touched in spite of himself. "No! you are a brave man. Thirty volunteers!" he added, turning to the soldiers.
The whole company started forward at once. The captain had only to pick his men. Thirty were chosen, and an old sergeant placed at their head.
"Thanks, captain," said Mr. Fogg.
"Will you let me go with you?" asked Fix.
"Do as you please, sir. But if you wish to do me a favour, you will remain with Aouda. In case anything should happen to me—"
A sudden pallor overspread the detective's face. Separate himself from the man whom he had so persistently followed step by step! Leave him to wander about in this desert! Fix gazed attentively at Mr. Fogg, and, despite his suspicions and of the struggle which was going on within him, he lowered his eyes before that calm and frank look.
"I will stay," said he.
A few moments after, Mr. Fogg pressed the young woman's hand, and, having confided to her his precious carpet–bag, went off with the sergeant and his little squad. But, before going, he had said to the soldiers, "My friends, I will divide five thousand dollars among you, if we save the prisoners."
It was then a little past noon.
Aouda retired to a waiting–room, and there she waited alone, thinking of the simple and noble generosity, the tranquil courage of Phileas Fogg. He had sacrificed his fortune, and was now risking his life, all without hesitation, from duty, in silence.
Fix did not have the same thoughts, and could scarcely conceal his agitation. He walked feverishly up and down the platform, but soon resumed his outward composure. He now saw the folly of which he had been guilty in letting Fogg go alone. What! This man, whom he had just followed around the world, was permitted now to separate himself from him! He began to accuse and abuse himself, and, as if he were director of police, administered to himself a sound lecture for his greenness.
"I have been an idiot!" he thought, "and this man will see it. He has gone, and won't come back! But how is it that I, Fix, who have in my pocket a warrant for his arrest, have been so fascinated by him? Decidedly, I am nothing but an ass!"
So reasoned the detective, while the hours crept by all too slowly. He did not know what to do. Sometimes he was tempted to tell Aouda all; but he could not doubt how the young woman would receive his confidences. What course should he take? He thought of pursuing Fogg across the vast white plains; it did not seem impossible that he might overtake him. Footsteps were easily printed on the snow! But soon, under a new sheet, every imprint would be effaced.
Fix became discouraged. He felt a sort of insurmountable longing to abandon the game altogether. He could now leave Fort Kearney station, and pursue his journey homeward in peace.
Towards two o'clock in the afternoon, while it was snowing hard, long whistles were heard approaching from the east. A great shadow, preceded by a wild light, slowly advanced, appearing still larger through the mist, which gave it a fantastic aspect. No train was expected from the east, neither had there been time for the succour asked for by telegraph to arrive; the train from Omaha to San Francisco was not due till the next day. The mystery was soon explained.
The locomotive, which was slowly approaching with deafening whistles, was that which, having been detached from the train, had continued its route with such terrific rapidity, carrying off the unconscious engineer and stoker. It had run several miles, when, the fire becoming low for want of fuel, the steam had slackened; and it had finally stopped an hour after, some twenty miles beyond Fort Kearney. Neither the engineer nor the stoker was dead, and, after remaining for some time in their swoon, had come to themselves. The train had then stopped. The engineer, when he found himself in the desert, and the locomotive without cars, understood what had happened. He could not imagine how the locomotive had become separated from the train; but he did not doubt that the train left behind was in distress.
He did not hesitate what to do. It would be prudent to continue on to Omaha, for it would be dangerous to return to the train, which the Indians might still be engaged in pillaging. Nevertheless, he began to rebuild the fire in the furnace; the pressure again mounted, and the locomotive returned, running backwards to Fort Kearney. This it was which was whistling in the mist.
The travellers were glad to see the locomotive resume its place at the head of the train. They could now continue the journey so terribly interrupted.
Aouda, on seeing the locomotive come up, hurried out of the station, and asked the conductor, "Are you going to start?"
"At once, madam."
"But the prisoners, our unfortunate fellow–travellers—"
"I cannot interrupt the trip," replied the conductor. "We are already three hours behind time."
"And when will another train pass here from San Francisco?"
"To–morrow evening, madam."
"To–morrow evening! But then it will be too late! We must wait—"
"It is impossible," responded the conductor. "If you wish to go, please get in."
"I will not go," said Aouda.
Fix had heard this conversation. A little while before, when there was no prospect of proceeding on the journey, he had made up his mind to leave Fort Kearney; but now that the train was there, ready to start, and he had only to take his seat in the car, an irresistible influence held him back. The station platform burned his feet, and he could not stir. The conflict in his mind again began; anger and failure stifled him. He wished to struggle on to the end.
Meanwhile the passengers and some of the wounded, among them Colonel Proctor, whose injuries were serious, had taken their places in the train. The buzzing of the over–heated boiler was heard, and the steam was escaping from the valves. The engineer whistled, the train started, and soon disappeared, mingling its white smoke with the eddies of the densely falling snow.
The detective had remained behind.
Several hours passed. The weather was dismal, and it was very cold. Fix sat motionless on a bench in the station; he might have been thought asleep. Aouda, despite the storm, kept coming out of the waiting–room, going to the end of the platform, and peering through the tempest of snow, as if to pierce the mist which narrowed the horizon around her, and to hear, if possible, some welcome sound. She heard and saw nothing. Then she would return, chilled through, to issue out again after the lapse of a few moments, but always in vain.
Evening came, and the little band had not returned. Where could they be? Had they found the Indians, and were they having a conflict with them, or were they still wandering amid the mist? The commander of the fort was anxious, though he tried to conceal his apprehensions. As night approached, the snow fell less plentifully, but it became intensely cold. Absolute silence rested on the plains. Neither flight of bird nor passing of beast troubled the perfect calm.
Throughout the night Aouda, full of sad forebodings, her heart stifled with anguish, wandered about on the verge of the plains. Her imagination carried her far off, and showed her innumerable dangers. What she suffered through the long hours it would be impossible to describe.
Fix remained stationary in the same place, but did not sleep. Once a man approached and spoke to him, and the detective merely replied by shaking his head.
Thus the night passed. At dawn, the half–extinguished disc of the sun rose above a misty horizon; but it was now possible to recognise objects two miles off. Phileas Fogg and the squad had gone southward; in the south all was still vacancy. It was then seven o'clock.
The captain, who was really alarmed, did not know what course to take.
Should he send another detachment to the rescue of the first? Should he sacrifice more men, with so few chances of saving those already sacrificed? His hesitation did not last long, however. Calling one of his lieutenants, he was on the point of ordering a reconnaissance, when gunshots were heard. Was it a signal? The soldiers rushed out of the fort, and half a mile off they perceived a little band returning in good order.
Mr. Fogg was marching at their head, and just behind him were Passepartout and the other two travellers, rescued from the Sioux.
They had met and fought the Indians ten miles south of Fort Kearney.
All were welcomed with joyful cries. Phileas Fogg distributed the reward he had promised to the soldiers, while Passepartout, not without reason, muttered to himself, "It must certainly be confessed that I cost my master dear!"
Fix, without saying a word, looked at Mr. Fogg, and it would have been difficult to analyse the thoughts which struggled within him. As for Aouda, she took her protector's hand and pressed it in her own, too much moved to speak.
Meanwhile, Passepartout was looking about for the train; he thought he should find it there, ready to start for Omaha, and he hoped that the time lost might be regained.
"The train! the train!" cried he.
"Gone," replied Fix.
"And when does the next train pass here?" said Phileas Fogg.
"Not till this evening."
"Ah!" returned the impassible gentleman quietly.


# extends 'base.html' # block content
Maybe it's our fault.. maybe it's yours.. but either case, this page is unavailable!


Top NYT Hardcover Fiction
Hi there!! If you press the botton you will be able to see the list of the best seller fiction books according to New York Times.
Ver lista


Contact Us At
You can fill out the following formasdfsadfdsafsdaf
Applied Aeronautical Systems Inc.
215 Redfern Avenue, Suite 212
Westmount, QC, H3Z 3L5 Canada
Phone us at -
(519) 934-0656
Email us at -
<EMAIL_ADDRESS>Name
Organization or Company (leave empty if not applicable)
Email Address
Category
AROPS MP
AROPS ATO
PPAS
VCIPLAN
Aerodynamic and Performance Training
Operational Efficiency Assessment
Product Training
Other
Subject
HOME
ABOUT
PRODUCTS
AROPS ATO
AROPS MP
PPAS
VCIPLAN
CONTACT


---
layout: post
title: More readable value change testing in rspec
date: '2015-09-01T13:28:00.000-07:00'
author: Mark J. Lehman
tags:
- rspec
- ruby
modified_time: '2015-09-22T13:34:57.471-07:00'
blogger_id: tag:blogger.com,1999:blog-4459370175540830177.post-1122252758471412195
blogger_orig_url: http://spaghettirefactory.blogspot.com/2015/09/more-readable-value-change-testing-in.html
---
Some simple but effective rspec
syntax that I just learned:
expect{Object.method}.to change{Object.count}.from(0).to(1)
expect(Object.count).to eq(0)
Object.method
expect(Object.count).to eq(1)


Lanczos module: finite-temperature calculations¶
Here we use the transverse-field Ising chain with periodic boundary conditions as an example of how to use QuSpin’s Lanczos module to perform finite-temperature calculations.
We consider the transverse-field Ising model, governed by the Hamiltonian:
with periodic boundary conditions. This system is not ordered at finite temperature and, therefore, we expect to see a paramagnetic phase for any finite temperature. We are interested in computing the finite-temperature expectation value of the squared magnetization:
where \(\beta\) is the inverse temperature.
The example script below demonstrates the use of both the finite-temperature (FTLM_static_iteration) and low-temperature (LTLM_static_iteration) Lanczos methods, which gives the user the opportunity to compare the approximate methods at high and low temperatures. Following the discussion under quspin.tools.lanczos.LTLM_static_iteration and quspin.tools.lanczos.FTLM_static_iteration, we make use of the approximation:
where the notation \(\overline{\;\cdot\;}\) denotes the average over randomly drawn states \(|r\rangle\), \(\langle O\rangle_r=\langle r| e^{-\beta H/2} O e^{-\beta H/2}|r\rangle\), and \(I\) is the identity operator.
The first part of the script below define various helper functions and classes that are useful for the calculation. The class lanczos_wrapper is a simple class that has all the necessary attributes to calculate the Lanczos basis. The idea here is that we would like to calculate the Lanczos basis for a particular value of the parameter \(s\) without having to calculate the Hamiltonian at that fixed value every time. This calculation is accomplished by using quspin’s quantum_operator class combined with the wrapper class: the quantum operator stores both the Ising and the transverse-field Hamiltonians as two separate terms. Then, the wrapper class provides an interface that calls the dot method of the quantum operator with the parameters specified, which is required by quspin’s Lanczos methods.
To apply finite-temperature Lanczos methods, we need to average over random states. The loop in the code below is where this calculation for random state vectors occurs. First. a random vector is generated. Then, using that vector, the Lanczos basis is created. With that Lanczos basis, the calculation of the FTLM and LTLM is performed, and we store the results in a list. Finally, the results are averaged, using the bootstrap helper function to calculate the error bars. The results are plotted and compared against exact resultsobtained using exact diagonalization.
Script¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | from __future__ import print_function, division
#
import sys,os
os.environ['KMP_DUPLICATE_LIB_OK']='True' # uncomment this line if omp error occurs on OSX for python 3
os.environ['OMP_NUM_THREADS']='1' # set number of OpenMP threads to run in parallel
os.environ['MKL_NUM_THREADS']='1' # set number of MKL threads to run in parallel
#
quspin_path = os.path.join(os.getcwd(),"../../")
sys.path.insert(0,quspin_path)
#######################################################################
# example 21 #
# This example shows how to use the `Lanczos` submodule of the #
# `tools` module to compute finite temperature expectation values #
# using `FTLM_statc_iteration` and `LTLM_statiic_iteration`. #
#######################################################################
from quspin.basis import spin_basis_1d
from quspin.operators import hamiltonian,quantum_operator
from quspin.tools.lanczos import lanczos_full,lanczos_iter,FTLM_static_iteration,LTLM_static_iteration
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
#
np.random.seed(1203901) # fix seed
#
#
def bootstrap_mean(O_r,Id_r,n_bootstrap=100):
"""
Uses boostraping to esimate the error due to sampling.
O_r: numerator
Id_r: denominator
n_bootstrap: bootstrap sample size
"""
O_r = np.asarray(O_r)
Id_r = np.asarray(Id_r)
#
avg = np.nanmean(O_r,axis=0)/np.nanmean(Id_r,axis=0)
n_Id = Id_r.shape[0]
#n_N = O_r.shape[0]
#
i_iter = (np.random.randint(n_Id,size=n_Id) for i in range(n_bootstrap))
#
bootstrap_iter = (np.nanmean(O_r[i,...],axis=0)/np.nanmean(Id_r[i,...],axis=0) for i in i_iter)
diff_iter = ((bootstrap-avg)**2 for bootstrap in bootstrap_iter)
err = np.sqrt(sum(diff_iter)/n_bootstrap)
#
return avg,err
#
def get_operators(L):
"""
Generates hamiltonian for TFIM, see quspin tutorial papers to learn more aabout this
"""
# create basis
basis = spin_basis_1d(L,pauli=True)
# site-coupling lists
J_list = [[-1.0,i,(i+1)%L] for i in range(L)]
h_list = [[-1.0,i] for i in range(L)]
M_list = [[1.0/L,i] for i in range(L)]
# create magnetization-squared operator
M = hamiltonian([["z",M_list]],[],basis=basis,dtype=np.float64)
M2 = M**2
# create parameter-dependent Hamiltonian using quantum_oprator
ops_dict = dict(J=[["zz",J_list]],h=[["x",h_list]])
H = quantum_operator(ops_dict,basis=basis,dtype=np.float64)
#
return M2,H
#
class lanczos_wrapper(object):
"""
Class that contains minimum requirments to use Lanczos.
Using it is equired, since the dot and dtype methods of quantum_operator objects take more parameters
"""
#
def __init__(self,A,**kwargs):
"""
A: array-like object to assign/overwrite the dot and dtype objects of
kwargs: any optional arguments used when overwriting the methods
"""
self._A = A
self._kwargs = kwargs
#
def dot(self,v,out=None):
"""
Calls the `dot` method of quantum_operator with the parameters fixed to a given value.
"""
return self._A.dot(v,out=out,pars=self._kwargs)
#
@property
def dtype(self):
"""
The dtype attribute is required to figure out result types in lanczos calculations.
"""
return self._A.dtype
#
#
##### define system parameters #####
#
L = 10 # system size
m = 50 # dimensio of Krylov space
s = 0.5 # transverse-field Ising model parameter: H = sZZ + (1-s)X
#
N_samples = 100 # of samples to approximate thermal expectation value with
#
T = np.logspace(-3,3,51,base=10) # temperature vector
beta = 1.0/(T+1e-15) # inverse temperature vector
#
##### get operators #####
#
M2,H = get_operators(L)
# crate wrapper for quantum_operator
H_wrapped = lanczos_wrapper(H,J=s,h=(1-s))
# calculate ground state energy to use as shift that will prevent overflows (i.e. numerical instabilities)
[E0] = H.eigsh(k=1,which="SA",pars=dict(J=s,h=1-s),return_eigenvectors=False)
#
##### finite temperature methods #####
#
# preallocate lists to store results from iterations
M2_FT_list = []
M2_LT_list = []
Z_FT_list = []
Z_LT_list = []
#
# allocate memory for lanczos vectors
out = np.zeros((m,H.Ns),dtype=np.float64)
#
# calculate iterations
for i in range(N_samples):
# generate normalized random vector
r = np.random.normal(0,1,size=H.Ns)
r /= np.linalg.norm(r)
# get lanczos basis
E,V,lv = lanczos_full(H_wrapped,r,m,eps=1e-8,full_ortho=True)
# E,V,lv = lanczos_full(H_wrapped,r,m,eps=1e-8,full_ortho=False)
# E,V,lv = lanczos_iter(H_wrapped,r,m,eps=1e-8)
# shift energy to avoid overflows
E -= E0
# calculate iteration
results_FT,Id_FT = FTLM_static_iteration({"M2":M2},E,V,lv,beta=beta)
results_LT,Id_LT = LTLM_static_iteration({"M2":M2},E,V,lv,beta=beta)
# save results to a list
M2_FT_list.append(results_FT["M2"])
Z_FT_list.append(Id_FT)
M2_LT_list.append(results_LT["M2"])
Z_LT_list.append(Id_LT)
#
# calculating error bars on the expectation values
m2_FT,dm2_FT = bootstrap_mean(M2_FT_list,Z_FT_list)
m2_LT,dm2_LT = bootstrap_mean(M2_LT_list,Z_LT_list)
#
##### calculating exact results from full diagonalization #####
#
dim_cutoff=2000 # Hilbert space dimension cutoff
if H.Ns < dim_cutoff: # Hilbert space is not too big to diagonalize on a laptop
#
# adding more points for smooth line
T_new = np.logspace(np.log10(T.min()),np.log10(T.max()),10*len(T))
beta_new = 1.0/(T_new+1e-15)
#
# full diagonaization of H
E,V = H.eigh(pars=dict(J=s,h=1-s))
# shift energy to avoid overflows
E -= E[0]
# get boltzmann weights for each temperature
W = np.exp(-np.outer(E,beta_new))
# get diagonal matrix elements for trace
O = M2.matrix_ele(V,V,diagonal=True)
# calculate trace
O = np.einsum("j...,j->...",W,O)/np.einsum("j...->...",W)
#
#
##### plot results #####
#
# setting up plot and inset
h=4.2 # figure aspect ratio parameter
f,ax = plt.subplots(figsize=(1.5*h,h))
axinset = inset_axes(ax, width="45%", height="65%", loc="upper right")
axs = [ax,axinset]
#
# plot results for FTLM and LTLM.
for a in axs:
a.errorbar(T,m2_LT,dm2_LT,marker=".",label="LTLM",zorder=-1)
a.errorbar(T,m2_FT,dm2_FT,marker=".",label="FTLM",zorder=-2)
#
if H.Ns < dim_cutoff: # hilbert space is not too big to diagonalize on a laptop
a.plot(T_new,O,label="exact",zorder=0)
#
a.set_xscale("log")
#
# adding space for inset by expanding x limits.
xmin,xmax = ax.get_xlim()
ax.set_xlim((xmin,10*xmax))
ax.legend(loc="lower left")
#
# inset adjustment to zoom in low-temp limit.
xmin,xmax = axinset.get_xlim()
#
a = -0.6
m = np.logical_and(T>=xmin,T<=10**(a))
axinset.set_xlim((xmin,10**(a+0.1)))
ymin = min(m2_LT[m].min(),m2_FT[m].min())
ymax = max(m2_LT[m].max(),m2_FT[m].max())
ywin = ymax-ymin
boundy = 0.1*ywin
axinset.set_ylim((ymin-boundy,ymax+boundy))
#
# display plot
f.tight_layout()
#plt.show()
#
|


Depending on how your administrator had set up your instance of TEAM Mentor you may need to create an account.
Security Innovation allows 7 days of free access to https://www.TEAMMentor.net - a full version of TEAM Mentor.
To create a TEAM Mentor account, click "Sign Up" in the top menu.
Fill in the information on the form, and click Sign Up.
Note that while creating your account you will be required to use a complex password that must fulfill the following requirements:
Here’s additional detail on what are considered alphanumeric and non-alphanumeric characters:
To access TEAM Mentor content, click the Login link in the top right corner.
Enter your user account credentials. After successfully authenticating, you will be able to access TEAM Mentor content.
If you have forgotten your password, click on the Forgot your password? link, fill in your email address and then a password reset email will be sent to you. The list of available articles based on your search or filtering criteria is show in the middle in the middle.
The main interface consists of the navigation menu, the search bar and the work space. The default work space contains subject matter directory on the left hand side and filters on the right hand side. You can use them interchangeably to quickly access the content you need.
The simplest way to use TEAM Mentor is by searching. Simply type your query in the search bar anywhere in the application. As you type you can choose to click on one of the search predictions, if available, or type your full query
Once the search results are shown you can further narrow down the search by using one or more filters on the right or subject areas on the left. The numbers next to the filters represent the number of articles each filter selects. You can easily remove any filter by clicking on the "X" next to it.
Icons next to the articles correspond to filters on the right. Making it easier to identify articles at a glance.
Browsing is useful when you would like to discover the information we have. Start by ether selecting a subject of interest on the left, or a filter on the right. You may continue to select ether filters or subjects of interest until you find a list of articles that you would like to read. Then simply open the article by clicking on its title.
Go back to the list by using your browsers "Back" button. Some people also prefer to open articles in separate tabs, by right-clicking on the article title and selecting "Open in new tab"
Numbers next to each subject on the left represent the number of articles that exists for that subject. When you select a subject of interest. You drill down further into specific sub-topics in that subject. Narrowing down the list of articles. Bread crumb navigation on top, shows exactly where you are in the taxonomy.
At any time you may select a filter on the right to narrow down the displayed list of articles further.
You may also start your navigation with selecting one or more filter. Once selected, subject directory on the left updates, showing only available topics for the filter(s)
As you can see, the combination of the topics and filters creates a powerful browsing mechanism that allows you to reach the desired articles quickly and intuitively.
On the "Search" page, type secure connection strings and hit <enter> or click the search icon.
The search query returns a number of results. We can look through those or narrow down results using filters. Let’s look for Java specific guidance by selecting the Java filter
You can further narrow down the search results or simply open the most relevant article displayed on top by clicking on the title.
Now let’s practice browsing our guidance. In this example, we will identify the authentication best practices for .NET. First lets select .NET filter on the index page and then select "Authentication" from the subject directory.
The query returns a number of relevant results.
We can further narrow down the list of articles by selecting a sub-category from the subject directory.
Further narrow this down to show just How To articles by checking How To in the Type filter list:
As you can see, with just a few clicks we filtered down massive library of knowledge to something very relevant to what we were looking for.
One example of how you can use TEAM Mentor is to look for information you need regarding specific software vulnerabilities. This may be because you wish to avoid this vulnerability in your code, you have been assigned to fix a vulnerability, or are just looking for information on the topic. To do this, after you have successfully authenticated, Search for XSS (in this example) on the search page.
Select "Vulnerability" type in the Filters list..
You are presented with a small number of relative articles. You may look through the list to find the one that appeals the most.
Or you may want to filter even further by specific technology you are using. In this example we pick PHP.
Open the article and read for specific information on how to fix the vulnerability.
You may wish to share this information once you found it for collaboration on a fix, testing, or using the information to avoid that vulnerability in your code. Once you have opened a vulnerability (of any other) article you would like to share, click on the "Share" icon. Then copy the sharable link and email, IM or send it by other means to anyone you would like to share it with.
If you would like to save an article for later reference, after you’ve opened the article in full view, simply use your browser’s bookmarking feature to bookmark the article. The URL of articles do not change, so when you use the bookmark you will be taken right to the article. If you are not logged in, you will have to log in to see the article
If you created a complex query and would like to share the resulting list of articles, or reuse the same filter later, simply bookmark or email the URL of the page you are on. The URL always reflects the state of the application, therefore it is easy to save or share what you are seeing with anyone else.
Search and filter, or browse, to the list of articles that you like.
Then use your browser to bookmark the URL, which saves the state for future re-use. When you click on the bookmark, it will open TEAM Mentor with the same search and filters and thus display the same set of articles.
You can also send the same URL to anyone that has access to TEAM Mentor. When they click on the URL, they will see the same set of articles. This makes collaboration on fixing security defects as easy as sending an IM or email between colleges.


MAN'S BEST FRIEND A film review by James Berardinelli Copyright 1993 James Berardinelli
Rating (Linear 0 to 10): 3.1
Date Released: 11/19/93 Running Length: 1:26 Rated: R (Violence, gore, language)
Starring: Ally Sheedy, Lance Henriksen, Fredric Lehne, Robert Costanzo, Max Director: John Lafia Producer: Bob Engelman Screenplay: John Lafia Music: Joel Goldsmith Released by New Line Cinema
A woman enters a secret laboratory filled with screeching, caged animals, each the product of evil scientific experiments. While there's no sign "Raw Meat" tattooed on her forehead, anyone familiar with the genre knows her chances of getting out alive. Cut to later that evening, when hard- hitting TV reporter Lori Tanner (Ally Sheedy, looking like she should have stayed in bed) breaches the apparently-impenetrable security at a company called EMAX (which consists of a solitary guard who's never on duty and any number of unlocked doors). There, Lori finds animal atrocities, and decides to release a lovable 200-pound dog named Max and take him home. Dr. Jarret (Lance Henriksen) is suitably upset by the dog-napping, and lets the police know his feelings in yet another embarrassingly over-the-top performance by an actor I once respected. The problem is that Max isn't a normal dog (what a surprise!), but a genetically engineered killing machine, and the drug that keeps him under control is about to wear off.
Actually, there aren't too many deaths in this movie, but in some ways that's unfortunate, because when MAN'S BEST FRIEND isn't adding to its body count, it's spending time showing the characters running around getting nothing done, engaging in poorly-written dialogue, or participating in some inane expository scene. Admittedly, there are a few nice touches (such as Max's "courting" of a female dog to the tune of "Puppy Love") which show that writer/director John Lafia was willing to make occasional stabs at parody. One could make a case, I suppose, that the entire movie is a wonderfully-conceived satire, but I don't think that was intention, nor does the overall script seem to bear out such an interpretation.
Possibly the most bizarre sequence in MAN'S BEST FRIEND, and certainly the one to get cat-lovers up in arms, is when Max chases an orange tabby up a tree, follows it, then eats it whole. The cat's apparent crime is to have annoyed a couple of kids who, frankly, have personalities that make them appealing dog-fodder (it doesn't happen; no one under the age of 18 gets mauled).
If there was any question of the direction in which Ally Sheedy's career is going, it's answered here, where she turns in a non-performance in which she somehow manages to get out-acted by a dog. Lance Henriksen, whose career peaked in ALIENS, notches another unimpressive credit for his already-tarnished resume. The most interesting thing about Dr. Jarret is his short bleached-blond hair.
As horror/thriller movies go, MAN'S BEST FRIEND has a double disadvantage: it's slow-moving and the monster dog isn't immune to bullets. In fact, the ending is so abrupt and anticlimactic that it will leave many veterans of the genre feeling cheated. (Where's the inevitable resurrection where the bad guy comes back for a second go-'round?) This film has the capacity for disappointing just about everybody, especially someone who walks in expecting to see BEETHOVEN'S SECOND.
- James Berardinelli<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Full-blown Authentication System
In the next few blog posts I would like to explain how you could setup a full-blown authentication system, since some information is available but a lot is outdated and is scattered all over the Internet.
For this setup I will use:
- MITv5 Kerberos
- OpenLDAPv3
- FreeRADIUS
- Ubuntu 11.10
Kerberos will be used to authenticate the users. LDAP is used as a kerberos principals database and to store extra information about a user. Since a web portal or other tools do not support kerberos authentication in many cases, we will use LDAP also for that. RADIUS will allow users to log in to switches or routers, using kerberos principals. The LDAP and kerberos databases will be replicated (or propagated as it is called for kerberos) to a second server for failover purposes.
The following architectural drawing should make it more clear:
[][1]
I divided the ‘tutorial’ into seven main steps, which are:
- [Installation and basic configuration of OpenLDAP and MITv5 Kerberos][2]
- [Linking OpenLDAP with MITv5 Kerberos][3]
- [Linking FreeRADIUS][4]
- [Replication][5]
- [Hardening your setup][6]
- [Configure your clients][7]
- [Varia][8]


JavaScript is disabled on your browser.
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
B
C
D
E
F
G
H
I
J
L
M
N
P
R
S
T
U
V
W
Y
M
main(String[])
- Static method in class
Architect
main(String[])
- Static method in class
AreaTester
main(String[])
- Static method in class
BankAccountTester
main(String[])
- Static method in class
BankAccountTestUI
Launch the application.
main(String[])
- Static method in class
BasicCarAnalyst
main(String[])
- Static method in class
Bookstore
main(String[])
- Static method in class
CalendarTest
main(String[])
- Static method in class
CarAnalyst
main(String[])
- Static method in class
CarTester
main(String[])
- Static method in class
CashRegisterCaller
main(String[])
- Static method in class
ChangeCalculator
main(String[])
- Static method in class
CritterTester
main(String[])
- Static method in class
DewTempCalculator
main(String[])
- Static method in class
DieSimulator
main(String[])
- Static method in class
DigitCounter
Runs the program, takes input, processes.
main(String[])
- Static method in class
EasterCalculator
main(String[])
- Static method in class
Greeter
main(String[])
- Static method in class
JCowsay
main(String[])
- Static method in class
LargeNumberFormatter
main(String[])
- Static method in class
LargeNumberFormatterLong
main(String[])
- Static method in class
MeterConverter
main(String[])
- Static method in class
Namebox
main(String[])
- Static method in class
Paper
main(String[])
- Static method in class
PhoneNumberFormat
main(String[])
- Static method in class
ProductPrinter
main(String[])
- Static method in class
ReverseTester
main(String[])
- Static method in class
RoachSimulation
main(String[])
- Static method in class
SavingsAccountTester
main(String[])
- Static method in class
Siri
main(String[])
- Static method in class
Statistics
main(String[])
- Static method in class
TestObject
main(String[])
- Static method in class
Thermistor
main(String[])
- Static method in class
TriangleCreator
MAX_FREE_TRANSACTIONS
- Variable in class
BankAccount
MeterConverter
- Class in
<Unnamed>
MeterConverter()
- Constructor for class
MeterConverter
MILES_IN_METER
- Static variable in class
MeterConverter
Conversion factor, approximated, for number of miles for one meter.
MM_PER_INCH
- Static variable in class
Paper
Accpted conversion factor for millimeters to inches.
moveCount
- Static variable in class
Critter
moveDown(double)
- Method in class
Critter
moveLeft(double)
- Method in class
Critter
moveRight(double)
- Method in class
Critter
moveUp(double)
- Method in class
Critter
mpg
- Variable in class
Car
myBirthday
- Static variable in class
CalendarTest
A
B
C
D
E
F
G
H
I
J
L
M
N
P
R
S
T
U
V
W
Y
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


{{> site-og}} {{> site-css-simple}} {{> page-title}}
This is a simple single page example, with a set of links in the side navigation that conceptually lead to other pages (although here they just lead back to this page).
It demonstrates the most simple and most minimal way of using the SidePanelCollapse library.
data-sidepanel-collapse
attribute.
There is also another example:
Advanced Demo


.
Dashboard
Firebase
User
Data save with success!
Ops! Problem to save data!
APIKEY
AUTH_DOMAIN
DATABASE_URL
PROJECT_ID
STORAGE_BUCKET
MESSAGING_SENDER_ID
SAVE
Ops! Problem with Firebase!
EMAIL
PASSWORD
LOGIN
Logout user of firebase
LOGOUT
Timeline


The specimen upon which the species or infraspecific level taxon is based and which is explicitly designated as the holotype. ~
( tp:taxon-name, tp:material-location? )
The status is defined by the code, of which the designation as holotype is requested to create an available name , lectotype the selection of a type from a series of syntypes and neotype the designation of a new type. These designations are ruled by the Code (see ICZN ). The designation of paratypes, androtypes is arbitrary. ~ ~~
May Contain:


Feedback Form: CCN 2019 Mind-Match
This is a feedback form for CCN Mind-Matching 2019.
For each match, you can rate
(1) research relevance in the scale 1 to 5
(2) satisfaction of the match you get in the scale 1 to 5.
where 1 means the least relevance or least satisfactory and 5 means highly satisfactory or highly relevance.
We also list their email addresses, just in case they are useful for you to follow up on your discussions.
Your information:
{{ full_name }}
{{ affiliation }}
{{ registrant_id }} (registration id)
{% include 'footer.html' %}


When you create a SKY UX project, the SKY UX template provides a skyuxconfig.json file in your project's directory to enable you to configure settings for SKY UX. All properties in skyuxconfig.json are optional, and by default, the file only specifies values for the compileMode and mode settings.
SKY UX allows you to create additional configuration files as necessary to apply settings to specific SKY UX CLI commands using the skyuxconfig.[COMMAND].json naming convention. For example, to apply configuration settings when skyux serve runs, create skyuxconfig.serve.json.
For ease of use and as a best practice, we recommend ordering configuration options alphabetically.
$schema
The $schema configuration option specifies the file that provides annotations and validation to the entire configuration file in your IDE. You should not modify this file or configuration option.
a11y
The a11y configuration option enables or disables accessibility test rules. You can manage rules individually, or you can enable or disable all rules in bulk.
app
The app configuration option specifies configuration options for the local app.
-
base — Controls the value of the <base href> property when using the default local template from skyux build.
-
externals — Dynamically injects CSS and JavaScript files into SKY UX Host for the skyux serve or skyux build commands. You should have a specific use-case for an external. For example, Office Add-ins require their library to load through CDN in the head. The before and after sections of an external indicate whether to include the external resource before or after the default SKY UX Builder resources. The head property, which only applies to JS resources, indicates whether to inject elements within the HTML head element or just before the closing body tag.
For Blackbaud-hosted SPAs, Blackbaud developers must whitelist all URLs in the externals property. If skyuxconfig.json includes externals that are not whitelisted, then the SPA won’t load. To whitelist externals, contact the SKY UX team.
The following example shows an external with all the configuration options:
externals: {
css: {
before: [
{
url: 'f1.css',
integrity: 'ic1'
}
],
after: [
{
url: 'f2.css'
}
]
},
js: {
before: [
{
url: 'f1.js',
integrity: 'ic2',
head: true
},
{
url: 'f2.js',
integrity: 'ic3'
}
],
after: [
{
url: 'f3.js'
}
]
}
}
-
port — Configures a port for the skyux serve command to use. If no port is specified, skyux serve dynamically finds an available port starting with 8000. Keep in mind that if you configure SPAs to use the same port, you cannot serve them simultaneously.
-
styles — Specifies CSS or SCSS files to bundle with the SPA. This property provides an array of string values that represent relative paths for CSS and SCSS files to include in the bundle. The paths are relative to the SPA's root directory.
"app": {
"styles": [
"src/styles/my-styles.scss"
]
}
-
title — Controls the page title at the template level for the skyux serve command while waiting for the application to load. After it loads, you can use the Angular Title service to set the page title. The default is Blackbaud — SKY UX Application, so if you do not want this default to appear in the title bar while the application loads, use the title to provide your preferred title.
appSettings
The appSettings configuration option specifies data that is available for reuse throughout the application. The data type of this property is any. After you specify data in the appSettings property, you can access that data throughout the SPA.
auth
The auth configuration option indicates whether the application requires an authenticated Blackbaud ID. This property is for internal Blackbaud use only. By default, this property is set to false. To require authentication, set this property to true. For Blackbaud developers, the helpers reference provides information about how to make authenticated HTTP requests.
codeCoverageThreshold
The codeCoverageThreshold configuration option specifies the minimum code coverage threshold that is required to pass the skyux test command. The available values and their corresponding thresholds are:
-
none: 0 percent (default)
-
standard: 80 percent
-
strict: 100 percent
To exclude files from code coverage, place them in the src/app/lib folder.
compileMode
The compileMode configuration option specifies how to compile the project's code. By default, the skyuxconfig.json file sets this property to aot to specify ahead-of-time compilation, which runs the compiler once at build time using one set of libraries. You can change this setting to jit to specify just-in-time compilation, which runs the compiler at run time for every user using a different set of libraries. SKY UX uses ahead-of-time compilation by default because it is typically more performant and has less to handle at run-time. For more information about the difference, see the Angular documentation.
cssPath
The cssPath configuration option specifies a path to reference CSS styles. This property is specific to the SKY UX docs site and is for internal Blackbaud use only. To bundle CSS or SCSS files with your SPA, use the styles property of the app configuration option instead.
help
The help configuration option indicates whether to automatically include the Help Widget in the application to identify the current page and display relevant help content. This property is for internal Blackbaud use only. By default, this property is not set. For Blackbaud developers who want to include the Help Widget, the Help Widget configuration options documentation describes the configuration object to set the help property to.
host
The host configuration option specifies configuration options for communication with SKY UX Host.
-
bbCheckout — Specifies bbCheckout options for the Host service. This property is for internal Blackbaud use only.
-
frameOptions — Specifies frame options for the Host service. This property is for internal Blackbaud use only. For Blackbaud developers, the security preferences for embedded iframes describes the available values to pass to this property.
-
url — Specifies a base URL to pass information from skyux serve to the SKY UX Host. The default value is https://host.nxt.blackbaud.com.
importPath
The importPath configuration option specifies a path to reference SKY UX components in Angular. This property is specific to the SKY UX docs site and is for internal Blackbaud use only.
mode
The mode configuration option controls how much boilerplate code to generate automatically. By default, the skyuxconfig.json file sets this property to easy. In easy mode, SKY UX automatically generates routes based the project's folder structure, provides bootstrapping to initialize the application, and supplies SKY UX components to the application. To override these options, change the mode property to advanced. Since advanced mode does not provide automatic route configuration, you can adjust URLs and point to specific components in your SPA. This property will eventually become obsolete as the SKY UX team builds out the CLI to allow users to override individual steps without switching to advanced mode.
moduleAliases
The moduleAliases configuration option specifies module aliases to allow for custom module resolution. This enables SPAs to provide resolve aliases to import or require modules more easily.
name
The name configuration option specifies a name for your SPA when you serve locally with skyux serve. For external developers, this option also updates the name in public-facing URLs, but for Blackbaud users, it doesn't affect the name in production. By default, SKY UX Builder uses the app.base configuration option in the skyuxconfig.json file for the name, and if you don’t specify that option, then Builder uses the name property in the package.json file, minus the "blackbaud-skyux-spa-" prefix, which is based on the root directory name that you specify when you create a SKY UX project.
omnibar
The omnibar configuration option specifies an object to pass to the omnibar's load method. This property is for internal Blackbaud use only. The omnibar provides a common UI element for Blackbaud applications that allows users to navigate between applications. For Blackbaud developers, the omnibar configuration options documentation describes the available options to pass to the omnibar.
pacts
The pacts configuration option specifies configuration settings for pact testing. Pact is a testing framework that you can use to test a SPA's integration with the services that it consumes. In the pacts option, you create a separate entry for each provider to test. Settings are generally the same for each entry except for the provider setting. When you run the skyux pact command, it reads the pacts setting and spins up an individual pact server for each provider service that you specify.
-
consumer — Specifies the consumer that calls the provider's API. This is a string value that the developer uses to represent the consumer in the consumer-provider relationship. Blackbaud developers register their consumer with the pact broker at https://host.nxt.blackbaud.com/pact/. This internal Blackbaud-only site is not available to external developers.
-
dir — Specifies a directory for the pact file that the pact server generates when skyux pact runs. By default, the pact server stores the JSON file in the app/pacts directory. The file includes an array of request/response pairs called interactions to describe the behaviors that the consumer expects from the provider service. The file name follows the format of {consumer}-{provider}.json, where {consumer} is the name of the consumer and {provider} is the name of the provider. The pact file needs to be uploaded to the pact broker. Blackbaud developers can find information on registered services at https://host.nxt.blackbaud.com/pact/. This internal Blackbaud-only site is not available to external developers.
-
host — Specifies a host for the pact server. By default, the host is localhost.
-
log — Specifies a directory for the log file that the pact server generates when skyux pact runs. By default, the pact server stores the log file in a logs folder in the root directory. The log file includes debug output to help diagnose issues. The file name follows the format of pact-{provider}.log, where {provider} is the name of the provider.
-
logLevel — Specifies the log level for the log file. The available values are trace, debug, info, error, fatal, and warn.
-
port — Specifies a port to use for pact testing. By default, SKY UX Builder dynamically finds the next available port.
-
provider — Specifies the provider of a service that exposes an API to the consumer. This is a string value that the developer uses to represent the provider in the consumer-provider relationship. Blackbaud developers register the provider with the pact broker at https://host.nxt.blackbaud.com/pact/. This internal Blackbaud-only site is not available to external developers.
-
spec — Specifies the pact specification version for the log file. By default, the version is 2.
For information about how to run pact tests with the SKY UX CLI, see the skyux pact command. And for more information on configuration settings and guidance on how to write pact tests, see the pact testing tutorial.
params
The params configuration option specifies a list of parameters that are allowed at runtime. You can list parameters as an array of strings, specify parameters as key-value pairs with boolean values that indicate whether the parameters are allowed, or specify parameters as objects to provide default values for the parameters.
-
Parameters as an array of strings:
"params": [
"param1",
"param2"
]
-
Parameters as key-value pairs with boolean values:
"params": {
"param3": true,
"param4": true
}
-
Parameters as objects with default values:
"params": {
"param5": {
"value": "value1"
},
"param4": {
"value": "value2"
}
}
The value property specifies the default value of the parameter, but the query string or other future sources of parameter values can overwrite it at runtime. When using this format, you can also specify the required and excludeFromRequests parameters.
-
excludeFromRequests — Indicates whether to exclude the parameter from the query string when building requests to backend services. By default, SkyAuthHttp and SkyAuthHttpClient include any parameter with listed values in their requests. This option allows consumers to track the parameter without including it in the HTTP call.
-
required — Indicates whether the parameter must be supplied to the application. For the envid, leid, and svcid parameters, @skyux-sdk/builder will pass the required state to the auth-client, which attempts to resolve the default value if one is available, show the welcome screen if multiple are available, or show an error if none are available.
For custom required parameters, no logic is applied, and users can use the SkyuxConfigParams class to interact with them.
By default, SKY Builder includes the addin, envid, leid, and svcid parameters in its skyuxconfig.json file and sets them to true. This allows SPAs to track those four parameters in the URL and exposes them through the SkyAppConfig at runtime.
-
addin — Specifies that the SPA is running as an add-in within another SPA. This parameter is for internal Blackbaud use only, and it is primarily used to hide the omnibar.
-
envid — Specifies the environment ID.
-
leid — Specifies the legal entity ID.
-
svcid — Specifies the service ID.
If you have a specific environment ID or service ID for testing, you can specify default svcid or envid values for local development in a skyuxconfig.serve.json file so that you don't have to paste the values in the URL when you serve.
pipelineSettings
The pipelineSettings configuration option specifies configuration options for build and release pipelines. The data type of this property is any. This property is for internal Blackbaud use only.
plugins
The plugins configuration option specifies plugins to expand on existing SKY UX Builder functionality and create new functionality. For example, the Stache 2 component library uses a variety of plugins.
redirects
The redirects configuration option specifies redirects for pages within an application. When a project's folder structure changes, you can specify redirects for the files that move so that existing links continue to work. In the redirects property, you create a comma-separated list where you specify the original paths followed by the redirect paths.
"redirects": {
"old-folder-1/old-subfolder-1": "new-folder/new-subfolder-1",
"old-folder-1/old-subfolder-2": "old-folder-1/old-subfolder-2/new-subfolder-2"
}
routes
The routes configuration option allows you to use the omnibar but still define navigation items. This property is for internal Blackbaud use only. For Blackbaud developers, the Engineering System website describes how to add your SPA to global navigation.
testSettings
The testSettings configuration option specifies settings for use during continuous integration testing. These properties are for internal Blackbaud use only.
useHashRouting
The useHashRouting configuration option allows your SPA to use Angular's hash location strategy. For more information, see the Angular documentation.