It's Here
Welcome to the new story of Below Zero
Booting PDA in emergency mode
0%
Welcome to the new story of Below Zero
We couldn’t be more excited to unveil a final, fully-voiced story. It’s been quite the journey, but we are so proud of the final product. We hope you enjoy it as much as we do. Thank you to everyone who participated in this process, from our actors, to our writers, to you, our fans.
Character portraits now appear in the upper left to indicate speaker during voiced dialogue. There are a wide number of characters in our story, all of whom are clearly depicted in sync with their spoken lines.
Get your scanner ready, this update adds hundreds of text-entries for your reading pleasure. From logs left by named and unnamed characters to encyclopedia entries, there is something for everyone.
Crash-landing on a new planet is no small task. Robin’s new look includes a new model and a (fancy) new dive suit. She is more ready than ever for whatever this watery planet has in store for her.
On death, beacons now drop alongside the rest of your inventory. Because of this, make sure to keep a beacon on hand so your precious things may be recovered in the event of an unfortunate accident.
Keep your eyes peeled for new posters dotted around the world. Each poster tells a story and some of them are from our very own community. Feel free to intact with and inspect pictures in frames.
Wander too deep in the arctic region of 4546B and you’re bound to make friends with the Void Chelicerate who hunt at extreme depths. Well, they will enjoy your company more than you will enjoy theirs. Best to steer clear of this dark and dangerous part of the world.
Wander too deep in the arctic region of 4546B and you’re bound to make friends with the Void Chelicerate who hunt at extreme depths. Well, they will enjoy your company more than you will enjoy theirs. Best to steer clear of this dark and dangerous part of the world.
Hidden around the planet, finished Precursor caches flicker to life. These glowing rooms contain strange flora, curious technology, and irresistible mystery.
Cleanup and polish work continues around 4546B. At every turn, something surprising and amazing awaits. Areas that once felt familiar will feel completely refreshed.
Cleanup and polish work continues around 4546B. At every turn, something surprising and amazing awaits. Areas you were once familiar with will feel completely refreshed.
From the Accessibility Menu, it’s now possible to enable a PDA Pause. By default, the game will continue as you look at your PDA. However, enabling PDA Pause will halt gameplay instead.
To our amazing adventurers, we are nearing the end. This update marks one of our final major updates. While we have added a complete story, the finale will remain hidden until release to keep the mystery alive. We anticipate it will be a little while longer before the final version is in your hands. Regardless we want to simply say: Thank you. It’s been an absolute pleasure developing the game with you.
To our amazing adventurers, we are nearing the end. This update marks one of our final major updates. While we have added a complete story, the finale will remain hidden until release to keep the mystery alive. We anticipate it will be a little while longer before the final version is in your hands. Regardless we want to simply say: Thank you. It’s been an absolute pleasure developing the game with you.
Loving the gorgeous musical soundscape of Subnautica: Below Zero? Follow composer Ben Prunty on Twitter or sign up to our mailing list to be among the first to hear about how to listen to the soundtrack when it’s available.
You can follow the entire dev team at once by subscribing to the Subnautica Dev Team List
Follow All DevsSign up to the Subnautica mailing list to hear about updates to Early Access first.
Sign up to the Subnautica mailing list to hear about updates to Early Access first.


[§489D-33] Division functions. (a) The division shall exercise all administrative functions of the State in relation to the regulation, supervision, and licensing of money transmitters.
(b) The division shall interpret and carry out the provisions of this chapter. [L 2006, c 153, pt of §1]


Republicans Question Vindman's Loyalty During Trump Impeachment Hearing
As Lieutenant Colonel Alexander Vindman testified before the House Intelligence Committee Tuesday, Republicans sought to discredit the Army combat veteran, who was born in Ukraine.


Iterator over the elements of the sparse matrix/dense matrix Schur product expression. More...
#include <SMatDMatSchurExpr.h>
Public Types | |
| using | Element = ValueIndexPair< ElementType > |
| Element type of the sparse matrix expression. | |
| using | LeftIterator = ConstIterator_< RemoveReference_< LeftOperand > > |
| Iterator type of the sparse matrix expression. | |
| using | IteratorCategory = std::forward_iterator_tag |
| The iterator category. | |
| using | ValueType = Element |
| Type of the underlying pointers. | |
| using | PointerType = ValueType * |
| Pointer return type. | |
| using | ReferenceType = ValueType & |
| Reference return type. | |
| using | DifferenceType = ptrdiff_t |
| Difference between two iterators. | |
| using | iterator_category = IteratorCategory |
| The iterator category. | |
| using | value_type = ValueType |
| Type of the underlying pointers. | |
| using | pointer = PointerType |
| Pointer return type. | |
| using | reference = ReferenceType |
| Reference return type. | |
| using | difference_type = DifferenceType |
| Difference between two iterators. | |
Public Member Functions | |
| ConstIterator (LeftIterator left, RightOperand right, size_t row) | |
| Constructor for the ConstIterator class. More... | |
| ConstIterator & | operator++ () |
| Pre-increment operator. More... | |
| const Element | operator* () const |
| Direct access to the sparse matrix element at the current iterator position. More... | |
| const ConstIterator * | operator-> () const |
| Direct access to the sparse matrix element at the current iterator position. More... | |
| ReturnType | value () const |
| Access to the current value of the sparse element. More... | |
| size_t | index () const |
| Access to the current index of the sparse element. More... | |
| bool | operator== (const ConstIterator &rhs) const |
| Equality comparison between two ConstIterator objects. More... | |
| bool | operator!= (const ConstIterator &rhs) const |
| Inequality comparison between two ConstIterator objects. More... | |
| DifferenceType | operator- (const ConstIterator &rhs) const |
| Calculating the number of elements between two expression iterators. More... | |
Private Attributes | |
| LeftIterator | left_ |
| Iterator over the elements of the left-hand side sparse matrix expression. | |
| RightOperand | right_ |
| Right-hand side dense matrix expression. | |
| size_t | row_ |
| The row index of the iterator. | |
Iterator over the elements of the sparse matrix/dense matrix Schur product expression.
|
inline |
Constructor for the ConstIterator class.
| left | Iterator to the current position in the left-hand side sparse matrix expression. |
| right | Handle to the right-hand side dense matrix expression. |
| row | The row index of the given iterator. |
|
inline |
Access to the current index of the sparse element.
|
inline |
Inequality comparison between two ConstIterator objects.
| rhs | The right-hand side expression iterator. |
|
inline |
Direct access to the sparse matrix element at the current iterator position.
|
inline |
Pre-increment operator.
|
inline |
Calculating the number of elements between two expression iterators.
| rhs | The right-hand side expression iterator. |
|
inline |
Direct access to the sparse matrix element at the current iterator position.
|
inline |
Equality comparison between two ConstIterator objects.
| rhs | The right-hand side expression iterator. |
|
inline |
Access to the current value of the sparse element.


Current Samples
Max Samples
Focal Depth
Aperture Size
Camera Position
Camera Direction
Env Theta
Exposure
Saturation
Firefly Filter
Firefly Sigma


Death of a Sailor: Chapter 3: The Locked Room
The cell door opened.
The murderer stirred.
And the interview began.
Was the prisoner free to move about?
A stout steel ring hugged his ankle, fastened to a heavy chain that bound him to the ground, like a frigate to the ocean floor.
Did he wince at the light? Had he been dreaming of man-bats that leapt over tall prison walls?
His dreams were his own.
But—
But it was early fall, 1835, and the light, still warm, could have glanced off the East River that edged the twenty-acre “Bellevue Establishment.” What stray beams reached the interior of Bellevue’s prison were always welcome.
Or perhaps it was dark and cold?
Or perhaps it was dark and cold. A thin sailor’s mattress, filled with rough straw, kept his warmth from seeping into fathoms of floor.
Describe the cell.
This particular chamber was narrower than the other cells in Bellevue. The prison was nearly twenty years old, a 50-by-150-foot stone pile. It was made up mostly of large rooms that the prison’s keeper, Mr. Lyons, kept packed thirty to seventy deep with New York City’s guilty and innocent alike. The accused and the witnesses to their asserted crimes were imprisoned together, awaiting the trial in which the former would face down the latter. There were the condemned, and there were also the poor and the vagrant, who taught each other how to survive when they escaped. And last but not least there was also the “vilest and most profane language” New York had to offer, and the illnesses like the dreaded ‘jail fever’ that would carry away Mr. Lyons himself in a year-and-a-half’s time.
But this particular room?
Was only large enough for a single prisoner, and the only thing that might carry away its occupant a few weeks hence was the cart to his execution.
A few years before, a visitor to a similarly condemned man in a similarly apportioned Bellevue room—
Perhaps this very room?
—described the narrow cell “as a living grave.”
How does one escape a living grave?
The cell door opened, and another man stood in the doorway.
If it was bright enough to see, what countenance did the visitor present, when the prisoner adjusted to the light?
A serious man, thirty-five years old. About five feet seven inches tall. Garbed in what clothes he could afford on a newspaperman’s salary of twelve dollars a week, after supporting wife, daughter, and drinking habit.
His face ink-smudged and gin-blossomed?
“Strongly pitted by smallpox,” rather. A childhood illness that had also left him on either side of his sharp, “aquiline” nose with permanently crossed eyes: strabismus. Yet there was “a certain calm, clear luminousness” about those eyes. His sometime literary rival Edgar Allen Poe remembered his forehead as “truly beautiful in its intellectuality.”
But to the prisoner?
The visitor was ‘not a prisoner.’
And did ‘not a prisoner’ introduce himself?
His name was Richard Adams Locke and he was from England. Born into a rich family, he hadn’t inherited his father’s estate, having become a journalist who railed against aristocratic privilege and anti-Catholicism. In 1831 he had moved his family to America, where the publisher of the New York Sun had hired him to be the pioneering penny-paper’s editor. Locke had since tried to convince the Sun’s readers that America’s two million slaves deserved freedom. In 1834, he had watched his birthplace, England, abolish slavery throughout its empire while white mobs in his adopted city looted the homes and churches of black New Yorkers. This past summer, the summer of 1835, he had defended American abolitionists threatened with death and lynching, and made his most full-throated condemnation of slavery yet.
Was that why he was New York’s most infamous journalist that fall?
No. It was not. He was New York’s most infamous journalist that fall because he had authored the Sun’s great moon hoax of 1835.
In a series of articles, the Sun had ‘revealed’ that Earth’s lunar satellite was populated by man-bats, unicorns, and other fantastical creatures. Locke’s creation may have been a failed satire of religious astronomers who predicted life beyond the stars, or a very subtle diversion from the tension over abolition, but it had landed as pseudo-scientific revelation. It was too good not to be believed. Debunked in New York, the story was now winging its way across the Atlantic, where European newspapers would further its flight. Richard Adams Locke had tricked the world, whether he had meant to or not.
Did the Sun’s readers still trust him as a journalist?
Through the moon hoax, the Sun had become the most-read newspaper in New York by the widest of margins. And Locke needed his next story.
All this he explained to the prisoner?
Richard Adams Locke stepped inside. The door closed behind him.
Did the prisoner stir? Who was he?
That was what Locke was here to find out.
Did the journalist know the prisoner?
Not personally, but by sight, yes. The last time Locke had seen the prisoner, the latter had been on trial for the murder of John “Little Jack” Roberts.
What was the prisoner’s name?
Richard C. Jackson.
But had he been born Richard Jackson?
The prisoner had been a sailor.
But was he born a sailor?
The prisoner spoke with a foreign accent.
But had he always been ‘foreign’?
He had not.
Describe him. What countenance did the prisoner present?
Locke had seen the accused at the trial, but only from a distance. Now, he was able to study the condemned close up, finding him “a man below the middle stature, of a slight but apparently agile frame, and a swarthy weather-beaten countenance. His cheek bones were broad and high, and his eyebrows were dark and heavy; but the expression of his eyes were rather humorous than ferocious, notwithstanding the shade of care which bedimmed them.”
Did he look like a murderer?
He looked like a sailor accused, convicted, and condemned to die. Weathered driftwood ready for the pyre.
Did Locke fear the murderer?
It is unclear. Locke, who had learned shorthand in order to cover trials like Jackson’s, had furiously transcribed the witnesses’ clear-cut testimony, and the fragile defense that Jackson’s lawyer attempted to shroud him with, cobweb-like. The lawyer had claimed that Jackson had indeed shot John “Little Jack” Roberts, but he had been moved to do so not from jealousy of Roberts’s relationship with Mrs. Harriet Shoults. Rather, because he was insane. After his arrest, when he had tried to hang himself with his handkerchief, it was out of madness—not guilt or despair.
Or so the lawyer claimed. Did the argument succeed?
It failed, and Jackson was condemned to death.
But still, the journalist Locke was moved by the lawyer’s attempt. After the trial he worried over two seemingly extraneous facts that the trial had revealed, and that hinted at the story behind Jackson’s story.
What ‘facts’ were those?
That Jackson had been born in Portugal, suggesting that his real name was likely not ‘Richard C. Jackson.’ And that he had been tried in Boston, once, for piracy.
A pirate, tried in 1830s America, under a false name, condemned to die. Was that rare?
As such, Jackson was the last of his kind, almost. Four years before, in 1831, Charles Gibbs, a white Rhode Islander, and Thomas J. Wansley, a mulatto from Delaware, had been hanged at Ellis Island for commandeering a silver-loaded brig, the Vineyard, and killing its captain and first mate. They had wrecked the vessel off the coast of Long Island, losing most of the treasure. Jeffers and Wansley were caught, sentenced—Wansley accused the court of racism— and sent to the gallows, among the last men America executed for piracy.
But to the journalist Locke, Gibbs was as famous for what he hadn’t done as what he had. Before Gibbs was hanged he had given interviews from his own “living grave” of a cell at Bellevue in which he claimed to have authored acts of piracy and murder of such number and violence that, if true, would have rivaled those of the dread pirate Blackbeard. Born James D. Jeffers in 1798, Gibbs had changed his name and gone off to sea. He claimed to have become one of the last pirates of the Caribbean, taking advantage of Spain’s shrinking presence in the Caribbean to maraud vessels off the coast of Cuba, Colombia, and later Argentina. He had killed many, he said, including a woman he may have loved. He confessed to so many acts of violence and piracy that journalists and readers alike decided that he was exaggerating—but that his stories were entertaining, nonetheless. Newspapers were sold.
But were those stories true?
In their broadest of strokes—perhaps. In their details—perhaps not. It depends on how we define ‘true.’ If Gibbs was telling a truth, then he would have lived a life that left little trace. Piracy in the Caribbean was on the wane, and he could hardly have found his companions—if they survived—to vouchsafe his tale. And even if Gibbs hadn’t done all that he claimed, then he at least was producing himself as an ersatz culprit for the true, collective crimes of his fellow final pirates of the Caribbean, who were now shuffling into the fringes of the fraying Atlantic World.
In Richard Jackson, who was not Richard Jackson, who had been born in Portugal, then, had Locke found his Gibbs?
After the murder trial, news of Jackson’s own supposed pirate past had begun to circulate. He was soon rumored to have been “a sublimely atrocious pirate,” wrote Locke, “and of course, connected with Gibbs and Wansley, who were executed a few years since; if not, indeed, with the renowned Barbarossas, Horuc and Hayradin, who were the terror of the Mediterranean, three hundred years ago.”
And was that enough for Locke?
Locke would not have entered Bellevue’s high stone walls on that wild intelligence alone, he claimed. He said that he had been called.
By whom?
By the prisoner himself.
On what pasts does a convicted killer dwell?
As Locke wrote later, in his typically florid style, Jackson, hopeless in “the solitude of his gloomy dungeon,” had retraced his life. He wanted someone to tell his story—to “make known to the world, the chief incidents of a life not less distinguished by remarkable adventures and sufferings, than by the ignominy which would seal its close.”
Did he feel remorse?
“He naturally wished that some personal relic might reach the strand, which might, perchance, awaken some sympathy among his fellow-men with his sufferings as a man, to mitigate, if possible, the dark opprobrium of guilt which surrounds his name. So enduring is the social principle in the human breast, that it is rarely extinguished, even in those the most deeply stained with crime …” And in Jackson’s heart, “it was strong even to peculiarity.”
But did he regret the crime he had committed? Why had he killed John “Little Jack” Roberts?
That truth would take time to unfold.
Truth? Was Locke prepared to believe him?
Given Jackson’s rumored association with Gibbs—not at first, no. Locke sought “the gloomy cell of the unhappy sailor” expecting that he was about to reveal an elaborately scrimshawed career of crime. Locke was prepared to tell his readers to swallow Jackson’s “marine monstrosities…cum grano salis—that is, with a grain or two of their native salt.”
But what happened instead?
Bellevue’s keeper, Mr. Lyons, had made Locke promise neither to help the prisoner escape, or commit suicide. Lyons now locked the door behind the journalist. The accused hoaxer began the interview, and the convicted murderer began to speak.
How long did they talk?
The words swam up from the sailor’s mouth, and Locke tried to haul them in as quickly as he could. Writing in his shorthand, he chronicled the life of a man he had never known free. At first, he thought it would be a short engagement. But a day passed, and then a week. Finally, Locke would be “the lone companion of a murderer whose days were numbered” for nearly a month. Daily, for three full weeks, while still publishing a newspaper, while enduring whispers that he was drinking too much, Locke made the time to ride north and spend several hours a day with Jackson.
Locke had learned that Jackson’s story, from birth to death, contained far more chapters than the one that had brought him to this living grave in Bellevue. His life was one of romance, war, and injustice: kidnapping, sea battles, mutiny, and, yes, piracy, ranging from the Mediterranean to the Caribbean and South America, from China to New Orleans, from London to New York. There were secret lovers and hidden identities. Throughout, there was slavery—the bondage and torture inflicted upon Jackson as a sailor, and the slavery he inflicted on others for pay. And then there was the murder that brought him to his chains, and this last foul prison cell.
Did he do it?
The prisoner would reveal all, hoping for absolution.
How do we know what he said?
As Jackson told it, it was a life as epic, exciting, and awful as the Atlantic age of sail and slavery now ending—the life not of a great man, the usual stuff of history, but that of an unsung antihero, who’d otherwise be forgotten. And Locke had an exclusive. When he was through he had enough for ten installments, or chapters, that the New York Sun began to publish on November 14, and would continue to publish, right up until the day of Jackson’s scheduled execution. Like the moon hoax, the serialized chapters were compiled as a book and sold to the Sun’s readers. Locke claimed he had had to edit it down, for brevity’s sake—but at 22,000 words, it still surpassed the moon hoax for length.
Locke knew that drawing out Jackson’s story as exceptional lifted the sailor up for attention usually not afforded men of his class. Jackson was no ‘great man,’ and he hadn’t lived a life that yielded “many of those moral and intellectual illustrations of character which abound in the biography of persons less exclusively and peculiarly associated.” But in his life, with its flight from ships, where he was the “slave of imperative authority,” and from land, where he was enslaved by his passions, Locke found something deeply human and worth understanding. The ocean was Jackson’s refuge, even as it had robbed him of what he held most dear.
For “heroism in thrilling perils,” wrote Locke, “for patient endurance of hardship, and for desperate enterprise, what narrative can compare with that of a sailor who has encountered the storms of every latitude and the dangers of every shore?”
But what of those thrilling perils could we possibly trust? A convicted murderer tells his story to a confessed hoaxer behind a locked door, with no witnesses. What room is there, in such a room, for anything believable?
Locke claimed to trust Jackson entirely; he ran down Jackson’s creativity, his imagination; and suggested that he had confirmed several of Jackson’s more “remarkable occurrences” with his own “recollections and reading.” Jackson, Locke claimed, was illiterate, and thus unable to embellish his tales with others. Instead, the sailor “relied entirely upon the retrospection of a memory more vivid, perhaps, in the solitary gloom of his dungeon than at another period of his life.”
Illiteracy as honesty? Then where did that leave Locke?
“For ourselves, we have added neither incident nor tint to the tale, for we found it so crowded with interesting facts, as to render fictitious embellishment not only unnecessary but inconvenient. We have of course related it in our own language, for the imperfect English of the uneducated foreigner made this unavoidable; but this comprises the whole of our claim to its authorship.”
What of that “uneducated foreigner” did Locke retain?
A voice that could lie and tell truths, in equal measure; a voice “weak and plaintive,” one that still can be heard.
Exaggerations. Violence to the historical record.
And facts. Possible to confirm.
Was it fiction? Or chronicle?
It was something more powerful, hulking in between. A mystery to confound.
Who was Jackson really, then?
His name was Manuel Fernandes.
He was born on March 16th, 1800, at Coimbra, Portugal.
He was the son of a soldier.
This, Locke wrote, was his story.
Or perhaps not.


Reports components that have duplicated mnemonic characters.
The quick-fix assigns a unique mnemonic character to each of the components.


{% extends "layout.html" %} {% block section %}
As you may know, your private life is not our business. We do not collect any data other than the history of your games.


Try searching a different target or disease above
Find more information about {{search.label}} in its Profile page
View {{search.label}} profile


CHAPTER 6E
HISTORIC PRESERVATION
Part I. Historic Preservation Program
Section
6E-1 Declaration of intent
6E-2 Definitions
6E-3 Historic preservation program
6E-3.5 Consultation
6E-4 Administration
6E-5 State historic preservation officer
6E-5.5 The Hawaii historic places review board; creation;
powers; appointments; composition
6E-6 Depositories for certain specimens and objects
6E-7 State title to historic property
6E-8 Review of effect of proposed state projects
6E-9 Investigation, recording, preservation, and salvage;
appropriations
6E-10 Privately owned historic property
6E-10.5 Enforcement
6E-11 Civil and administrative violations
6E-11.5 Civil penalties
6E-11.6 Administrative penalties
6E-12 Reproductions, forgeries, and illegal sales
6E-13 Injunctive relief
6E-14 Preservation activities by political subdivisions
6E-15 Regulations, special conditions or restrictions
6E-16 Hawaii historic preservation special fund
6E-17 Archaeological data survey database
Part II. Monuments and Memorials
6E-31 Monuments; reservation of land; relinquishment of
private claims
6E-32 Diamond Head State Monument
6E-32.5 Mount Olomana state monument
6E-33 Repealed
6E-34 Capitol site
6E-34.5 State capitol; state capitol management committee;
established; oversight and management; powers and
duties
6E-35 Iolani Palace
6E-36 Sand Island
6E-37 National statuary hall; Father Damien
6E-38 National statuary hall; King Kamehameha I
6E-38.5 Kohala Historical Sites State Monument
6E-39 Jurisdiction over World War II memorial
6E-40 Bernice Pauahi Bishop Museum
6E-41 Cemeteries; removal or redesignation
6E-42 Review of proposed projects
6E-42.2 Excluded activities for privately-owned
single-family detached dwelling units and townhouses
6E-43 Prehistoric and historic burial sites
6E-43.5 Island burial councils; creation; appointment;
composition; duties
6E-43.6 Inadvertent discovery of burial sites
6E-44 Veterans memorial commission
6E-45 Korean and Vietnam memorial
6E-46 Hawaii Sports Hall of Fame
6E-47 Pearl Harbor historic trail
Part III. Pacific War Memorial System
6E-51 Department of land and natural resources; powers
6E-52 Transfer of lands
Part IV. Miscellaneous Provisions
6E-61 Biological survey; designation
Part V. Criminal Offenses
6E-71 Taking, appropriation, excavation, injury,
destruction, or alteration of historic property
or aviation artifact; penalty
6E-72 Taking, appropriation, excavation, injury,
destruction, or alteration of a burial site; penalty
6E-73 Failure to stop work upon discovery of a burial site;
penalty
6E-74 Criminal penalties not in lieu of civil or
administrative penalties
6E-75 Part not applicable to family burial plots
Part VI. South Kona Wilderness Area
6E-81 South Kona wilderness area; establishment
6E-82 Lands included
6E-83 Government-owned land; construction prohibited
Note
Department of transportation's bridge rehabilitation and replacement program; temporary exemption from certain construction requirements of this chapter through June 30, 2022 or until completion. L 2012, c 218; L 2017, c 48.
Survey to identify potential historic districts and single-family residences for listing on Hawaii register of historic places; report to 2018 legislature. L 2015, c 89, §1.
Cross References
Allowance of indigenous Hawaiian architecture by county ordinances, see §46-1.55.
Kahoolawe island reserve, see chapter 6K.
Environmental courts, jurisdiction over proceedings arising under this chapter, see §604A-2.
`Ulu`ulu: The Henry Ku`ualoha Giugni moving image archive of Hawaii, see §304A-1864.
Law Journals and Reviews
Ensuring Our Future by Protecting Our Past: An Indigenous Reconciliation Approach to Improving Native Hawaiian Burial Protection. 33 UH L. Rev. 321 (2010).
Ke Ala Pono--The Path of Justice: The Moon Court's Native Hawaiian Rights Decisions. 33 UH L. Rev. 447 (2011).
Unwinding Non-Native Control Over Native America's Past: A Statistical Analysis of the Decisions to Return Native American Human Remains and Funerary Objects under the Native American Graves Protection and Repatriation Act, 1992-2013. 38 UH L. Rev. 337 (2016).
Case Notes
As the protections provided by this chapter to human skeletal remains and burial sites do not turn on religious distinctions, plaintiff's interest in protecting family members' unmarked burials and native Hawaiian burials were not extinguished by the burials being "Christian burials"; plaintiff thus had standing on plaintiff's claims under this chapter. 128 H. 455 (App.), 290 P.3d 525 (2012).
Where plaintiff asserted that: (1) plaintiff had family members buried on the church grounds; (2) plaintiff was a native Hawaiian and a recognized cultural descendant of the iwi found on the church grounds; (3) plaintiff had a traditional and customary practice of caring for iwi; (4) plaintiff was concerned that family members may be buried in unmarked burials on the church grounds; and (5) the disturbance of unmarked burials of family members or other cultural ancestors would cause plaintiff injury and harm, plaintiff had standing to raise claims under this chapter. 128 H. 455 (App.), 290 P.3d 525 (2012).


The T3D Keymap Mod Tool is designed to easily modify key bindings for T3D games based on the Full Template.


Back-end software engineer at Niche, amateur game developer, C++ and Rust enthusiast.
I graduated magna cum laude from Grove City College in 2014 with a BS in Computer Science and Mathematics. I received my MS degree from Rice University in 2017, studying parallel futures in C++ under Vivek Sarkar. In 2021 I completed my PhD thesis on Usable Security for Developers under Dan Wallach.


There are a number of examples below. Each example shows the JavaScript needed to build the accordion. For HTML and CSS, please view the page source.
This example demonstrates the best way to fire the accordion. Each slide contains an image measuring 600 x 270 pixels. The width of the accordion is required and set to 960. The slideWidth is set to 600 in order to display the full slide. The size of the tabs will be calculated automatically.
A height is required and set to 270. The timeout setting below will change the slides every 4000 milliseconds instead of the default 6000 milliseconds.
$("#example1").zAccordion({ timeout: 4000, slideWidth: 600, width: 960, height: 270 });
The example above shows how to use percentages. The width of the accordion is set to 100% (in quotes below) and the tabWidth to 10%. The size of the slides will be calculated automatically.
The startingSlide is set to 1 (the second slide in a zero-based index). The accordion has auto set to false and will not switch slides on a timer. Instead of a click, the slide change will trigger on mouseover.
The height setting is required and set to 200 pixels.
$("#example2").zAccordion({ startingSlide: 1, auto: false, tabWidth: "10%", width: "100%", height: 220, trigger: "mouseover" });
This might be the most practical example when it comes to rotating featured content. Each slide has its own class and custom background image.
$("#example3").zAccordion({ slideWidth: "500px", width: "800px", height: "200px", timeout: 2000 }); $("#start").click(function() { $("#example3").zAccordion("start"); $(this).css("display", "none"); $("#stop").css("display", "block"); return false; }); $("#stop").click(function() { $("#example3").zAccordion("stop"); $(this).css("display", "none"); $("#start").css("display", "block"); return false; }); $("#thumbs a").click(function() { $("#example3").zAccordion("trigger", $(this).parent().index()); return false; });
Vivamus vel neque nec est hendrerit aliquet. Donec sed cursus sapien. Aenean auctor egestas turpis nec aliquam.
Proin sit amet massa vel elit pulvinar hendrerit eu nec odio. Maecenas faucibus odio sit amet nunc semper accumsan.
Nunc porta commodo dolor, in vestibulum neque ullamcorper non. Nunc elementum ante in metus mollis sit amet consequat justo facilisis.
Phasellus non ante in lectus eleifend scelerisque ut eget velit.
This example is very common with featured content. Each slide has a background image set with CSS. The text within the slides is only displayed for the open slide. In snippet below, the slideClass is set to frame. This setting will add a class of frame to each of the list-items. It will also add a class of frame-open for the open slide, frame-closed for the closed slides, and frame-previous for the slide that was previously open.
By default zAccordion will not add classes to the content. However, the option to add classes exists to make styling easy.
$(document).ready(function() { $("#example4 ul").zAccordion({ slideWidth: 600, width: 900, height: 250, timeout: 3000, slideClass: "frame" }); });
HTML5 gave web developers the ability to add custom data attributes to HTML elements. Instead of defining options with JavaScript, zAccordion can pull its options from data attributes. A simple example is below. The width, slideWidth*, and height are prefixed with data-.
* Note: Notice the lowercase slidewidth. In order to match HTML5 specs, the data attributes should be defined as lowercase instead of camelcase with JavaScript.<div id="example5" data-width="900" data-slidewidth="500" data-height="250">
$(document).ready(function() { $("#example5").zAccordion(); });
Destroy
Destroy and Rebuild a Smaller Accordion
An accordion can be destroyed at any time. In this example, the slideClass has been set to destroy-me. With the snippet below, once the accordion is destroyed, and classes set by zAccordion will be removed. zAccordion will also completely remove the style attribute.
$(document).ready(function() { $("#example6").zAccordion({ slideWidth: 320, width: 600, height: 100, timeout: 2000, slideClass: "destroy-me", speed: 500, pause: false }); $("#destroy").click(function() { $("#example6").zAccordion("destroy", { removeStyleAttr: true, /* This attribute will default to true and remove all inline styles. */ removeClasses: true, /* This attribute will default to false and remove any classes that have been set by zAccordion. */ destroyComplete: { afterDestroy: function() { $("#destroy").fadeOut(1000); $("#rebuild").fadeOut(1000); } } }); return false; }); $("#rebuild").click(function() { $("#example6").zAccordion("destroy", { removeStyleAttr: true, /* This attribute will default to true and remove all inline styles. */ removeClasses: true, /* This attribute will default to false and remove any classes that have been set by zAccordion. */ destroyComplete: { rebuild: { slideWidth: 320, width: 400, height: 100, timeout: 2000, slideClass: "destroy-me", speed: 500, pause: false } } }); return false; }); });
The example demonstrates how to set up zAccordion using width and tabWidth. The accordion has a width of 800 pixels. The tabWidth will need to be set to less than 200 pixels. Anything over 200 and the accordion will not build. It is best to set the tabWidth to less than 200 pixels in this example so the slides will be free to animate.
$(document).ready(function() { $("#example7").zAccordion({ tabWidth: "200", width: "800", height: "150" }); });
This is example is similar to the example above, but this time slideWidth is set to 200 pixels. slideWidth should really be set to higher than 200 to allow for some animation.
$(document).ready(function() { $("#example8").zAccordion({ slideWidth: "200", width: "800", height: "150" }); });
This example shows how to fire an event when slide animation starts and when it is complete. The timeout is increased to 8 seconds in the snippet below in order to see the how the animationStart and animationComplete options work.
$(document).ready(function () { $("#example9").zAccordion({ timeout: 8000, speed: 5000, tabWidth: "10%", width: "100%", height: "150", animationStart: function (animated) { $("#animation span").html("Animation started..."); console.log('In `animationStart()`, `this` =', "\n", this); console.log('In `animationStart()`, `animated` =', "\n", animated); }, animationComplete: function (animated) { $("#animation span").html("Animation complete."); console.log('In `animationComplete()`, `this` =', "\n", this); console.log('In `animationComplete()`, `animated` =', "\n", animated); } }); });
The example above demonstrates a unique way to rotate featured content. Similar to other examples, it uses classes set with slideClass to create the effect above.
$(document).ready(function() { $("#example10").zAccordion({ width: 884, speed: 600, slideClass: "slider", slideWidth: 600, height: 400 }); });
This example shows a quick way to add easing to the accordion using the jQuery Easing Plugin.
$(document).ready(function() { $("#example11").zAccordion({ easing: "easeOutBounce", height: "150px", slideWidth: "600px", width: "900px" }); });
The afterBuild option can be set up to fire a function once the accordion is built. Below, the afterBuild option will change the text of an id. As a practical example, this option could be used to set the accordion's CSS position from off screen to on screen, hiding the initial build and showing the accordion only when it is ready.
$(document).ready(function () { $("#example12").zAccordion({ height: "150", slideWidth: "700", width: "960", buildComplete: function () { console.log('In `buildComplete()`, `this` =', "\n", this); $("#build span").html("Build complete."); } }); });
In Example 7 the tabWidth was set to 200 pixels, or one fourth of the accordion's width. This example sets the tabWidth to 300 pixels. The accordion should throw an error in the JavaScript console and not build. The errors option is set to true.
$(document).ready(function() { $("#example13").zAccordion({ tabWidth: "300", width: "800", height: "150", errors: true }); });
Please see the included percentage.html file.
Please see the included responsive.html file.


You disagree with what Larry says.
Although he and a few other students may fail, a majority of the students have improved enough to justify keeping the system.
You decide to use fear to cloud his judgement.
"Listen Larry, I don't think reporting this is a good idea."
"Why not?"
"All of the other students that have come to me have not had this issue."
"You're the first student to bring up race, and quite frankly, I don't see it."
Although the second statement was true, the first was most definitely not.
"You could get into a large amount of trouble for reporting something, especially if it turns out false."
You can tell he is getting nervous.
"I think the best course of action for you would be to take your studies more seriously."
"If you were doing well before, I see no reason as to why you can't perform now.
"Yeah.. I guess you're right."
He exits the room.
You feel terrible for lying to him.
For treating him as a means to solve your problem.
--
Two years later, you drive into work.
It's been only a couple of days since the last yearly report went out.
Although your school ranked in the top 5 private schools in terms of grades, the school ranked nearly bottom 5 in the least diversity in your school.
You think back to that meeting you had with Larry.
You feel that it was your fault that a majority of non white students failed that year.
The remainder that had barely passed either dropped out or decided to transfer schools.
It was likely because of this that the algorithm only became even more biased.
Rumons quickly sprung up that the school was purposefully biased and a majority of the school staff was harassed daily, whether it be by email or by phone.


Card
Bitcoin
Year
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Month
January
February
March
April
May
June
July
August
September
October
November
December
Remember me
For security, please enter your
mobile phone number
:
Keep me logged in
To complete your payment, please send bitcoins to the address below:
Open Wallet
Scan


The [Route] attribute adds an entry in the routing table that directs matching requests to this page. A page can have as many [Route] attributes as it likes, in which case you should consider specifying the canonical Url for the page to avoid penalties from search engines.
[IsPage("home", "/")] [Route("/", Method.Get)] [Route("/home", Method.Get)] [UsesLayout("home")] internal class HomePage { }
The [Route()] attribute has the following properties you can set.
When users navigate to a Url with this path, then this page will be rendered in response. The path should always be absolute, i.e. start with a forward slash.
For dynamic pages the [Route()] attribute can contain wildcards. Wildcards make the page render for a whole set of Urls. In this case the components on the page should contain code to render different content for the various paths that match the wildcard, or the Data Providers referenced by the page elements should put different data into the rendering context based on the path of the Url.
The wildcard character is *. It can be used in place of an element in the path to indicate that anything can appear in this part of the path. For example I can set the Path property to /customer/*/orders to indicate that this page is only rendered if the first element of the path is customer and the third element of the path is orders, but the second element of the path can contain anything. In this case the components and/or data providers for the page should examine the second path element to determine which customer to display orders for.
You can also tell the router to ignore the rest of the path by appending ** to the end of the path. For example if I set the Path property to /customer/order/** then this page will be rendered for any Url that starts with /customer/order/ irrespective of the rest of the path.
This property of the [Route()] attribute defines the Http methods that will be routed to the page. If you do not specify the Methods it will default to new []{ Method.Get }. In this case the page will only be rendered in response to Http GET requests.
You can route all Http methods to the page by setting Methods to an empty array like this: new Method[]{ }
This property of the [Route()] attribute defines the order in which routing will be evaluated. The highest priority routes are considered before the lower priority ones. Since the default priority is zero, the recommentation is to make very specific routes have positive priorities and wildcard routes have negative priority so that the wildcard routes do not mask the more specific routes by matching the request first.
Priorities also affect performance because the router will try to match routes in order or highest to lowest priority until it finds a match. You can make routing more efficient by giving higher priority to routes that are matched more frequently.


Have you ever wondered how to visualize network data? Well, if you are in the visualization business you probably have. In the end it´s all about what you want to achieve with your visualization and what your user is looking for. Let’s see a couple of examples built using D3.js V4 and some network data for The Simpsons First Season.
The first example, a node-link diagram shown, allow us to identify clusters and their size from a hairball of characters and relations. The clusters are based on the number of appearances of a character on The Simpsons first season. This type of visualization is great if you want to compare the size of the groups that make up the whole network, or if you just want to untangle the data to make more “watchable”.
Show Data as:
Show Template
This visualization was built using the D3.js “Force In a Box” plugin, developed by John Alexis Guerra Gómez, which can be found here
The second example is an adjacency matrix. In this visualization, each column / row represent a character, and each filled cell (the intersection of two characters) represent a link between characters, meaning co-occurrence in episodes. Higher color saturation in a cell mean that both characters appear together in more episodes, while lower color saturation in a cell mean that both characters appear together in fewer episodes. Feel free to visualize the data using different orderings.
Order Data by:
This visualization is based on Mike Bostock’s “Les Misérables Co-occurrence” graph which can be found here
Source data: The Simpsons Seasons Networks.


The three techniques that can be used to sustain a mindful conversation are listening, looping and dipping. To listen in this case, is to give your full attention to the person speaking. Looping is when someone has finished speaking and the other person provides feedback on what they heard them say. The person that spoke then has a chance to clarify if their interpretation is correct and this can go back and forth until both people have the right message. I would like to practice dipping in my own meditation practice. This happens as we have given someone our full attention to listen, and we are able to check in and acknowledge internal distractions while doing so. By dipping we can improve our ability to listen and gently let go of any positive or negative thoughts/feelings that arise.


Table of contents Close window
VIEW function is linked with each line / record display in the table to display details
To display next or previous record buttons are available. Click on Next Records or Previous Records.
Portfolio DAB-TPE table example : displaying a record detail


WITNESS LIST Land & Resource Management Committee May 8, 2001-8:00A HB 2141 For: Howard, Jeffrey S. (Reagan National Advertising) Stokes, Chris (Lamar Advertising / Outdoor Advertising Association of Texas) On: Walker, Jim (Self) SB 800 For: Allison, Jim (County Judges & Commissioners Association of Texas) SB 1398 For: Shaw, Dell R. (Self and Doug Scales Body Shop Inc.) Against: Aaronson, Maxine (Texas Neighborhoods Together Dallas Homeowners League) Brown, Walter (Village of Wimberley City Council) Ethridge, Lila Knight (Preservation Texas) Gattis, David R. (City of Benbrook / City Planners Association of Texas) Johnson, Shane (City of Rowlett) Laughlin, Kevin B. (City of Kerrville) McCloud, Ralph (Fort Worth City Council) O'Rourke, Kathleen M. (Self)


Explore the flow field using particle tracing and line integral convolution.
Do analysis on the streamlines based on different measurements and distributions.
Note: Please use Chrome for your fully experience! And before
run this application, make sure your browser pass all these tests below!
Canvas
CheckingWebgl
CheckingWeb-socket
CheckingWeb-worker
Checking


The Fire-Community Assessment Response Evaluation System, known as FireCARES, is a "big data" analytical system providing important information to fire service and community leaders about their local fire department and the risk environment in which firefighters are called to respond. FireCARES includes more than a decade of research on structure fires and related injuries and death, as well as building footprints, housing and mobile home units, public health and census data, and vulnerable populations. FireCARES combines large sets of data from various sources to "tell the story" of a fire department in regard to its risk environment, resource capacity, and overall capability to respond to emergency incidents.
The FireCARES project, funded by FEMA AFG, raises the bar for the technical discussion of community hazards and risks and the impact of changes to fire department resource levels.
The same team of researchers, academics, and fire service professionals who conducted the landmark NIST Residential Fireground Experiments (NIST TN 1661) and the NIST High-Rise Fireground Experiments (NIST TN 1797) built FireCARES. FireCARES partners include NIST, the International Association of Fire Chiefs (IAFC), the Metropolitan Fire Chiefs Association, the International Association of Fire Fighters (IAFF), the Commission on Fire Accreditation International (CFAI-Risk), Underwriters Laboratory (UL), the Urban Institute, the University of Texas at Austin, and Worcester Polytechnic.
The FireCARES project is funded by Department of Homeland Security (DHS) FEMA Assistance to Firefighters Grants (AFG). (EMW-2015- FP-00312)
No, at this time there is no cost to fire departments to use the system.
Fire Chiefs/Department Chiefs/Chief Officers/Commissioners/CEOs/Presidents: See detailed instructions about logging into FireCARES.
IAFF Officers: See detailed instructions about logging into FireCARES.
Others: If you are a member of a specific organization that has been cleared for login, you can register to get a FireCARES account using your email with the organizations email domain. Currently, the following whitelisted email domains include:
You can reset your FireCARES password or retrieve your username. However, if you use the IMIS or Helix single-sign-on provider to login into FireCARES, you'll need to work with those respective providers to retrieve your username and/or have your password reset.
While a large portion of FireCARES is completely open to the public, to see many features, you need to be logged in. To obtain a login please see How can I get an account with FireCARES? above.
For a deeper explanation regarding the data in FireCARES as well as understanding the visualizations, see the latest User Guide for more information.
We worked very hard to capture the fire stations for all the departments in the FireCARES system, but we recognize that fire stations change over time and we may not have identified every station. Please send an email to: FireCARES Stations. Be sure to include your Fire Department Name and FDID as it is specified on FireCARES.
FireCARES categorizes fire departments by their respective Fire Department ID code (FDID = the ID code used for data entry into the NFIRS system). For some cities, towns, or other municipalities contained within larger County jurisdictions, the FDIDs may be similar. If you are unable to locate your fire department by entering the name of your jurisdiction in the search bar, then please search for the county containing your fire department. To find your jurisdiction, let's see if it is contained within the larger county by entering the county name in the search bar and then checking the fire station addresses contained in the county list. If your stations are contained in the county list, please go to the Contact Us page and provide us the list of your stations with complete street addresses. You will be contacted within 1 week to verify the information and assure that your area is broken out of the larger county jurisdiction.
We used national data sets plus manual manipulation whenever possible to provide the best representation for jurisdictional boundaries for all departments in FireCARES. We also know that we do not have the same depth of knowledge about every community compared to those who serve that community. If you notice differences or if boundaries have changed, please send an email to: FireCARES Jurisdictions. Be sure to include your Fire Department Name and FDID as it is specified on FireCARES.
The data presented here primarily comes from NFIRS. Depending on your department's reporting procedures, there can exist inconsistencies between your local records and those in NFIRS. Also, NFIRS data are not yet available for the most recent two years. If you would like to update your data in the FireCARES system, please email FireCARES Data Update to determine a workflow for updating data. Be sure to include your Fire Department Name and FDID as it is specified on FireCARES.
To classify the hazard level of the structure where a fire occurred, that fire needed to be geocoded and tied to a physical parcel. That parcel also needed to have information about the structure present. If the geocode of the fire location did not get linked to an actual parcel (structure) or there was insufficient information describing that parcel then that fire was classified as an N/A. In most cases, this was due to the address (geocode) of the fire placing the fire in the middle of street versus at a particular parcel address. We are continually working on improving the quality of data from your system using a new data extraction module known as NFORS CAD and we are also working to improve the geocoding, so this situation should improve over time. The better the data in the system, the more accurate the outcomes will be. To learn more about NFORS, go to www.NFORS.org.
The hazard levels are determined using NFPA's definition of low, medium, and high hazard structures.
We do not have fire district data for all departments. If you would like add your district data, please email FireCARES Fire Districts. Be sure to include your Fire Department Name and FDID as it is specified on FireCARES.
Yes. GIS data layers of any description may be added to the system for visualization and use in FireCARES. To add data, please select the contact us button on the website and send a message including your contact information. You will be contacted within 1 week to update the information. Suggested data sets to add to FireCARES include hydrants, building inspections, and smoke detector distributions.
The Chief or his/her designee administrator is able to enter staffing information on the individual stations associated with your department. If you have administator permissions on your department, you will be presented with an "Add Apparatus" button on your department's station pages. Please ensure that you click "SAVE" each time you enter data.
We do not have first due area (zone) data for all departments. If you would like add your first due zones or "box alarm area" data, please email FireCARES Response Zones. Be sure to include your Fire Department Name and FDID as it is specified on FireCARES.
Yes. EMS response data can be added to the system. To add data, please select the contact us button on the website and send a message including your contact information. You will be contacted within 1 week to update the information.
First step is to fill out the Data Use Agreement and send to the contacts listed in the document. We will review your submission and contact you!
For a deeper explanation regarding the data in FireCARES as well as understanding the visualizations, see the latest User Guide for more information.
To see the parcel data in FireCARES, be sure you have un-clicked the radio button for 'Jurisdiction Boundary' in the map drop down (Top Right of the map window). Also, trying zooming in on map. Note that the data may take a minute to load.
See more information about the FireCARES Community Risk.
See more information about the FireCARES Performance Score.
See more information about the SAFE GRADE.
Yes. By selecting a station from the station list at the bottom of your department's page, FireCARES will take you to a map featuring that station. Then by clicking on the "stack of paper" icon in the upper right of the map, you may select "service area" and the system will calculate and display 4-minute, 6-minute- and 8-minute response map for crews responding from that station. To see each timed response, scroll over the area and each segment will be highlighted for you. Remember that all map displays may be printed for use in presentations or hard-copy reports.
Yes. Any features displayed in the map area of your department's FireCARES page may be printed using the "printer" icon at the top right of the page.
Yes. By clicking the documents icon in the top right corner of a fire department's page, annual reports, consultant reports, data summaries, and other documents can be uploaded and stored for future reference.
FireCARES and NFORS are parallel projects both funded by the Department of Homeland Security/FEMA Assistance to Firefighters Grants. NFORS is a data gathering application (software) that links with a fire departments CAD or records management system (RMS) to ingest operational data directly without additional firefighter input. That data can then be analyzed with in the NFORS system for instant reports and it can be loaded into the FireCARES system for use in calculating and updating a fire department's Performance Score and Safe Grade.
Yes. The NFORS project was developed in parallel and is linked to the Fire Community Assessment Response Evaluation System (FireCARES) Project. The NFORS modules and reports have been designed to be user friendly, encourage accurate and timely data entry, and allow data exchange with systems like FireCARES. In fact, the first NFORS module being field tested is in conjunction with the FireCARES project.
Field testing for the first NFORS module began in September 2016. The first module is known as NFORS-CAD (Computer Aided Dispatch). This module is implemented via a fire department's CAD or RMS (Records management System) for automatic extraction of operational data for ALL TYPE responses. The NFORS-CAD may require programming modification to a local CAD to assure that the appropriate operational data elements are captured. As operational data flow from a local fire department CAD system into the NFORS-CAD Library, they are available for use in local department reporting and will also appear in the fire department's FireCARES page.
Additional modules will begin field testing soon including the NFORS Firefighter Exposure Module that links to the NFORS-CAD Module creating a response diary for individual firefighters. This NFORS Firefighter Exposure Module is being used by AFG funded grant projects for firefighter cancer surveillance.
Go to www.NFORS.org for details


python_pachyderm.pps_client module
Classes
class PpsClient
Methods
def __init__(
self, host=None, port=None, auth_token=None)
Creates a client to connect to PPS.
host: The pachd host. Default is 'localhost'.
port: The port to connect to. Default is 30650.
auth_token: The authentication token; used if authentication is
enabled on the cluster. Default to None
.
def create_pipeline(
self, pipeline_name, transform=None, parallelism_spec=None, hashtree_spec=None, egress=None, update=None, output_branch=None, scale_down_threshold=None, resource_requests=None, resource_limits=None, input=None, description=None, cache_size=None, enable_stats=None, reprocess=None, batch=None, max_queue_size=None, service=None, chunk_spec=None, datum_timeout=None, job_timeout=None, salt=None, standby=None, datum_tries=None, scheduling_spec=None, pod_patch=None)
Creates a pipeline. For more info, please refer to the pipeline spec document: http://docs.pachyderm.io/en/latest/reference/pipeline_spec.html
Params:
* pipelinename: A string representing the pipeline name.
* transform: An optional Transform
object.
* parallelismspec: An optional ParallelismSpec
object.
* hashtreespec: An optional HashtreeSpec
object.
* egress: An optional Egress
object.
* update: An optional bool specifying whether this should behave as an
upsert.
* outputbranch: An optional string representing the branch to output
results on.
* scaledownthreshold: An optional protobuf Duration
object.
* resourcerequests: An optional ResourceSpec
object.
* resourcelimits: An optional ResourceSpec
object.
* input: An optional Input
object.
* description: An optional string describing the pipeline.
* cachesize: An optional string.
* enablestats: An optional bool.
* reprocess: An optional bool. If true, pachyderm forces the pipeline
to reprocess all datums. It only has meaning if update
is True
.
* batch: An optional bool.
* maxqueuesize: An optional int.
* service: An optional Service
object.
* chunkspec: An optional ChunkSpec
object.
* datumtimeout: An optional protobuf Duration
object.
* jobtimeout: An optional protobuf Duration
object.
* salt: An optional stirng.
* standby: An optional bool.
* datumtries: An optional int.
* schedulingspec: An optional SchedulingSpec
object.
* podpatch: An optional string.
def delete_all(
self)
Deletes everything in pachyderm.
def delete_all_pipelines(
self, force=None)
Deletes all pipelines.
Params: * force: Whether to force delete.
def delete_job(
self, job_id)
Deletes a job by its ID.
Params: * job_id: The ID of the job to delete.
def delete_pipeline(
self, pipeline_name, force=None)
Deletes a pipeline.
Params: * pipeline_name: A string representing the pipeline name. * force: Whether to force delete.
def flush_job(
self, commits, pipeline_names=None)
Blocks until all of the jobs which have a set of commits as
provenance have finished. Yields JobInfo
objects.
Params:
* commits: A list of tuples, strings, or Commit
objects representing
the commits to flush.
* pipeline_names: An optional list of strings specifying pipeline
names. If specified, only jobs within these pipelines will be flushed.
def garbage_collect(
self)
Runs garbage collection.
def get_job_logs(
self, job_id, data_filters=None, datum=None, follow=None, tail=None)
Gets logs for a job. Yields LogMessage
objects.
Params:
* jobid: A string representing a job to get logs of.
* datafilters: An optional iterable of strings specifying the names
of input files from which we want processing logs. This may contain
multiple files, to query pipelines that contain multiple inputs. Each
filter may be an absolute path of a file within a pps repo, or it may
be a hash for that file (to search for files at specific versions.)
* datum: An optional Datum
object.
* follow: An optional bool specifying whether logs should continue to
stream forever.
* tail: An optional int. If nonzero, the number of lines from the end
of the logs to return. Note: tail applies per container, so you will
get tail *
def get_pipeline_logs(
self, pipeline_name, data_filters=None, master=None, datum=None, follow=None, tail=None)
Gets logs for a pipeline. Yields LogMessage
objects.
Params:
* pipelinename: A string representing a pipeline to get
logs of.
* datafilters: An optional iterable of strings specifying the names
of input files from which we want processing logs. This may contain
multiple files, to query pipelines that contain multiple inputs. Each
filter may be an absolute path of a file within a pps repo, or it may
be a hash for that file (to search for files at specific versions.)
* master: An optional bool.
* datum: An optional Datum
object.
* follow: An optional bool specifying whether logs should continue to
stream forever.
* tail: An optional int. If nonzero, the number of lines from the end
of the logs to return. Note: tail applies per container, so you will
get tail *
def inspect_datum(
self, job_id, datum_id)
Inspects a datum. Returns a DatumInfo
object.
Params: * jobid: The ID of the job. * datumid: The ID of the datum.
def inspect_job(
self, job_id, block_state=None, output_commit=None)
Inspects a job with a given ID. Returns a JobInfo
.
Params:
* jobid: The ID of the job to inspect.
* blockstate: If true, block until the job completes.
* output_commit: An optional tuple, string, or Commit
object
representing an output commit to filter on.
def inspect_pipeline(
self, pipeline_name, history=None)
Inspects a pipeline. Returns a PipelineInfo
object.
Params: * pipeline_name: A string representing the pipeline name. * history: An optional int that indicates to return jobs from historical versions of pipelines. Semantics are: 0: Return jobs from the current version of the pipeline or pipelines. 1: Return the above and jobs from the next most recent version 2: etc. -1: Return jobs from all historical versions.
def list_datum(
self, job_id, page_size=None, page=None)
Lists datums. Yields ListDatumStreamResponse
objects.
Params: * jobid: The ID of the job. * pagesize: An optional int specifying the size of the page. * page: An optional int specifying the page number.
def list_job(
self, pipeline_name=None, input_commit=None, output_commit=None, history=None)
Lists jobs. Yields JobInfo
objects.
Params:
* pipelinename: An optional string representing a pipeline name to
filter on.
* inputcommit: An optional list of tuples, strings, or Commit
objects representing input commits to filter on.
* output_commit: An optional tuple, string, or Commit
object
representing an output commit to filter on.
* history: An optional int that indicates to return jobs from
historical versions of pipelines. Semantics are:
0: Return jobs from the current version of the pipeline or pipelines.
1: Return the above and jobs from the next most recent version
2: etc.
-1: Return jobs from all historical versions.
def list_pipeline(
self, history=None)
Lists pipelines. Returns a PipelineInfos
object.
Params: * pipeline_name: A string representing the pipeline name. * history: An optional int that indicates to return jobs from historical versions of pipelines. Semantics are: 0: Return jobs from the current version of the pipeline or pipelines. 1: Return the above and jobs from the next most recent version 2: etc. -1: Return jobs from all historical versions.
def restart_datum(
self, job_id, data_filters=None)
Restarts a datum.
Params: * jobid: The ID of the job. * datafilters: An optional iterable of strings.
def run_pipeline(
self, pipeline_name, provenance=None)
Runs a pipeline.
Params:
* pipeline_name: A string representing the pipeline name.
* provenance: An optional iterable of CommitProvenance
objects
representing the pipeline execution provenance.
def start_pipeline(
self, pipeline_name)
Starts a pipeline.
Params: * pipeline_name: A string representing the pipeline name.
def stop_job(
self, job_id)
Stops a job by its ID.
Params: * job_id: The ID of the job to stop.
def stop_pipeline(
self, pipeline_name)
Stops a pipeline.
Params: * pipeline_name: A string representing the pipeline name.


{{ .Hugo.Generator }} {{ partial "head/meta_tags.html" . }} {{ partial "head/fonts" . }} {{ partial "head/css_markdown.html" . }} {{ partial "head/css_layout.html" . }} {{ partial "head/css_highlightjs.html" . }}


#include "outbound_message.h"
#include <stdbool.h>
#include <stddef.h>
Go to the source code of this file.
| typedef bool(* persistence_is_empty_t) (void) |
persistence_is_empty signature. Checks whether persistence contains item(s)
- Returns
- true if persistence contains item(s), false otherwise
| typedef bool(* persistence_peek_t) (outbound_message_t *) |
persistence_peek signature. Peeks item from persistence
- Returns
- true if item was successfully peeked from persistence, false otherwise
| typedef bool(* persistence_pop_t) (outbound_message_t *) |
persistence_pop signature. Pops item from persistence
- Returns
- true if item was successfully popped from persistence, false otherwise
| typedef bool(* persistence_push_t) (outbound_message_t *) |
persistence_push signature. Pushes item to persistence.
- Returns
- true if item was successfully pushed to persistence, false otherwise
| bool persistence_is_initialized |
( |
const persistence_t * |
persistence | ) |
|
| bool persistence_peek |
( |
persistence_t * |
persistence, |
|
|
outbound_message_t * |
item |
|
) |
| |
| bool persistence_pop |
( |
persistence_t * |
persistence, |
|
|
outbound_message_t * |
item |
|
) |
| |
| bool persistence_push |
( |
persistence_t * |
persistence, |
|
|
outbound_message_t * |
item |
|
) |
| |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/scratch.20files.html ---
I'd like to have a few scratch files in my clone of community-mathlib, in e.g. a scratch/
directory. Should I do this with some local trickery in .gitignore, should I change the github version of .gitignore, should I just use _target
, should I load a second project in VS Code? I want VS Code to stop nagging me about files I just use to do tests or calculations.
Putting stuff in _target/scratch/
seems safe enough, at least it doesn't seem to be overwritten when doing leanpkg upgrade / build
.
I'd support adding /scratch/ to the official .gitignore. I've wanted the same thing previously.
I have a test.lean
file at the root of my repository, that I have added to my local gitignore (.git/info/exclude
). I suggest doing this for whatever your local scratch setup is
Aah this is probably the canonical solution. The idea is that .gitignore
is for files and directories which should be ignored by all users of the repo, like .olean files, but .git/info/exclude
is a local .gitignore for your clone only and you won't be faced with VS Code nagging you that you've updated .gitignore if you edit this. Thanks for this tip Mario!
Gaargh leanpkg build
builds my scratch files that don't build and then reports errors. Could this be fixed by moving all of mathlib into a src/
directory?
Yes. :-)
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


injectStyles(styles: string, destination?: Element, prepend?: boolean): Node
Injects styles into the destination element, or the document.head if no destination is provided.
Parameters
styles: string
The css text to injext.
destination?: Element
The destination element to inject the css text into. If not specified it will default to the document.head.
prepend?: boolean
Indicates whether or not the styles should be prepended to the destination. By default they are appended.
Returns
The Style node that was created.


string¶
String operations.
Synopsis¶
Search and Replace string(FIND <string> <substring> <out-var> [...]) string(REPLACE <match-string> <replace-string> <out-var> <input>...) Regular Expressions string(REGEX MATCH <match-regex> <out-var> <input>...) string(REGEX MATCHALL <match-regex> <out-var> <input>...) string(REGEX REPLACE <match-regex> <replace-expr> <out-var> <input>...) Manipulation string(APPEND <string-var> [<input>...]) string(PREPEND <string-var> [<input>...]) string(CONCAT <out-var> [<input>...]) string(JOIN <glue> <out-var> [<input>...]) string(TOLOWER <string1> <out-var>) string(TOUPPER <string1> <out-var>) string(LENGTH <string> <out-var>) string(SUBSTRING <string> <begin> <length> <out-var>) string(STRIP <string> <out-var>) string(GENEX_STRIP <string> <out-var>) string(REPEAT <string> <count> <out-var>) Comparison string(COMPARE <op> <string1> <string2> <out-var>) Hashing string(<HASH> <out-var> <input>) Generation string(ASCII <number>... <out-var>) string(CONFIGURE <string1> <out-var> [...]) string(MAKE_C_IDENTIFIER <string> <out-var>) string(RANDOM [<option>...] <out-var>) string(TIMESTAMP <out-var> [<format string>] [UTC]) string(UUID <out-var> ...)
Search and Replace¶
string(FIND <string> <substring> <output variable> [REVERSE])
Return the position where the given substring was found in
the supplied string. If the REVERSE
flag was used, the command will
search for the position of the last occurrence of the specified
substring. If the substring is not found, a position of -1 is returned.
string(REPLACE <match_string>
<replace_string> <output variable>
<input> [<input>...])
Replace all occurrences of match_string
in the input
with replace_string
and store the result in the output.
Regular Expressions¶
string(REGEX MATCH <regular_expression>
<output variable> <input> [<input>...])
Match the regular expression once and store the match in the output variable.
All <input>
arguments are concatenated before matching.
string(REGEX MATCHALL <regular_expression>
<output variable> <input> [<input>...])
Match the regular expression as many times as possible and store the matches
in the output variable as a list.
All <input>
arguments are concatenated before matching.
string(REGEX REPLACE <regular_expression>
<replace_expression> <output variable>
<input> [<input>...])
Match the regular expression as many times as possible and substitute the
replacement expression for the match in the output.
All <input>
arguments are concatenated before matching.
The replace expression may refer to paren-delimited subexpressions of the
match using \1
, \2
, …, \9
. Note that two backslashes (\\1
)
are required in CMake code to get a backslash through argument parsing.
Regex Specification¶
The following characters have special meaning in regular expressions:
^
- Matches at beginning of input
$
- Matches at end of input
.
- Matches any single character
\<char>
- Matches the single character specified by
<char>
. Use this to match special regex characters, e.g.\.
for a literal.
or\\
for a literal backslash\
. Escaping a non-special character is unnecessary but allowed, e.g.\a
matchesa
. [ ]
- Matches any character(s) inside the brackets
[^ ]
- Matches any character(s) not inside the brackets
-
- Inside brackets, specifies an inclusive range between
characters on either side e.g.
[a-f]
is[abcdef]
To match a literal-
using brackets, make it the first or the last character e.g.[+*/-]
matches basic mathematical operators. *
- Matches preceding pattern zero or more times
+
- Matches preceding pattern one or more times
?
- Matches preceding pattern zero or once only
|
- Matches a pattern on either side of the
|
()
- Saves a matched subexpression, which can be referenced
in the
REGEX REPLACE
operation. Additionally it is saved by all regular expression-related commands, including e.g.if(MATCHES)
, in the variablesCMAKE_MATCH_<n>
for<n>
0..9.
*
, +
and ?
have higher precedence than concatenation. |
has lower precedence than concatenation. This means that the regular
expression ^ab+d$
matches abbd
but not ababd
, and the regular
expression ^(ab|cd)$
matches ab
but not abd
.
CMake language Escape Sequences such as \t
, \r
, \n
,
and \\
may be used to construct literal tabs, carriage returns,
newlines, and backslashes (respectively) to pass in a regex. For example:
- The quoted argument
"[ \t\r\n]"
specifies a regex that matches any single whitespace character. - The quoted argument
"[/\\]"
specifies a regex that matches a single forward slash/
or backslash\
. - The quoted argument
"[A-Za-z0-9_]"
specifies a regex that matches any single “word” character in the C locale. - The quoted argument
"\\(\\a\\+b\\)"
specifies a regex that matches the exact string(a+b)
. Each\\
is parsed in a quoted argument as just\
, so the regex itself is actually\(\a\+\b\)
. This can alternatively be specified in a Bracket Argument without having to escape the backslashes, e.g.[[\(\a\+\b\)]]
.
Manipulation¶
string(APPEND <string variable> [<input>...])
Append all the input arguments to the string.
string(PREPEND <string variable> [<input>...])
Prepend all the input arguments to the string.
string(CONCAT <output variable> [<input>...])
Concatenate all the input arguments together and store the result in the named output variable.
string(JOIN <glue> <output variable> [<input>...])
Join all the input arguments together using the glue string and store the result in the named output variable.
To join list’s elements, use preferably the JOIN
operator
from list()
command. This allows for the elements to have
special characters like ;
in them.
string(TOLOWER <string1> <output variable>)
Convert string to lower characters.
string(TOUPPER <string1> <output variable>)
Convert string to upper characters.
string(LENGTH <string> <output variable>)
Store in an output variable a given string’s length.
string(SUBSTRING <string> <begin> <length> <output variable>)
Store in an output variable a substring of a given string. If length is
-1
the remainder of the string starting at begin will be returned.
If string is shorter than length then end of string is used instead.
Note
CMake 3.1 and below reported an error if length pointed past the end of string.
string(STRIP <string> <output variable>)
Store in an output variable a substring of a given string with leading and trailing spaces removed.
string(GENEX_STRIP <input string> <output variable>)
Strip any generator expressions
from the input string
and store the result in the output variable
.
string(REPEAT <input string> <count> <output variable>)
Produce the output string as repetion of input string
count
times.
Comparison¶
string(COMPARE LESS <string1> <string2> <output variable>)
string(COMPARE GREATER <string1> <string2> <output variable>)
string(COMPARE EQUAL <string1> <string2> <output variable>)
string(COMPARE NOTEQUAL <string1> <string2> <output variable>)
string(COMPARE LESS_EQUAL <string1> <string2> <output variable>)
string(COMPARE GREATER_EQUAL <string1> <string2> <output variable>)
Compare the strings and store true or false in the output variable.
Hashing¶
string(<HASH> <output variable> <input>)
Compute a cryptographic hash of the input string.
The supported <HASH>
algorithm names are:
MD5
- Message-Digest Algorithm 5, RFC 1321.
SHA1
- US Secure Hash Algorithm 1, RFC 3174.
SHA224
- US Secure Hash Algorithms, RFC 4634.
SHA256
- US Secure Hash Algorithms, RFC 4634.
SHA384
- US Secure Hash Algorithms, RFC 4634.
SHA512
- US Secure Hash Algorithms, RFC 4634.
SHA3_224
- Keccak SHA-3.
SHA3_256
- Keccak SHA-3.
SHA3_384
- Keccak SHA-3.
SHA3_512
- Keccak SHA-3.
Generation¶
string(ASCII <number> [<number> ...] <output variable>)
Convert all numbers into corresponding ASCII characters.
string(CONFIGURE <string1> <output variable>
[@ONLY] [ESCAPE_QUOTES])
Transform a string like configure_file()
transforms a file.
string(MAKE_C_IDENTIFIER <input string> <output variable>)
Convert each non-alphanumeric character in the <input string>
to an
underscore and store the result in the <output variable>
. If the first
character of the string is a digit, an underscore will also be prepended to
the result.
string(RANDOM [LENGTH <length>] [ALPHABET <alphabet>]
[RANDOM_SEED <seed>] <output variable>)
Return a random string of given length consisting of
characters from the given alphabet. Default length is 5 characters
and default alphabet is all numbers and upper and lower case letters.
If an integer RANDOM_SEED
is given, its value will be used to seed the
random number generator.
string(TIMESTAMP <output variable> [<format string>] [UTC])
Write a string representation of the current date and/or time to the output variable.
Should the command be unable to obtain a timestamp the output variable will be set to the empty string “”.
The optional UTC
flag requests the current date/time representation to
be in Coordinated Universal Time (UTC) rather than local time.
The optional <format string>
may contain the following format
specifiers:
%% A literal percent sign (%).
%d The day of the current month (01-31).
%H The hour on a 24-hour clock (00-23).
%I The hour on a 12-hour clock (01-12).
%j The day of the current year (001-366).
%m The month of the current year (01-12).
%b Abbreviated month name (e.g. Oct).
%B Full month name (e.g. October).
%M The minute of the current hour (00-59).
%s Seconds since midnight (UTC) 1-Jan-1970 (UNIX time).
%S The second of the current minute.
60 represents a leap second. (00-60)
%U The week number of the current year (00-53).
%w The day of the current week. 0 is Sunday. (0-6)
%a Abbreviated weekday name (e.g. Fri).
%A Full weekday name (e.g. Friday).
%y The last two digits of the current year (00-99)
%Y The current year.
Unknown format specifiers will be ignored and copied to the output as-is.
If no explicit <format string>
is given it will default to:
%Y-%m-%dT%H:%M:%S for local time.
%Y-%m-%dT%H:%M:%SZ for UTC.
Note
If the SOURCE_DATE_EPOCH
environment variable is set,
its value will be used instead of the current time.
See https://reproducible-builds.org/specs/source-date-epoch/ for details.
string(UUID <output variable> NAMESPACE <namespace> NAME <name>
TYPE <MD5|SHA1> [UPPER])
Create a universally unique identifier (aka GUID) as per RFC4122
based on the hash of the combined values of <namespace>
(which itself has to be a valid UUID) and <name>
.
The hash algorithm can be either MD5
(Version 3 UUID) or
SHA1
(Version 5 UUID).
A UUID has the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
where each x represents a lower case hexadecimal character.
Where required an uppercase representation can be requested
with the optional UPPER
flag.


@@include('./include/head.html', {"title": "Fade"})
@@include('./include/lt-ie9.html')
Hello World
My first website with
Fade
!
@@include('./include/script.html')


This data is collected from user browsers live. These performance timings measure the critical parts of our commercial system, in terms of the user-facing delay being experienced by our readers.
Time taken to start the Commercial javascript application
This is the delay between the page being executed, and the javascript commercial system starting (known as the commercial bootstrap). This delay is mostly attributed to the client-side's critical path, including the time taken to complete the inital javascript bootstrap (known as standard).


A component has now been packaged and stored in the cloud.
(For illustration purposes, the component name is assumed to be ‘hello.’ Your component may have a different name.)
Navigate to the AWS IoT Management Console and Click Greengrass and then Components from the left side panel.
Don’t see it? Make sure you have selected the appropriate region.
Click on the name of the desired component (e.g. hello
), and the click, Deploy
Select Create new deployment and then click Next OR Select Add to existing deployment and choose the existing deployment and click Next
Add to existing deployment or Create new deployment? Generally, you will choose Add to existing deployment. When a new Greengrass core is installed, it is common to also provision dev tools and other components. When doing so, a deployment will be created. There can be only ONE deployment that targets a Core device and ONE that targets the Thing group. If you have never created a deployment for these, you can choose Create new deployment. However, if an active deployment exists, you will be prompted to Revise that deployment.
cv-lab-core-config
or cv-lab-group-config
Target Core device or Thing group? For most of this workshop, targetting Core device is recommended. This method will control the configuration of a single core. However, for fleets of devices, using the Thing group may be advantageous as any new core that is added to the group will automatically be updated to the configuration specified by the deployment.
Your selected component should already be checked, if not, Check the box for your component. While you can also check any additional components to add them to the deployment (or uncheck them to remove the component), when debugging or testing components, it is best to only add/remove one at a time. You will likely already have other components checked. Unless you wish to remove them, leave them checked.
If desired, select the component and click, Configure component to make adjustments or overrides. Common reasons to do this would include changing configuration variables for things like file paths, timeouts, container entrypoints, etc. These settings are component specific and are specified by the component recipe.
When you have finished any desired configuration, click Next
For this workshop, you won’t need to change any settings, click Next
Note: When working with component deployment failures, it can be handy to change the Failure handling policy to Don’t roll back under Deployment policies.
Review and make any desired alterations to the deployment, then click, Deploy
Verify the deployment has ‘Completed’
You should also verify any logs, other output, or functionality of your component.
Congratulations!! You have deployed your component
Problem: Failed to download
or Access Denied
to an S3 bucket or location
Check the Policy attached to the Greengrass Role (commonly set up during the installation of a Greengrass Core with the --tes-role-name
switch). The Greengrass core needs access to the S3 bucket where the artifacts of a component are stored. To create and attach a policy:
Taken from Upload your component in the Greengrass V2 Getting Started Guide
Get the names of the S3 buckets in error and/or where you will store artifacts. You may have created this bucket manually or used the ggq
tool. The ggq
tool outputs the S3 URI when it creates a component. If you are uncertain, you can inspect the recipes and artifact URIs from the Components list on the IoT Core Console.
Create a file called component-artifact-policy.json
and copy the following JSON into the file. This policy allows access to all files in the S3 bucket that you created in the previous step. Replace DOC-EXAMPLE-BUCKET with the name of the bucket to use.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
}
]
}
aws iam create-policy \
--policy-name CVLabComponentArtifactPolicy \
--policy-document file://component-artifact-policy.json
Note Policy names are global. If you already have a policy with that name, either modify the policy or create a new one.
Copy the policy Amazon Resource Name (ARN) from the policy metadata in the output. You use this ARN to attach this policy to the core device role in the next step.
# be sure to set $ROLE_NAME for your configuration
echo $ROLE_NAME
aws iam attach-role-policy \
--role-name $ROLE_NAME \
--policy-arn <paste_policy_arn>


# File lib/capybara/node/matchers.rb, line 457 def ==(other) self.eql?(other) or (other.respond_to?(:base) and base == other.base) end
Asserts that a given selector is not on the page or current node. Usage is identical to #assert_selector
@param (see Capybara::Node::Finders#assert_selector) @raise [Capybara::ExpectationNotMet] If the selector exists
# File lib/capybara/node/matchers.rb, line 103 def assert_no_selector(*args) synchronize do result = all(*args) result.matches_count? and raise Capybara::ExpectationNotMet, result.negative_failure_message end return true end
Asserts that a given selector is on the page or current node.
page.assert_selector('p#foo') page.assert_selector(:xpath, './/p[@id="foo"]') page.assert_selector(:foo)
By default it will check if the expression occurs at least once, but a different number can be specified.
page.assert_selector('p#foo', :count => 4)
This will check if the expression occurs exactly 4 times.
It also accepts all options that {Capybara::Node::Finders#all} accepts, such as :text and :visible.
page.assert_selector('li', :text => 'Horse', :visible => true)
`#assert_selector` can also accept XPath expressions generated by the XPath gem:
page.assert_selector(:xpath, XPath.descendant(:p))
@param (see Capybara::Node::Finders#all) @option options [Integer] :count (nil) Number of times the expression should occur @raise [Capybara::ExpectationNotMet] If the selector does not exist
# File lib/capybara/node/matchers.rb, line 87 def assert_selector(*args) synchronize do result = all(*args) result.matches_count? or raise Capybara::ExpectationNotMet, result.failure_message end return true end
Checks if the page or current node has a radio button or checkbox with the given label, value or id, that is currently checked.
@param [String] locator The label, name or id of a checked field @return [Boolean] Whether it exists
# File lib/capybara/node/matchers.rb, line 344 def has_checked_field?(locator) has_selector?(:field, locator, :checked => true) end
Checks if a given CSS selector is on the page or current node.
page.has_css?('p#foo')
By default it will check if the selector occurs at least once, but a different number can be specified.
page.has_css?('p#foo', :count => 4)
This will check if the selector occurs exactly 4 times.
It also accepts all options that {Capybara::Node::Finders#all} accepts, such as :text and :visible.
page.has_css?('li', :text => 'Horse', :visible => true)
@param [String] path A CSS selector @param options (see Capybara::Node::Finders#all) @option options [Integer] :count (nil) Number of times the selector should occur @return [Boolean] If the selector exists
# File lib/capybara/node/matchers.rb, line 179 def has_css?(path, options={}) has_selector?(:css, path, options) end
Checks if the page or current node has a form field with the given label, name or id.
For text fields and other textual fields, such as textareas and HTML5 email/url/etc. fields, it’s possible to specify a :with option to specify the text the field should contain:
page.has_field?('Name', :with => 'Jonas')
It is also possible to filter by the field type attribute:
page.has_field?('Email', :type => 'email')
Note: ‘textarea’ and ‘select’ are valid type values, matching the associated tag names.
@param [String] locator The label, name or id of a field to check for @option options [String] :with The text content of the field @option options [String] :type The type attribute of the field @return [Boolean] Whether it exists
# File lib/capybara/node/matchers.rb, line 317 def has_field?(locator, options={}) has_selector?(:field, locator, options) end
Checks if the page or current node has a link with the given text or id.
@param [String] locator The text or id of a link to check for @param options @option options [String] :href The value the href attribute must be @return [Boolean] Whether it exists
# File lib/capybara/node/matchers.rb, line 255 def has_link?(locator, options={}) has_selector?(:link, locator, options) end
Checks if the page or current node has no radio button or checkbox with the given label, value or id, that is currently checked.
@param [String] locator The label, name or id of a checked field @return [Boolean] Whether it doesn’t exists
# File lib/capybara/node/matchers.rb, line 357 def has_no_checked_field?(locator) has_no_selector?(:field, locator, :checked => true) end
Checks if a given CSS selector is not on the page or current node. Usage is identical to #has_css?
@param (see Capybara::Node::Finders#has_css?) @return [Boolean]
# File lib/capybara/node/matchers.rb, line 191 def has_no_css?(path, options={}) has_no_selector?(:css, path, options) end
Checks if the page or current node has no form field with the given label, name or id. See {#has_field?}.
@param [String] locator The label, name or id of a field to check for @option options [String] :with The text content of the field @option options [String] :type The type attribute of the field @return [Boolean] Whether it doesn’t exist
# File lib/capybara/node/matchers.rb, line 331 def has_no_field?(locator, options={}) has_no_selector?(:field, locator, options) end
Checks if the page or current node has no link with the given text or id.
@param (see Capybara::Node::Finders#has_link?) @return [Boolean] Whether it doesn’t exist
# File lib/capybara/node/matchers.rb, line 267 def has_no_link?(locator, options={}) has_no_selector?(:link, locator, options) end
Checks if the page or current node has no select field with the given label, name or id. See {#has_select?}.
@param (see #has_select?) @return [Boolean] Whether it doesn’t exist
# File lib/capybara/node/matchers.rb, line 427 def has_no_select?(locator, options={}) has_no_selector?(:select, locator, options) end
Checks if a given selector is not on the page or current node. Usage is identical to #has_selector?
@param (see Capybara::Node::Finders#has_selector?) @return [Boolean]
# File lib/capybara/node/matchers.rb, line 52 def has_no_selector?(*args) assert_no_selector(*args) rescue Capybara::ExpectationNotMet return false end
Checks if the page or current node has no table with the given id or caption. See {#has_table?}.
@param (see #has_table?) @return [Boolean] Whether it doesn’t exist
# File lib/capybara/node/matchers.rb, line 453 def has_no_table?(locator, options={}) has_no_selector?(:table, locator, options) end
Checks if the page or current node does not have the given text content, ignoring any HTML tags and normalizing whitespace.
@param (see has_text?) @return [Boolean] Whether it doesn’t exist
# File lib/capybara/node/matchers.rb, line 235 def has_no_text?(*args) synchronize do raise ExpectationNotMet if text_found?(*args) end return true rescue Capybara::ExpectationNotMet return false end
Checks if the page or current node has no radio button or checkbox with the given label, value or id, that is currently unchecked.
@param [String] locator The label, name or id of an unchecked field @return [Boolean] Whether it doesn’t exists
# File lib/capybara/node/matchers.rb, line 383 def has_no_unchecked_field?(locator) has_no_selector?(:field, locator, :unchecked => true) end
Checks if a given XPath expression is not on the page or current node. Usage is identical to #has_xpath?
@param (see Capybara::Node::Finders#has_xpath?) @return [Boolean]
# File lib/capybara/node/matchers.rb, line 152 def has_no_xpath?(path, options={}) has_no_selector?(:xpath, path, options) end
Checks if the page or current node has a select field with the given label, name or id.
It can be specified which option should currently be selected:
page.has_select?('Language', :selected => 'German')
For multiple select boxes, several options may be specified:
page.has_select?('Language', :selected => ['English', 'German'])
It’s also possible to check if the exact set of options exists for this select box:
page.has_select?('Language', :options => ['English', 'German', 'Spanish'])
You can also check for a partial set of options:
page.has_select?('Language', :with_options => ['English', 'German'])
@param [String] locator The label, name or id of a select box @option options [Array] :options Options which should be contained in this select box @option options [Array] :with_options Partial set of options which should be contained in this select box @option options [String, Array] :selected Options which should be selected @return [Boolean] Whether it exists
# File lib/capybara/node/matchers.rb, line 415 def has_select?(locator, options={}) has_selector?(:select, locator, options) end
Checks if a given selector is on the page or current node.
page.has_selector?('p#foo') page.has_selector?(:xpath, './/p[@id="foo"]') page.has_selector?(:foo)
By default it will check if the expression occurs at least once, but a different number can be specified.
page.has_selector?('p.foo', :count => 4)
This will check if the expression occurs exactly 4 times.
It also accepts all options that {Capybara::Node::Finders#all} accepts, such as :text and :visible.
page.has_selector?('li', :text => 'Horse', :visible => true)
has_selector? can also accept XPath expressions generated by the XPath gem:
page.has_selector?(:xpath, XPath.descendant(:p))
@param (see Capybara::Node::Finders#all) @param args @option args [Integer] :count (nil) Number of times the text should occur @option args [Integer] :minimum (nil) Minimum number of times the text should occur @option args [Integer] :maximum (nil) Maximum number of times the text should occur @option args [Range] :between (nil) Range of times that should contain number of times text occurs @return [Boolean] If the expression exists
# File lib/capybara/node/matchers.rb, line 38 def has_selector?(*args) assert_selector(*args) rescue Capybara::ExpectationNotMet return false end
Checks if the page or current node has a table with the given id or caption:
page.has_table?('People')
@param [String] locator The id or caption of a table @return [Boolean] Whether it exist
# File lib/capybara/node/matchers.rb, line 441 def has_table?(locator, options={}) has_selector?(:table, locator, options) end
Checks if the page or current node has the given text content, ignoring any HTML tags and normalizing whitespace.
By default it will check if the text occurs at least once, but a different number can be specified.
page.has_text?('lorem ipsum', between: 2..4)
This will check if the text occurs from 2 to 4 times.
@overload has_text?(, text, [options])
@param [:all, :visible] type Whether to check for only visible or all text @param [String, Regexp] text The text/regexp to check for @param [Hash] options additional options @option options [Integer] :count (nil) Number of times the text should occur @option options [Integer] :minimum (nil) Minimum number of times the text should occur @option options [Integer] :maximum (nil) Maximum number of times the text should occur @option options [Range] :between (nil) Range of times that should contain number of times text occurs @return [Boolean] Whether it exists
# File lib/capybara/node/matchers.rb, line 217 def has_text?(*args) synchronize do raise ExpectationNotMet unless text_found?(*args) end return true rescue Capybara::ExpectationNotMet return false end
Checks if the page or current node has a radio button or checkbox with the given label, value or id, that is currently unchecked.
@param [String] locator The label, name or id of an unchecked field @return [Boolean] Whether it exists
# File lib/capybara/node/matchers.rb, line 370 def has_unchecked_field?(locator) has_selector?(:field, locator, :unchecked => true) end
Checks if a given XPath expression is on the page or current node.
page.has_xpath?('.//p[@id="foo"]')
By default it will check if the expression occurs at least once, but a different number can be specified.
page.has_xpath?('.//p[@id="foo"]', :count => 4)
This will check if the expression occurs exactly 4 times.
It also accepts all options that {Capybara::Node::Finders#all} accepts, such as :text and :visible.
page.has_xpath?('.//li', :text => 'Horse', :visible => true)
has_xpath? can also accept XPath expressions generate by the XPath gem:
xpath = XPath.generate { |x| x.descendant(:p) } page.has_xpath?(xpath)
@param [String] path An XPath expression @param options (see Capybara::Node::Finders#all) @option options [Integer] :count (nil) Number of times the expression should occur @return [Boolean] If the expression exists
# File lib/capybara/node/matchers.rb, line 140 def has_xpath?(path, options={}) has_selector?(:xpath, path, options) end


Currently we have one location open! you can find us at this location currently.
Currently the cinema that we have open is in the Salford keys area! The map shows the location of the building, but your journey may be a little more complex than walking. If you have need for navigation, continue reading this page!
If you wish to access our location by tube, use this handy tool for plotting your route
Please remember to give adequate time to travel to our cinema, as no one enjoys being late to a movie, or someone turning up in the middle of an important scene! It is advised to plan your route in advance if taking the tube!
Due to the nature of the city of London, there are congestion charge zones in certain parts of the city. This handy map should help visualize where these congestion charges apply!
Whatever your transport method, it's good to see any updates via the transport twitter!
Tweets by TfL*Disclaimer: Transport for London is not in any way associated with QACinemas. We are not to be held responsible for any content they may or may not choose to post.
If you have decided to travel with us, you will find parking at the cinema itself, but we understand that sometimes our popular services lead to car parks being full! This map shows you how to get from the cinema, to the nearest car park! Now you can worry less about parking and more about what you see on the big screen at our wonderful QACinema!
The building we are in currently is a modern masterpeice of architechture, which is only fitting of the modern masterpeices of cinematography we display on all of our premium HD screens!