Id: 336
Name: Steven Phillips
Status: Alive
Species: Alien
Type: Unknown-nippled alien
Gender: Male
OriginName: Unity's Planet
OriginUrl: https://rickandmortyapi.com/api/location/28
LocationName: Unity's Planet
LocationUrl: https://rickandmortyapi.com/api/location/28
Image: https://rickandmortyapi.com/api/character/avatar/336.jpeg
Episode: ['https://rickandmortyapi.com/api/episode/14']
Url: https://rickandmortyapi.com/api/character/336
Created: 2018-01-10T16:44:51.702Z


These are reources that you will need to have access to in Granite. The following websites you should have access to already. To go to the website simply click on the link and that will take you to that website.


ActivePapers
aims to make computational science more open and more reliable by
making computations reproducible and publishable. It is a file
format for storing computations, consisting of both code and data,
and it is also a software infrastructure for working with this
file format.
Contact:
Konrad Hinsen


--- layout: post title: Multilingual Table of Contents in LaTeX date: 2014-06-18 12:59:11.000000000 -07:00 categories: - LaTeX - Programming tags: - LaTeX - multi-lingual - multilingual - Table of contents - toc - Typesetting - XeLaTeX - XeTeX status: draft type: post published: false meta: _edit_last: '1' author: login: siegedog email<EMAIL_ADDRESS>display_name: siegedog first_name: '' last_name: '' excerpt: !ruby/object:Hpricot::Doc options: {} ---
One of the requirements for my Bachelor's Thesis, which was written in English, was for the table of contents to be available in both English and Romanian.
Since I was using LaTeX (XeLaTeX, to be more precise), I decided there had to be a way to do this in a clever fashion (i.e. without having to manually create the Romanian ToC from scratch).
And, as it turns out, there is a way to do this, using tocloft! The original question I found while googling the issue is located here: http://latex-community.org/forum/viewtopic.php?f=5&t=5438&p=84468#p84468
I've cleaned up the code a little and updated the label names accordingly (to make it easy for anyone to change them into any language).
\newcommand{\numecuprins}{Cuprins}
\newlistof{cuprins}{tce}{\numecuprins}
% definition of the commands used for the Romanian ToC
\newcommand\capitol[1]{%
\addcontentsline{tce}{chapter}{\protect\makebox[1.3em][l]{\thechapter}#1}}
\newcommand\sectiune[1]{%
\addcontentsline{tce}{section}{\protect\makebox[2.8em][l]{\thesection}#1}}
\newcommand\subsectiune[1]{%
\addcontentsline{tce}{subsection}{\protect\makebox[3em][l]{\thesubsection}#1}}
% rest of shitte
clearpage
\listofcuprins


Vladislav Morozov
I am a PhD candidate in econometrics at Universitat Pompeu Fabra in Barcelona.
My research interests are panel data econometrics and econometrics of pervasive heterogeneity. I am supervised by Prof. Christian Brownlees and Prof. Kirill Evdokimov.


Number2Words
Number to word Converter Flask App
The Number given as {{usr_input}} in words is:
{{output}}


Abyssal Celebrant Kartia:
Go immediately and deliver my translations to Tetrarch Thifiell! Thifiell is very impatient and hates waiting.


Store and Sync Data in Realtime
Sara Robinson
Developer Advocate at Firebase
@SRobTweets
Today
- The Future of Apps
- Firebase Overview
- Live Coding
- Demos
- Open Data Sets
- Q&A
The Future of Apps
but first, a quick bit of history...
Some History
70s: Mainframes & Minicomputer
(Thin Client)
80s: Personal Computer
(Thick Client)
90s: Rise of the Web
(Thin Client)
Now: Smartphones and The Web
- Connected Thick Client
- Processing is at the edge of the network
- Works offline (if you build it right)
- Still largely request-response
- Push notifications
Now: Smartphones and The Web
- Browsers are much more powerful
- Still largely request-response
- Processing primiarly on the server
- Hard to scale
Soon: The Web
- New JavaScript frameworks are enabling more complex apps
- Computing is moving closer to the user
What matters?
- Apps are fast
- Data is delivered in realtime
- Apps works offline
This is possible now.
It's happening today:
- Google Docs
- Facebook Newsfeed
- Collaboration Tools
Getting this right is hard and it takes a lot of time.
This is why we built Firebase.
Firebase is...
- A scalable backend for your app.
- An API that syncs and stores your data in realtime across all clients.
- A set of services that make it possible for developers to build amazing experiences without
writing any server code.
Predictions
- Apps are composed of two parts
- Servers are abstracted completely
- Realtime is the default
An Overview
What is Firebase?
Firebase is a platform for building realtime apps
Data: store and sync data across clients
Authentication: easily authenticate users
Hosting: production-grade static asset hosting
Store and Sync Data
Write Data to Firebase
var ref = new Firebase("https://sacramento.firebaseio-demo.com/");
ref.set("Hello Sacramento!");
Read Data from Firebase
ref.on("value", function (snapshot) {
var data = snapshot.val();
console.log(data);
});
More About Firebase
- 75,000 registered developers
- Founded in Spring of 2011 in SF
- Customers include: Citrix, CBS,
Twitch, Warby Parker, and
Coffee Meets Bagel
- 1M concurrent users on Firebase sites
at any given time
Firebase is...
- A scalable backend for your app.
- An API that syncs and stores your data in realtime across all clients.
- A set of services that make it possible for developers to build amazing experiences without
writing any server code.
Open Data Sets
- Cryptocurrency Exchange Rates
- Live Transit Data
- Earthquakes
- Airport Delays
- Weather
- More...


The name of the Workspace under which the source should be retrieved. This workspace is created as needed. You can normally omit the property unless you want to name a workspace to avoid conflicts on the server (i.e. when you have multiple projects on one server talking to TFS/Team Services)
The default value is to create a workspace named Hudson-${JOB_NAME}. The TFS plugin for Jenkins supports the following macros that are replaced in the workspace name:


One hammer for a thousand nails Solution-based problem-solving restricts the result before the start. Ruben Verborgh 30 July 2013


Hi, I'm Ali!
I am a graduate researcher at MIT working at the intersection of climate science, software engineering, and machine learning within the Department of Earth, Atmospheric, and Planetary Sciences and the Center for Computational Science and Engineering.
As part of the Climate Modeling Alliance I have developed Oceananigans.jl, a fast and friendly ocean model written in Julia that runs on CPUs and GPUs with one heterogenous code base. I have used Oceananigans to develop data-driven models of oceanic turbulence and to study fluid dynamics on Earth and other planets.
You can play around with the sphere on the right to learn more about my research and Earth's climate!
Research
Ocean model development
My work has involved developing ocean models for climate modeling. I am the original developer of Oceananigans.jl, a fast, friendly, and flexible Julia package for computational fluid dynamics on CPUs and GPUs (Ramadhan et al., 2020). Oceananigans.jl serves as the ocean component for the next-generation climate model being developed by the Climate Modeling Alliance. I led development of the first release and implemented features to turn it into a fully-fledged ocean model. I also worked on
- implementing support for GPUs with CUDA and distributed computing with MPI,
- supporting global ocean modeling on conformal cubed sphere grids,
- collaborating with researchers to accelerate research at several institutions,
- building comprehensive test suites with robust continuous integration pipelines,
- and writing extensive documentation and tutorials.
Capturing missing physics in climate models using machine learning
Even with today's immense computational resources, climate models cannot resolve every cloud in the atmosphere or eddying swirl in the ocean.
However, collectively these small-scale turbulent processes play a key role in setting Earth's climate.
The problem is that they are not well-represented in climate models.
My research combines physical principles and machine learning to improve how turbulence is represented in climate models
We take simple yet robust models of these turbulent processes and augment the partial differential equations they solve with neural networks.
The augmented models are trained using resolved simulations of the turbulent process generated using Oceananigans.jl so the neural networks learn the missing physics (Ramadhan et al., 2023).
Fluid dynamics on Earth and other planets
In collaboration with oceanographers at MIT, we have leveraged Oceananigans.jl to tackle research problems requiring the speedup provided by GPUs. For example, we have fit oceanic convection models using Bayesian inference, accurately modeled meltwater from Antarctic ice shelves, and even investigated the circulation of subsurface oceans on icy moons such as Jupiter's Europa and Saturn's Enceladus.
Southern Ocean dynamics
I have done some work on bringing in a dynamical perspective to how the Southern Ocean's meridional overturning circulation interacts with the ocean surface and sea ice around Antarctica (Ramadhan et al., 2022). This was done by inferring surface stress patterns from decades of observational satellite data. We also investigated trends that may explain patterns and rates of Antarctic land ice loss and sea level rise.
Idealized modeling of the ecological dynamics of marine microbes
Marine microbial communities lie at the bottom of the oceanic food web sustaining all marine animal life. The geographical structure of these microbial communities, and thus oceanic biodiversity, is set by short-range ecological interactions. To investigate how these interactions affect biodiversity, we utilized an agent-based modeling approach in which millions of marine microbes are modeled as particles that are advected by surface ocean currents derived from satellite observations. The interaction was modeled using an imbalanced probabilistic rock-paper-scissors game leading to the reproduction of observed ecological phenomena.
Other projects
Project Lovelace: Developing computational thinking in science students
Project Lovelace is an open online platform for learning about science and developing computational thinking through programming and problem solving. It is a collection of computational science problems and tutorials taken from all branches of the natural, social, and mathematical sciences. Each problem teaches a scientific application (e.g. locating earthquakes, DNA splicing) and requires the use of scientific insight and some programming skills to solve. Tutorials teach computational methods that students and researchers may find useful (e.g. solving differential equations, Bayesian inference) and may be required knowledge for some problems.
While Project Lovelace is still in development, we are deploying the website and the problems one by one throughout the winter in preparation for a pilot run in April 2017. In addition to the website's recreational aspect we ultimately hope that the problems and tutorials may be used in undergraduate courses, especially to complement courses that lack a computational portion as computational methods have become ubiquitous in almost every field of science.
Molecular movies and geometry reconstruction using Coulomb explosion imaging
Have you ever seen a molecule bend or participate in a chemical reaction? If so, probably not directly: single molecules are notoriously hard to observe for any length of time. For my MSc thesis I developed a rigorous computational framework to create movies of individual molecules undergoing chemical reactions using Coulomb explosion imaging (CEI), a technique of studying the ultrafast dynamics of smaller molecules in the gas phase. While CEI has always promised that atomic structures may be measured, in practice no rigorous method is available and instead the momentum vectors are studied. The momentum vectors tell a large part of the story but aren't as satisfying to study as the actual structure everyone seeks so a method of retrieving the structure is highly desirable.
The structure may be recovered by attempting to simulate the CEI experiment backwards in time; however, solving for the molecular geometries constitutes an ill-posed nonconvex optimization problem that is difficult to tackle computationally even for small molecules. I am actively trying different optimization approaches and also collaborating with the Department of Statistics and Actuarial Science on a fully statistical approach using Bayesian inference. So far the statistical approach seems more promising as it will allow for the inclusion of measurement uncertainty which every previous study has neglected and seems to scale well to larger molecules (Ramadhan, 2017).
Ultrafast molecular dynamics probed by synchrotron radiation
The geometries and dynamics of small gas molecules may be studied by Coulomb explosion imaging (CEI), providing a means of directly probing the atomic structure and dynamics of smaller molecules in the gas phase, a regime where no method is viable. CEI is usually performed using ultrashort laser pulses (~10−15 s) with the goal of "blowing up" the molecule as fast as possible to minimize the disturbance to the molecule and ensure accurate imaging of the atomic structure.
As a proof of principle, we were able to use single X-ray photons from the Canadian Light Source synchrotron to study the dynamics of dissociative ionization in the OCS molecule using CEI. The use of single X-ray photons led to faster ionization and "blow up" compared to short laser pulses, showing promise for greater temporal precision in CEI experiments. It also allowed us to identify a surprisingly rich set of ultrafast molecular dynamics for the first time (Ramadhan et al., 2016).
Easy end-cap control in polyyne synthesis using ultrafast lasers
The traditional synthesis method for polyynes, an allotrope of carbon with chemical structure (−C≡C−)n, is a challenging and dangerous multistep procedure that provides little control over the their end-caps. Yet polyynes are of great interest in interstellar chemistry and especially in nanotechnology as potential elements for molecular machines and carbon cluster precursors. Their end-caps may endow them with extra functionality and so a safe and controllable synthesis procedure is highly desirable.
By irradiating different liquid solvents with short laser pulses, we are able to easily synthesize long-chain polyynes and demonstrate end-cap control for methyl caps. Using high-performance liquid chromatography (HPLC), we have confirmed the synthesis of polyynes up to C18H2 and methyl-capped polyynes up to HC14CH3. This opens the possibility for controlling the synthesis of other polyyne molecules and their efficient mass production (Ramadhan et al., 2016).
Synthesis of graphene oxide gels and thin films with tunable properties
Graphene has attracted an enormous amount of attention over the past decade owing to its peculiar properties and vast applicability. However, large-scale single layers of pristine graphene are difficult to obtain and thus much research has focused on graphene oxide gels which may be used to produce high-quality graphene. These gels have their own applications too, such as drug delivery and sensor engineering. To satisfy the large demand for graphene oxide gels, an efficient production method is highly desirable.
By irradiating aqueous graphene oxide with femtosecond laser pulses, we were able to convert the solution into a gel with physical and chemical properties comparable with those of a monolayer graphene sheet. We were also able to control the properties of the synthesized gel by simply tuning the laser pulse's properties allowing for the production of different gels suitable for building nano-sized graphene photodetectors and transistors (Ibhrahim et al., 2014).
Publications
-
Capturing missing physics in climate model parameterizations using neural differential equations
A. Ramadhan, J. C. Marshall, A. N. Souza, X. K. Lee, U. Piterbarg, A. Hillier, G. L. Wagner, C. Rackauckas, C. Hill, J.-M. Campin, R. Ferrari
Submitted to Journal of Advances in Modeling Earth Systems (2023). ESSOAr pdf -
Divergent behavior of hydrothermal plumes in fresh versus salty icy ocean worlds
S. Bire, T. Mittal, W. Kang, A. Ramadhan, P. Tuckman, C. R. German, A. M. Thurnherr, J. C. Marshall
Submitted to Journal of Geophysical Research: Planets (2023). ESSOAr pdf -
TOI-1075 b: A Dense, Massive, Ultra-short-period Hot Super-Earth Straddling the Radius Gap
Z. Essack, A. Shporer, J. A. Burt, et al. (including A. Ramadhan)
The Astronomical Journal 165(2), 47 (2023). doi pdf -
Observations of Upwelling and Downwelling Around Antarctica Mediated by Sea Ice
A. Ramadhan, J. Marshall, G. Meneghello, L. Illari, K. Speer
Frontiers in Marine Science 9, 864808 (2022). doi pdf -
Exploring Ocean Circulation on Icy Moons Heated From Below
S. Bire, W. Kang, A. Ramadhan, J.-M. Campin, J. Marshall
Journal of Geophysical Research: Planets 127, e2021JE007025 (2022). doi pdf news -
On the Settling Depth of Meltwater Escaping from beneath Antarctic Ice Shelves
C. W. Arnscheidt, J. Marshall, P. Dutrieux, C. D. Rye, A. Ramadhan
Journal of Physical Oceanography 51(7), 2257–2270 (2021). doi pdf -
Near-Inertial Waves and Turbulence Driven by the Growth of Swell
G. L. Wagner, G. P. Chini, A. Ramadhan, B. Gallet, R. Ferrari
Journal of Physical Oceanography 51(5), 1337–1351 (2021). doi pdf -
Uncertainty Quantification of Ocean Parameterizations: Application to the K-Profile-Parameterization for Penetrative Convection
A. N. Souza, G. L. Wagner, A. Ramadhan, B. Allen, V. Churavy, J. Schloss, J. Campin, C. Hill, A. Edelman, J. Marshall, G. Flierl, R. Ferrari
Journal of Advances in Modeling Earth Systems 12, e2020MS002108 (2020). doi pdf -
Oceananigans.jl: Fast and friendly geophysical fluid dynamics on GPUs
A. Ramadhan, G. L. Wagner, C. Hill, J.-M. Campin, V. Churavy, T. Besard, A. Souza, A. Edelman, R. Ferrari, J. Marshall
Journal of Open Source Software 5(53) 2018 (2020). doi pdf -
Universal Differential Equations for Scientific Machine Learning
C. Rackauckas, Y. Ma, J. Martensen, C. Warner, K. Zubov, R. Supekar, D. Skinner, A. Ramadhan, A. Edelman
arXiv:2001.04385v4 [cs.LG] (2020). arXiv pdf -
Molecular movies and geometry reconstruction using Coulomb explosion imaging
A. Ramadhan
Master's thesis, University of Waterloo (2017). uri pdf -
X-Ray Dosimetry During Low-Intensity Femtosecond Laser Ablation of Molybdenum in Ambient Conditions
M. J. Wesolowski, C. C. Scott, B. Wales, A. Ramadhan, S. Al-Tuairqi, S. N. Wanasundara, K. S. Karim, J. H. Sanderson, C. A. Wesolowski, P. S. Babyn
IEEE Transactions on Nuclear Science 64(9), 2519–2522 (2017). doi pdf -
Synthesis of hydrogen- and methyl-capped long-chain polyynes by intense ultrashort laser pulse irradiation of toluene
A. Ramadhan, M. Wesolowski, T. Wakabayashi, H. Shiromaru, T. Fujino, T. Kodama, W. Duley, J. Sanderson
Carbon 118, 680–685 (2017). doi pdf -
Ultrafast molecular dynamics of dissociative ionization in OCS probed by soft X-ray synchrotron radiation
A. Ramadhan, B. Wales, I. Gauthier, R. Karimi, M. MacDonald, L. Zuin, J. Sanderson
Journal of Physics B: Atomic, Molecular, and Optical Physics 49, 215602 (2016). doi pdf -
A Novel Femtosecond Laser-Assisted Method for the Synthesis of Reduced Graphene Oxide Gels and Thin Films with Tunable Properties
K. Ibrahim, M. Irannejad, M. Hajialamdari, A. Ramadhan, K. Musselman, J. Sanderson, M. Yavuz
Advanced Materials Interfaces 3, 1500864 (2016). doi pdf -
Ultrafast Light Interaction with Graphene Oxide Aqueous Solution
K. Ibrahim, M. Irannejad, A. Ramadhan, W. Alayak, J. Sanderson, B. Cui, A. Brzezinski, M. Yavuz
Proceedings of the 14th IEEE International Conference on Nanotechnology, 830–831 (2014). doi pdf -
Welding of Au Microwires by Femtosecond Laser Irradiation
N. Ly, M. Mayer, A. Ramadhan, and J. Sanderson
Proceedings of the 14th IEEE International Conference on Nanotechnology, 146–149 (2014). doi pdf -
Coulomb imaging of the concerted and stepwise break up processes of OCS ions in intense femtosecond laser radiation
B. Wales, É. Bisson, R. Karimi, S. Beaulieu, A. Ramadhan, M. Giguère, Z. Long, W. Liu, J. Kieffer, F. Légaré, J. Sanderson
Journal of Electron Spectroscopy and Related Phenomena 195, 332–336 (2014). doi pdf
Resources
Climate and weather
- Oceananigans.jl: Julia software for fast, friendly, flexible, ocean-flavored fluid dynamics on CPUs and GPUs.
- Fluid dynamics with Oceananigans.jl: 10-minute YouTube introduction I gave as part of MIT's Introduction to Computational Thinking course in Fall 2020.
- Mathematical diseases in climate models and how to cure them: A talk I gave at the 36th Chaos Communication Congress (CCC) in Leipzig, Germany.
- NeuralFreeConvection.jl: Capturing missing physics in climate model parameterizations using neural differential equations.
- Atmosfoolery.jl: A proof-of-concept compressible non-hydrostatic atmospheric model dynamical core built on top of Oceananigans.jl so it runs on CPUs and GPUs, with several tests/validation experiments.
- wxConch: Generate a bias-corrected prediction gathered from multiple weather models in an attempt to outperform them at short-term weather prediction for a particular station.
- Lagrangian microbes: A framework for simulating millions of interacting Lagrangian particles (or microbes!) in a turbulent ocean. You can watch the dynamics on YouTube or read a report for the details.
- Variational inference for Dirchlet process mixtures: Slides from a lecture I presented with Mikołaj Kasprzak as part of MIT's Bayesian Modeling and Inference course in Spring 2022.
- Gaussian processes for machine learning: Lecture notes written with Rahul Kasar as part of MIT's Bayesian Modeling and Inference course in Spring 2022.
- Quantifying climate feedbacks using radiative kernels: Slides summarizing the methodology proposed by Soden et al. (2008) for quantifying climate feedbacks based on "radiative kernels".
Physics
- Jaynes-Cummings Model: Slides introducing the Jaynes-Cummings model in quantum optics, with a step-by-step derivation.
- Quantum coin toss: A "practice" proposal, report, and presentation detailing how you would perform a quantum coin toss using an actual coin!
- The energy gap in nuclear matter: An article discussing the energy gap (~1 MeV) between even-even and odd nuclei with a crude but lengthy derivation of an equation to estimate the energy gap.
- Erbium doped fiber amplifiers: A short article explaining why erbium doped fiber amplifiers are used in fiber optic communications.
- Review of a paper on ultrafast optical transistors: A critical review of a paper that appeared in Optics Letters detailing the capabilities of a new ultrafast optical transistor.
- Review of a paper on nitrogen-vacancy centers in an optical cavity: A critical review of a paper that appeared in Nature Photonics reporting on the resonant enhancement of the zero-phonon emission from nitrogen-vacancy centers in a single-crystal diamond microring cavity.
Code
- Project Lovelace: Code for projectlovelace.net. A website with scientific programming problems with automatic judging of submissions.
- DocumenterCitations.jl: Add BibTeX citations and bibliographies to documentation for your Julia packages.
- Micrograd.jl: A Julia implementation of Andrej Karpathy's micrograd, a tiny automatic differentiation package built from scratch.
- Plotting location history using Python and Cartopy: Produce pretty maps of where you've been using location history data. Great for visualizing motorcycle road trips.
Misc.
- Project Lovelace on Hacker News
- Configuration file for beets: If you're also picky enough about tagging your music files to use beets.
- Moe music tagging plugins: Some music tagging plugins for Moe, a more modern and flexible alternative to beets.


| Supplier Name | Contact Person | Phone | Email Address | Actions |
|---|---|---|---|---|
| {{supplier.name}} | {{supplier.contact}} | {{supplier.phone}} | {{supplier.email}} | menu |
pageSize">
| Supplier Name | Contact Person | Phone | Email Address | Actions |
|---|---|---|---|---|
| {{supplier.name}} | {{supplier.contact}} | {{supplier.phone}} | {{supplier.email}} | menu |


I'm Sebastian, skaim here on github. I'm studying Interface Design at FH Potsdam. The following script evolved during a workshop on Typography and Automation held by fabiantheblind at FH Potsdam.
This script produces an InDesign document illustrating the single characters of the user's first name. The position of these characters (in black) within a matrix is random, as well as the surrounding characters. Direct neighbors (top, bottom, left, right) are depicted in gray. The overall composition may be viewed as a reminiscence to the classic game "Minesweeper".
This work is licensed under the Creative Commons Namensnennung-Nicht-kommerziell 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/.
Copyright (C) 2012 SKAIM<EMAIL_ADDRESS>Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.


PUL GitHub Issues
2019-12-12
#316 Notes should indicate when the original request was created.
Creator:
Shaun Ellis
Created:
2019-10-28 18:35:36
Status:
Open
Events:
assigned
by None at 2019-12-12 13:58:40.
#426 Making sure the delegate is recorded when a state change occurs
Creator:
carolyncole
Created:
2019-12-12 16:00:44
Status:
Closed
(pull request )
Events:
review_requested
by None at 2019-12-12 16:27:50.
referenced
by Axa Mei Liauw at 2019-12-12 16:31:46.
merged
by Axa Mei Liauw at 2019-12-12 16:31:46.
closed
by Axa Mei Liauw at 2019-12-12 16:31:46.
head_ref_deleted
by Axa Mei Liauw at 2019-12-12 16:31:49.
#427 WIP - Admin report
Creator:
Axa Mei Liauw
Created:
2019-12-12 16:59:42
Status:
Open
(pull request )
Events:
head_ref_force_pushed
by None at 2019-12-12 20:02:04.
head_ref_force_pushed
by None at 2019-12-12 20:35:00.
#436 show toggle for metadata display boxes isn't working
Creator:
hackmastera
Created:
2019-12-11 14:15:04
Status:
Open
Comments:
Events:
referenced
by Cliff Wulfman at 2019-12-12 17:53:24.
#437 Fixes #436
Creator:
Cliff Wulfman
Created:
2019-12-12 17:54:21
Status:
Open
(pull request )
#21 Updates
Creator:
Kevin Reiss
Created:
2019-12-11 22:19:54
Status:
Closed
(pull request )
Events:
referenced
by Kevin Reiss at 2019-12-11 22:20:02.
merged
by Kevin Reiss at 2019-12-11 22:20:02.
closed
by Kevin Reiss at 2019-12-11 22:20:02.
head_ref_deleted
by Kevin Reiss at 2019-12-11 22:20:08.
#22 Bump ffi from 1.8.1 to 1.11.3 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:20:32
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:20:33.
#23 Bump yajl-ruby from 1.2.1 to 1.3.1 in /sites/all/themes/omega/omega
Creator:
dependabot[bot]
Created:
2019-12-11 22:20:32
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:20:33.
#24 Bump yajl-ruby from 1.1.0 to 1.3.1 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:20:32
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:20:33.
#150 Bug Searching DPUL for "Antioch"
Creator:
Nikitas Tampakis
Created:
2019-12-11 20:33:26
Status:
Open
Comments:
#79 Bump yajl-ruby from 1.2.1 to 1.3.1 in /sites/all/themes/omega/omega
Creator:
dependabot[bot]
Created:
2019-12-11 22:08:59
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:09:00.
#80 Bump ffi from 1.8.1 to 1.11.3 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:08:59
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:09:01.
#81 Bump yajl-ruby from 1.1.0 to 1.3.1 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:09:00
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:09:03.
#286 Adds basic checkbox option to dataTable
Creator:
Shaun Ellis
Created:
2019-12-11 22:50:14
Status:
Closed
(pull request )
Events:
mentioned
by Axa Mei Liauw at 2019-12-11 22:50:14.
subscribed
by Axa Mei Liauw at 2019-12-11 22:50:14.
head_ref_force_pushed
by Axa Mei Liauw at 2019-12-12 15:43:40.
renamed
by Axa Mei Liauw at 2019-12-12 15:44:41.
referenced
by None at 2019-12-12 15:47:29.
merged
by None at 2019-12-12 15:47:29.
closed
by None at 2019-12-12 15:47:29.
head_ref_deleted
by None at 2019-12-12 15:47:34.
#287 yarn release not working
Creator:
Axa Mei Liauw
Created:
2019-12-12 16:54:50
Status:
Open
#579 Add additional $2 vocab code for si ku subject
Creator:
Nikitas Tampakis
Created:
2019-12-12 19:58:39
Status:
Open
#1912 Update account login page text
Creator:
Nikitas Tampakis
Created:
2019-12-11 21:34:32
Status:
Closed
(pull request )
Events:
referenced
by Christina Chortaria at 2019-12-12 15:29:59.
merged
by Christina Chortaria at 2019-12-12 15:29:59.
closed
by Christina Chortaria at 2019-12-12 15:29:59.
#1913 Dissertations not discoverable
Creator:
Esmé Cowles
Created:
2019-12-12 22:10:00
Status:
Open
Events:
labeled
by Esmé Cowles at 2019-12-12 22:10:00.
#659 Duplicate results in default sort
Creator:
hackmastera
Created:
2019-11-19 16:02:14
Status:
Open
Comments:
#1082 source our lpass environment variables
Creator:
Francis Kayiwa
Created:
2019-12-09 14:29:39
Status:
Closed
(pull request )
Events:
referenced
by Francis Kayiwa at 2019-12-12 12:49:46.
merged
by Francis Kayiwa at 2019-12-12 12:49:46.
closed
by Francis Kayiwa at 2019-12-12 12:49:46.
#1111 turning on proxy_ssl_server_name for proxy pass rules
Creator:
carolyncole
Created:
2019-12-11 23:11:37
Status:
Closed
(pull request )
Events:
review_requested
by None at 2019-12-11 23:11:37.
referenced
by Francis Kayiwa at 2019-12-12 12:56:42.
merged
by Francis Kayiwa at 2019-12-12 12:56:42.
closed
by Francis Kayiwa at 2019-12-12 12:56:42.
#1112 Making a PR to test actions
Creator:
carolyncole
Created:
2019-12-12 13:29:11
Status:
Closed
(pull request )
Comments:
Events:
closed
by None at 2019-12-12 13:33:45.
#1078 Adding production playbook
Creator:
carolyncole
Created:
2019-12-05 18:50:55
Status:
Open
(pull request )
Comments:
#1113 Issue 1109 elixir role
Creator:
Francis Kayiwa
Created:
2019-12-12 13:40:23
Status:
Closed
(pull request )
Comments:
Events:
review_requested
by Francis Kayiwa at 2019-12-12 13:40:24.
review_requested
by Francis Kayiwa at 2019-12-12 13:40:24.
referenced
by Trey Pendragon at 2019-12-12 16:42:14.
merged
by Trey Pendragon at 2019-12-12 16:42:14.
closed
by Trey Pendragon at 2019-12-12 16:42:14.
head_ref_deleted
by Trey Pendragon at 2019-12-12 16:42:17.
#1090 Remove a bunch of default figgy variables
Creator:
hackmastera
Created:
2019-12-09 19:27:41
Status:
Closed
(pull request )
Events:
referenced
by Trey Pendragon at 2019-12-12 16:42:43.
merged
by Trey Pendragon at 2019-12-12 16:42:43.
closed
by Trey Pendragon at 2019-12-12 16:42:43.
#1088 clean up figgy default vars
Creator:
hackmastera
Created:
2019-12-09 18:33:20
Status:
Closed
Events:
closed
by Trey Pendragon at 2019-12-12 16:42:43.
#1109 elixir role
Creator:
Francis Kayiwa
Created:
2019-12-11 18:40:06
Status:
Closed
Events:
closed
by Francis Kayiwa at 2019-12-12 18:49:01.
#1114 Port 4000 for lib-elixir-test1
Creator:
Trey Pendragon
Created:
2019-12-12 16:52:36
Status:
Closed
(pull request )
Events:
referenced
by Francis Kayiwa at 2019-12-12 19:16:28.
merged
by Francis Kayiwa at 2019-12-12 19:16:28.
closed
by Francis Kayiwa at 2019-12-12 19:16:28.
#1116 get the server name to match the cert
Creator:
Francis Kayiwa
Created:
2019-12-12 19:15:20
Status:
Closed
(pull request )
Events:
review_requested
by Francis Kayiwa at 2019-12-12 19:15:20.
head_ref_force_pushed
by Francis Kayiwa at 2019-12-12 19:21:03.
referenced
by Christina Chortaria at 2019-12-12 19:38:34.
merged
by Christina Chortaria at 2019-12-12 19:38:34.
closed
by Christina Chortaria at 2019-12-12 19:38:34.
#1115 wrong SSL certs for lib-elixir-test
Creator:
Francis Kayiwa
Created:
2019-12-12 18:49:19
Status:
Closed
Events:
referenced
by Francis Kayiwa at 2019-12-12 19:14:38.
referenced
by Francis Kayiwa at 2019-12-12 19:21:03.
closed
by Francis Kayiwa at 2019-12-12 19:45:42.
#1117 fix pythonic linting errors
Creator:
Francis Kayiwa
Created:
2019-12-12 19:55:50
Status:
Open
(pull request )
Comments:
Events:
review_requested
by Francis Kayiwa at 2019-12-12 19:55:50.
#1094 remove ppa repository for xenial
Creator:
Francis Kayiwa
Created:
2019-12-09 21:20:35
Status:
Closed
(pull request )
Events:
head_ref_force_pushed
by Eliot Jordan at 2019-12-12 20:10:57.
referenced
by Francis Kayiwa at 2019-12-12 20:52:44.
merged
by Francis Kayiwa at 2019-12-12 20:52:44.
closed
by Francis Kayiwa at 2019-12-12 20:52:44.
head_ref_deleted
by Francis Kayiwa at 2019-12-12 20:52:48.
#823 [WIP] Replace thumbnail services with geoblacklight_sidecar_images gem
Creator:
Eliot Jordan
Created:
2019-12-12 02:38:40
Status:
Open
(pull request )
Comments:
Events:
head_ref_force_pushed
by Eliot Jordan at 2019-12-12 02:41:02.
#18 Bump ffi from 1.9.6 to 1.11.3 in /sites/all/themes/omega/omega
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:51
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:53.
labeled
by None at 2019-12-11 22:05:53.
#21 Bump ffi from 1.8.1 to 1.11.3 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:54
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:55.
labeled
by None at 2019-12-11 22:05:55.
#20 Bump yajl-ruby from 1.1.0 to 1.3.1 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:54
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:55.
labeled
by None at 2019-12-11 22:05:55.
#19 Bump yajl-ruby from 1.2.1 to 1.3.1 in /sites/all/themes/omega/omega
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:53
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:55.
labeled
by None at 2019-12-11 22:05:55.
#22 Bump bower from 1.3.12 to 1.8.8 in /sites/all/themes/bootstrap
Creator:
dependabot[bot]
Created:
2019-12-11 22:06:02
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:06:03.
labeled
by None at 2019-12-11 22:06:04.
#70 Bump ffi from 1.9.3 to 1.11.3 in /sites/all/libraries/fontawesome
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:28
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:29.
#71 Bump ffi from 1.9.6 to 1.11.3 in /sites/all/themes/omega/omega
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:28
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:29.
#69 Bump yajl-ruby from 1.2.1 to 1.3.1 in /sites/all/themes/omega/omega
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:28
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:29.
#72 Bump yajl-ruby from 1.2.1 to 1.3.1 in /sites/all/themes/pul_versailles
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:28
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:29.
#76 Bump yajl-ruby from 1.2.1 to 1.3.1 in /sites/all/themes/pul_base
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:29
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:30.
#74 Bump yajl-ruby from 1.1.0 to 1.3.1 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:29
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:30.
#75 Bump ffi from 1.8.1 to 1.11.3 in /sites/all/themes/omega/ohm
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:29
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:30.
#73 Bump ffi from 1.9.6 to 1.11.3 in /sites/all/themes/pul_versailles
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:28
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:30.
#77 Bump ffi from 1.9.3 to 1.11.3 in /sites/all/themes/pul_base
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:30
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:31.
#78 Bump jekyll from 1.5.1 to 3.6.3 in /sites/all/libraries/fontawesome
Creator:
dependabot[bot]
Created:
2019-12-11 22:05:31
Status:
Open
(pull request )
Events:
labeled
by None at 2019-12-11 22:05:33.


Welcome to FitHiChIP!
Developers: Sourya Bhattacharyya, Ferhat Ay
Institution: Division of Vaccine Discovery, La Jolla Institute for Immunology, La Jolla, CA 92037, USA
Utilities of FitHiChIP at a glance
- FitHiChIP derives the statistically significant CIS interactions from a given HiChIP / PLAC-seq, and now for Hi-C data as well.
CIS Interactions within a specified distance range (default = 20 Kb to 2 Mb: can be user defined) and for a specified fixed size bin size, are computed.
Distance decay model proposed in the method FitHiC (Ay and Noble, Genome Research 2014) together with a novel bias (coverage / ICE) regression model is used to find the statistical significant interactions.
- Processing HiChIP / PLAC-seq requires specifying ChIP-seq peaks corresponding to the target protein or histone modifications of interest.
Either user can provide ChIP-seq peak files from ENCODE, ROADMAP, or any other reference.
Alternatively, FitHiChIP supports calling peaks from HiChIP data, which can be used to find out the interactions involving peaks (enriched) segments.
FitHiChIP also supports finding differential HiChIP contacts between two different categories of HiChIP data, having one or more replicates.
FitHiChIP also proposes a basic implementation of simulating HiChIP contact map given a reference HiC contact map and a ChIP-seq alignment file, with respect to specified number of reads. (Note: this implementation is still in basic stage; output HiChIP heatmap shows explicit bias towards low range contacts.)
Repository
FitHiChIP is hosted in https://github.com/ay-lab/FitHiChIP
Execution
Details of execution commands and parameters are provided in the below mentioned links:
- Installation
- Quick start
- Setting up configuration file
- Details of FitHiChIP outputs
- Differential analysis of HiChIP loops
- Various utility scripts / functions
- 1. generating contact matrices of different resolution (bin size)
- 2. inferring peaks from HiChIP data (for use in the HiChIP pipeline)
- 3. merging a set of ChIP-seq alignment files
- 4. Producing FitHiChIP loops with different FDR thresholds
- 5. Applying merge filtering on any set of significant loops (generated by FitHiChIP or any other loop calling method)
- 6. Visualization of the significant loops in WashU epigenome browser
- 7. Simulating HiChIP contact matrix from HiC and ChIP-seq data
- 8. Applying FitHiChIP on capture HiC data
- Frequently asked question
- How do I cite FitHiChIP?
- I do not know anything about HiChIP. What should I do?
- How to install HiC-pro in the system?
- How to visualize the FitHiChIP loops in genome browser?
- What type of input data formats are supported in FitHiChIP?
- What type of HiChIP interactions are supported in FitHiChIP?
- Does FitHiChIP support processing HiC data?
- I want to process HiChIP data, but cannot find any reference ChIP-seq file. What should I do?
- Does FitHiChIP support processing Capture-HiC data?
Citation
FitHiChIP is now published at Nature Communications (<https://www.nature.com/articles/s41467-019-11950-y>)
If you are using FitHiChIP, please cite:
Sourya Bhattacharyya, Vivek Chandra, Pandurangan Vijayanand, and Ferhat Ay, Identification of significant chromatin contacts from HiChIP data by FitHiChIP, Nature Communications, Vol 10, No 4221, 2019, DOI: <https://doi.org/10.1038/s41467-019-11950-y>
Support
For any queries or problems, user can report an issue in GitHub (<https://github.com/ay-lab/FitHiChIP>). Alternatively, user can mail us in:
Sourya Bhattacharyya<EMAIL_ADDRESS>Ferhat Ay <ferhatay@lji.org>


Field Overview
Most of the fields that can be used in a w2form can also be used stand-alone.
To create a w2field use $('#myField').w2field( type, options );
where type is a string and options is an optional object.
The properties of options vary based on the type.
Example
Below is a simple example how to use fields. It shows the minimum HTML and JavaScript you need to have a simple w2field.
Valid types
- text
- int
- float
- money
- currency
- percent
- alphanumeric
- bin
- hex
- color
- date
- time
- datetime
- list
- combo
- enum
- file
Custom Types
If built-in types are not enough for you, there is a way you can create custom types.
After you defined this type, you can apply it in the following way:


Login With User Name
Login With Face Recognition
Please remember to verify your email address for AWS Simple Email Service (SES) to be able to receive OTP emails
Login With User Name
User name
Login
Please Enter OTP Code
Continue
Login With Face Recognition
Log out
Add User
List Users
Add User
User Name
Name
Email
Picture
Save User
Users
Manage Patients
Picture of founded patient


The currently selected radio button. If set to a new radio button, the radio group value will be updated to match the new selected button.
value: any
Value for the radio-group. Should equal the value of the selected radio button if there is a corresponding radio button with a matching value. If there is not such a corresponding radio button, this value persists to be applied in case a new radio button is added with a matching value.
Event
Description
change(source: MdcRadio, value: any)
Event emitted when the group value changes. Change events are only emitted when the value changes due to user interaction with a radio button.
Selector:mdc-radio
Properties
Description
id: string
Unique Id of the radio button (auto generated if not supplied).
name: string
Name of the radio button.
value: any
Value of the radio button.
ariaLabel: string
Used to set the 'aria-label' attribute on the underlying input element.
ariaLabelledby: string
The 'aria-labelledby' attribute takes precedence as the element's text alternative.
checked: boolean
Use to verify the checked value.
disabled: boolean
Disables the component.
required: boolean
Whether the radio button is required.
Methods
Description
focus()
Set focus to the radio button.
Event
Description
change(source: MdcRadio, value: any)
Event emitted when the group value changes. Change events are only emitted when the value changes due to user interaction with a radio button.
Sass Mixins
To customize the colors of any part of the radio button, use the following mixins.


pragma solidity ^0.4.24;
import "zos-lib/contracts/Initializable.sol";
import "openzeppelin-eth/contracts/token/ERC20/ERC20Detailed.sol";
import "./PropsSidechainCompatible.sol";
import "./PropsTimeBasedTransfers.sol";
import "./ERC865Token.sol";
/**
* @title PROPSToken
* @dev PROPS token contract (based of ZEPToken by openzeppelin), a detailed ERC20 token
* https://github.com/zeppelinos/zos-vouching/blob/master/contracts/ZEPToken.sol
* PROPS are divisible by 1e18 base
* units referred to as 'AttoPROPS'.
*
* PROPS are displayed using 18 decimal places of precision.
*
* 1 PROPS is equivalent to:
* 1 * 1e18 == 1e18 == One Quintillion AttoPROPS
*
* 600 Million PROPS (total supply) is equivalent to:
* 600000000 * 1e18 == 6e26 AttoPROPS
*
*/
contract PropsToken is Initializable, ERC20Detailed, PropsSidechainCompatible, ERC865Token, PropsTimeBasedTransfers {
/**
* @dev Initializer function. Called only once when a proxy for the contract is created.
* @param _holder Address that will receive it's initial supply and be able to transfer before transfers start time
* @param _transfersStartTime Unix Timestamp from which transfers are allowed
*/
function initialize(
address _holder,
uint _transfersStartTime
)
initializer
public
{
uint8 decimals = 18;
// total supply is 600,000,000 PROPS specified in AttoPROPS
uint256 totalSupply = 0.6 * 1e9 * (10 ** uint256(decimals));
ERC20Detailed.initialize("PROPS_Token", "PROPS_TOKEN", decimals);
PropsTimeBasedTransfers.initialize(_transfersStartTime, _holder);
_mint(_holder, totalSupply);
}
} |


--- title: loadTensor_generic sidebar: function_reference_sidebar permalink: loadTensor_generic.html folder: function_reference toc: false ---
load a Tensor from a file
loadEBSD_generic is a generic function that reads any ascii file containing a matrix like
e_11 e_12 ... e_1j . . ... . . . . . e_i1 . ... e_ij
describing the a Tensor
| fname | file name (text files only) |
| name | name of the tensor |


The purpose of this package is to be a minimal and faithful interface to the Python Altair API. At this point, this R package provides:
In the short term I’d like to focus on a small number of items:
install_altair()
which could manage the installation of the Python Altair components. Here, I think there are lessons to be learned from the keras package, and its install_keras()
function. As well, the V2 release of Altair will be made on conda soon (as of 2018-04-01), which may make things easier.The longer term will require more thought and consultation. As a start, it might be interesting to construct some R functions along the lines of:
I think this approach would support piping, but at the cost of risking namespace collisions, as detailed in this discussion on ideas for porting the g2 visualization library.
Another thing to consider is how much effort it would take to provide full coverage of the Python API.
I think it is useful to outline what this package is not. In this package, I do not want to introduce any new ideas or opinions - rather I think this package should remain a faithful translation of the Altair API. The authors of Altair should see this package and recognize only their opinions and intentions.
That being said, I think there is an opportunity to build another package (perhaps built on this one) that introduces opinions and tries to be a bit more ggplot2-like. Perhaps this package could include a ggplot2-translator function along the lines of plotly::ggplotly()
.


This Website has the aim of rising awareness about child abuse. If you say something, say something!
The future prosperity of any community depends on its ability to foster the health and well-being of the next generation. When a community invests wisely in children and families, the next generation will pay that back through a lifetime of productivity and social responsibility. All children deserve an equal opportunity to experience healthy growth and development. When child abuse and neglect interferes with that opportunity, we put our future at risk.
Child welfare professionals are working at full capacity to protect our nation’s children. But, it is clear that the problem is too great and too important to be delegated entirely to these valiant workers. American Humane Association believes that everyone should become more aware of and involved in helping protect children and support families to prevent abuse and neglectbefore it occurs.
Our prevention initiative is called the Front Porch Project®. It is a national, research-supported, community-based initiative built upon the belief that all people who are concerned about the safety and well-being of children in their communities need to be encouraged and taught to make a difference. Learn more about the Front Porch Project and how to bring it to your community.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.
Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.
Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.
Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.
Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.


Sign In
Email
Password
Remember Password
Forgot password?
Or sign in with
Google
Facebook
Don't have an account?
Sign Up


The arts and whores Cradle Will Rock
A film review by Michael Redman Copyright 2000 by Michael Redman
**** (out of ****)
Whose whore are you? How far are you willing to prostitute yourself in exchange for comfort?
In one way or another, we all pay for it. "It" in this case being social and economic security. We work boring dead-end jobs so we can pay the rent. We attend meaningless vacuous classes so we can get our degrees. Worst of all, sometimes we compromise our values for financial gain.
In the desperate times of depression-era America, many people were forced into prostitution of one type or another. With starvation just around the next corner, we'd be surprised just what we'd be willing to do for a meal.
Out of work actors were standing in long lines to sign up for the federal WPA theater projects. Most of the WPA workers were out building dams, ponds and sidewalks, but thousands were putting on plays to entertain the masses.
"Cradle Will Rock" follows several plot lines that intersect at various points. Orson Welles (Angus MacFadyen) and John Houseman (Cary Elwes) are producing a pro-union musical by Marc Blitzstein (Hank Azaria). Nelson Rockefeller (John Cusack) hires radical artist Diego Rivera (Ruben Blades) to paint a mural at the Rockefeller Center. Congress is investigating Communists within the theater project. Industrialists are throwing parties and being wooed by the fascists. People are falling in love and babies, being born.
Amazingly the numerous tales flow seamlessly into one another. As the camera zooms in on a piece of background and then pulls back out, you are in a different place with different characters, but there's never a moment of confusion about what is going on.
When the opening credits roll with name after name of renowned actors, you will wonder how they can all fit into one film. Vanessa Redgrave, Joan Cusack, Bill Murray, Susan Sarandon, John Turturro, Emily Watson: the list goes on and on. And they're all great -- not a weak link in the bunch.
The underlying question of the film is the wisdom of public and corporate funding of the arts. It's one big party at the beginning as everyone focuses on their work. Then the modern Golden Rule ("He who has the gold makes the rules") raises its ugly head. Rockefeller wants Rivera to eliminate Lenin from his painting. Congress cuts financing to the pinko plays. Mussolini's beautiful mistress trades old master paintings to the Philistines for contributions to the war effort. Even the actors union, formed to protect its members, gets in the way.
Yet it's all a joy to watch. There are heroes and villains, lovers and enemies, disasters and triumphs. All against the frantic backdrop of prima donas vying for position. It's like a Robert Altman film done by the Coen brothers.
Director and writer Tim Robbins is rapidly becoming a major force in Hollywood. With this, "Bob Roberts" and "Dead Man Walking" to his directoral credit, and a number of wonderful acting roles, he's one to watch.
His brushstrokes are brilliant but a little broad here. The sets are magnificent, the costumes authentic and the color schemes, inviting. But some of the characters are charactures. Perhaps that's inevitable. With so many things going on, the audience needs some shortcuts.
Some of the scenes are grand. The long single-shot opener follows doe-eyed street singer Olive Stanton (Watson) from sleeping behind a movie screen, down an alley out to the street where she washes up from a dripping hydrant oblivious to pedestrians. Like a deer in the urban forest, she's poor but free. The camera then moves up to Blitzstein's apartment. Over five minutes of unedited uncut luxurious filming, it's a pleasure.
The questions the film asks don't belong only in the past. Federal arts funding are currently under attack. Maplethorpe may not have been a Commie but he sure was pink. Workers are being thrown out of jobs, sweatshop conditions abound in other countries, unions are loosing power.
Welcome to the brave new world, same as the old one.
(Michael Redman has been writing this column for a long time, but his memories of the thirties are a little foggy. He's considering taking up selling apples on the street corner as a new career. Email your tales of prostitution to<EMAIL_ADDRESS>[This appeared in the 1/27/2000 "Bloomington Independent", Bloomington, Indiana. Michael Redman can be contacted at<EMAIL_ADDRESS>--<EMAIL_ADDRESS>Film reviews archive: http://us.imdb.com/ReviewsBy?Michael+Redman
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


ID: 2014-2-60-039
BSc. in Computer Science and Enginnering
EAST WEST UNIVERSITY
Email<EMAIL_ADDRESS>ID: 2015-1-60-044
BSc. in Computer Science and Enginnering
EAST WEST UNIVERSITY
Email<EMAIL_ADDRESS>ID: 2015-1-60-013
BSc. in Computer Science and Enginnering
EAST WEST UNIVERSITY
Email:


This webUI is good for looking at the current state and configuration.
Making changes via the webUI is experimental
Validation
| Carbon | Metrics 2.0 | Validate order |
|---|---|---|
| {{config.Validation_level_legacy}} | {{config.Validation_level_m20}} | {{config.Validate_order}} |


This Morning's Phillip Schofield fears he and Holly will be 'replaced in a few years'
Is their time nearly up?
by Richard BellPresenter Phillip Schofield has revealed his fears that he and Holly Willoughby are set to be replaced on This Morning.
As the pair introduced the segments on today's (21.11.19) episode, Holly explained that they had a robot in the studio capable of drawing pictures and learning from its interactions.
Holly said: "She's one of the most sophisticated robots ever created. Sophia will be answering our questions later, but in the meantime she's keeping herself busy. What are you drawing there, Sophia?"
Read more: John Barrowman addresses fans' concerns about his drastic appearance change
As the camera cut to the robot doing a sketch, it replied: "It's a surprise. You'll have to wait and see."
Looking concerned, Phil told Holly: "It's the beginning of the end. There'll be two of those presenting this in a few years' time."
Later in the programme, the co-hosts got to meet Sophia face to face as she joined them on the couch alongside her creator, David Hanson.
Holly said: "I can't keep my eyes of her. It's just the most extraordinary thing. She's so realistic!"
Her creator explained: "Sophia is a robot that looks human as a platform for investigating embodied cognition, so she serves a lot of AI research and also some applications development where she can help people through therapy.
"She's also an artistic expression. I have a background as an artist and I sculpted her face and also, we developed her personality. So we depict a human - she's one part science, in other words, and one part fiction. She's science fiction."
But Phil went on to express his fears, telling David: "But the thing is, there are some scientists who are deeply, deeply concerned about where we're going with this.
Read more: This Morning viewers beg chef Gino D'Acampo to ditch the bandana
"Because, maybe it just takes one new invention, one tiny thing that you guys haven't seen... and suddenly deep within that brain, she does begin to think."
In a tone far removed from the lighter moments that see Holly and Phil descending into fits of the giggles, he added: "There is a potential sinister side to this."
Do you think Phil and Holly will be replaced by robots? Leave us a comment on our Facebook page @EntertainmentDailyFix and let us know.


TheDrunkenGuru
Insights into the mind of a beer snob.
Your search:
{{search}}
returned results
{% for result in results %}
{{result.decode('utf-8')}}
{% endfor %}
New Search


Fits a structural equation multidimensional scaling (SEMDS) model for asymmetric and three-way input dissimilarities. It assumes that the dissimilarities are measured with errors. The latent dissimilarities are estimated as factor scores within an SEM framework while the objects are represented in a low-dimensional space as in MDS.
| Version: | 0.9-6 |
| Depends: | R (≥ 3.0.0) |
| Imports: | graphics, stats, pracma, minpack.lm |
| Suggests: | MASS |
| Published: | 2018-12-03 |
| Author: | Patrick Mair [aut, cre], Jose Fernando Vera [aut] |
| Maintainer: | Patrick Mair <mair at fas.harvard.edu> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | yes |
| In views: | Psychometrics |
| CRAN checks: | semds results |
| Reference manual: | semds.pdf |
| Package source: | semds_0.9-6.tar.gz |
| Windows binaries: | r-devel: semds_0.9-6.zip, r-release: semds_0.9-6.zip, r-oldrel: semds_0.9-6.zip |
| OS X binaries: | r-release: semds_0.9-6.tgz, r-oldrel: semds_0.9-6.tgz |
| Old sources: | semds archive |
Please use the canonical form https://CRAN.R-project.org/package=semds to link to this page.


BK7 optical glass
BK7 is a very popular crown glass. Most glass makers produce this glass under slightly different names.
Analogs of BK7 glass produced by different makers
| Maker |
Glass |
| SCHOTT |
N-BK7 |
| OHARA |
S-BSL7 |
| HIKARI |
J-BK7A |
| CDGM |
H-K9L |
| HOYA |
BSC7 |
| SUMITA |
K-BK7 |
| LZOS |
K8 |
External links


{% extends "fa_admin/base.html" %} {% block page-subtitle %}{{block.super}} : Prepared EAD for {{ filename }}{% endblock %} {% block content-title %}Prepared EAD for {{ filename }}{% endblock %} {% block content-body %} {% if errors %}
There was an error preparing the file: either the prep step failed, or the prepared document did not pass publication checks.
View file differences line by line.
{{ c }}
{% endfor %}Accept these changes and commit the prepared version of {{ filename }}
to the subversion repository for {{ archive.name }}.
There was an error preparing the file you selected. This means that either the original file contains invalid XML, or there was an error generating the ARK for this document. In the case of invalid XML, please check the file in an XML editor and try again. If the error message indicates a connection error or an error generating an ARK, please report it.
{% endif %} {% endblock %}


LINK
Section: Linux Programmer's Manual (2)Updated: 2008-08-21
Index Return to Main Contents
NAME
link - make a new name for a fileSYNOPSIS
#include <unistd.h>int link(const char *oldpath, const char *newpath);
DESCRIPTION
link() creates a new link (also known as a hard link) to an existing file.If newpath exists it will not be overwritten.
This new name may be used exactly as the old one for any operation; both names refer to the same file (and so have the same permissions and ownership) and it is impossible to tell which name was the "original".
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.ERRORS
- EACCES
- Write access to the directory containing newpath is denied, or search permission is denied for one of the directories in the path prefix of oldpath or newpath. (See also path_resolution(7).)
- EEXIST
- newpath already exists.
- EFAULT
- oldpath or newpath points outside your accessible address space.
- EIO
- An I/O error occurred.
- ELOOP
- Too many symbolic links were encountered in resolving oldpath or newpath.
- EMLINK
- The file referred to by oldpath already has the maximum number of links to it.
- ENAMETOOLONG
- oldpath or newpath was too long.
- ENOENT
- A directory component in oldpath or newpath does not exist or is a dangling symbolic link.
- ENOMEM
- Insufficient kernel memory was available.
- ENOSPC
- The device containing the file has no room for the new directory entry.
- ENOTDIR
- A component used as a directory in oldpath or newpath is not, in fact, a directory.
- EPERM
- oldpath is a directory.
- EPERM
- The file system containing oldpath and newpath does not support the creation of hard links.
- EROFS
- The file is on a read-only file system.
- EXDEV
- oldpath and newpath are not on the same mounted file system. (Linux permits a file system to be mounted at multiple points, but link() does not work across different mount points, even if the same file system is mounted on both.)
CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES).NOTES
Hard links, as created by link(), cannot span file systems. Use symlink(2) if this is required.POSIX.1-2001 says that link() should dereference oldpath if it is a symbolic link. However, since kernel 2.0, Linux does not do so: if oldpath is a symbolic link, then newpath is created as a (hard) link to the same symbolic link file (i.e., newpath becomes a symbolic link to the same file that oldpath refers to). Some other implementations behave in the same manner as Linux. POSIX.1-2008 changes the specification of link(), making it implementation-dependent whether or not oldpath is dereferenced if it is a symbolic link. For precise control over the treatment of symbolic links when creating a link, see linkat(2).
BUGS
On NFS file systems, the return code may be wrong in case the NFS server performs the link creation and dies before it can say so. Use stat(2) to find out if the link got created.SEE ALSO
ln(1), linkat(2), open(2), rename(2), stat(2), symlink(2), unlink(2), path_resolution(7), symlink(7)COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
Index
This document was created by man2html, using the manual pages.
Time: 05:33:04 GMT, December 24, 2015


All our plans come with world class support and you can upgrade any time. Irrespective the size of your team you can choose the plan that’s most suitable for your organization. All plans come with a trial. We will also be updating each plan with more features suiting different set of customers needs.
Vibrant Entrepreneur
Ensure smart collaboration and achieve faster growth in your business


Public Member Functions | |
| Note () | |
| constructor | |
| Note (const Note &obj) | |
| copy constructor (donot use) | |
| virtual | ~Note () |
| destructor | |
| void | setDuration (size_t d) |
| set duration | |
| size_t | getDuration () const |
| get duration | |
| void | setPitch (const Pitch &p) |
| set pitch | |
| const Pitch & | getPitch () const |
| get pitch | |
| void | setRest (bool f) |
| set rest | |
| bool | isRest () const |
| is rest or not | |
| void | setLyric (const std::string &s) |
| set lyric | |
| const std::string & | getLyric () const |
| get lyric | |
| void | setSyllabic (const Syllabic &s) |
| set syllabic | |
| const Syllabic & | getSyllabic () const |
| get syllabic | |
| void | setBreathMark (bool f) |
| set breath mark | |
| bool | hasBreathMark () const |
| has breath mark or not | |
| void | setAccent (bool f) |
| set accent | |
| bool | hasAccent () const |
| has accent or not | |
| void | setStaccato (bool f) |
| set staccato | |
| bool | hasStaccato () const |
| has staccato or not | |
| void | setTieStart (bool f) |
| set tie start | |
| bool | isTieStart () const |
| is tie start or not | |
| void | setTieStop (bool f) |
| set tie stop | |
| bool | isTieStop () const |
| is tie stop or not | |
| const Slur & | getSlur () const |
| get slur | |
| Slur & | getSlur () |
| get slur | |
| void | setSlurStart (bool f) |
| set slur start | |
| bool | isSlurStart () const |
| is slur start or not | |
| void | setSlurStop (bool f) |
| set slur stop | |
| bool | isSlurStop () const |
| is slur stop or not |
| Note::Note | ( | const Note & | obj | ) |
copy constructor (donot use)
copy constructor


Specific Constructors for Open Generics
As described in the main open generic constructor injection topic, Rezolver is able to bind dynamically to the best-matched constructor for a particular closed generic when built from an open generic registration.
However, it's also possible (starting from 1.3.2) to instruct Rezolver to use a specific constructor when creating an instance from an open generic registration.
Use cases for this are, of course, pretty niche - especially if your own classes typically stick to the standard pattern of only having a single constructor (as is enforced by some IOC containers). But the reality is there will always be types which legitimately have multiple constructors (take a lot of .Net collection types, for example) which you might also want to create via constructor injection.
When you might need to use this
The most likely scenario for needing to be able to provide a specific constructor to be used when creating an instance from an open generic is to disambiguate between constructors when a generic type argument might can cause a conflict with the concrete type of an argument on one or more constructors.
For example, consider the List<T>
type, which has the following constructors:
List<T>()
List<T>(IEnumerable<T>)
List<T>(int)
Tip
List<T>
is a type that, by default, Rezolver can build automatically for you
by extending its own support for enumerables.
In fact, the scenario described here is taken specifically from how Rezolver handles the List<T>
type.
Now, if you were to explicitly register the List<T>
type for constructor injection (after disabling Rezolver's
own support for it of course), Rezolver will happily bind to the IEnumerable<T>
constructor for all types of T
except one: int
.
When you request a List<int>
, Rezolver immediately hits a problem - unless you've not got any int
registrations
(which presumably you would have if you're requesting a list of int
!) - because it sees two constructors that
could be satisfied. It doesn't know that you could only ever want the IEnumerable<T>
one - how could it? - so
instead of getting a shiny new list to play with, you get an exception.
So how do we get around it?
What we need to be able to do, of course, is to instruct Rezolver to use the IEnumerable<T>
constructor for all
T
.
Thankfully, there are a couple of ways to do that.
The RegisterGenericConstructor
overload
When registering targets into the IRootTargetContainer, you can use one of these two methods:
- RegisterGenericConstructor<TExample>(ITargetContainer, Expression<Func<TExample>>, IMemberBindingBehaviour)
- RegisterGenericConstructor<TExample, TExampleService>(ITargetContainer, Expression<Func<TExample>>, IMemberBindingBehaviour)
Both functions expect an expression in which you provide a 'model' constructor call to the generic type whose constructor you want to bind. The actual constructor arguments you pass are not important - only that the expression binds to the correct constructor.
Now, clearly, if you try to do this over the open generic, your code won't compile - e.g:
class MyGeneric<T, U> {
public MyGeneric(T t) { }
public MyGeneric(T t, U u) { }
public MyGeneric(T t, U u, string s) { }
}
// ...
targets.RegisterGenericConstructor(() => new MyGeneric<,>(null, null));
Because using the MyGeneric<>
type in this way requires the type arguments to be provided.
Instead, you stub out the type arguments with any types you want, and Rezolver will match the constructor with its definition on the open generic type:
targets.RegisterGenericConstructor(() => new MyGeneric<object, object>(null, null))
This will create a registration in the container which, for any closed MyGeneric<,>
will explicitly bind to
the two-parameter constructor, even if registrations exist which satisfy the s
parameter on the 3-parameter
version.
Example 1
Here's a tested example with a type which extends the List<T>
scenario:
public class HasAmbiguousGenericCtor<T> : IGeneric<T>
{
public const string DEFAULTMESSAGE = "Default Message";
public IEnumerable<T> Objects { get; }
public string Message { get; }
public HasAmbiguousGenericCtor(IEnumerable<T> objects)
: this(objects, DEFAULTMESSAGE)
{
}
public HasAmbiguousGenericCtor(IEnumerable<T> objects, string message)
{
Objects = objects;
Message = message;
}
}
In this case, if we want to resolve an HasAmbiguousGenericCtor<string>
, Rezolver will, by default, use the
best-match rule, meaning that the last string
we registered will be used both
as the last item in the enumerable but also as the argument for the single string
parameter.
But that's not a problem with the RegisterGenericConstructor
function:
var container = new Container();
container.RegisterObject("will");
container.RegisterObject("be");
container.RegisterObject("default");
container.RegisterObject("message");
container.RegisterGenericConstructor(() => new HasAmbiguousGenericCtor<object>(null));
var result = container.Resolve<HasAmbiguousGenericCtor<string>>();
Assert.Equal(new[] { "will", "be", "default", "message" }, result.Objects);
Assert.Equal(HasAmbiguousGenericCtor<string>.DEFAULTMESSAGE, result.Message);
Example 2 - Different 'service' type
When we register a type for constructor injection normally, we can also tell the container to create an instance of one type when another type is requested - e.g:
// construct a Foo whenever we want an IFoo
container.RegisterType<Foo, IFoo>();
// construct a Foo<T> whenever we want an IFoo<T>
container.RegisterType(typeof(Foo<>), typeof(IFoo<>));
We can do the same with the other RegisterGenericConstructor
overload which accepts two type arguments. In
this case, you'll have noticed that our HasAmbiguousGenericCtor<T>
generic also implements IGeneric<T>
- so
let's bind a specific constructor and register it to be used for a generic service type:
var container = new Container();
container.RegisterObject("will");
container.RegisterObject("be");
container.RegisterObject("default");
container.RegisterObject("message");
// it's a bit unfortunate we have to use explicit concrete generics here
container.RegisterGenericConstructor<HasAmbiguousGenericCtor<object>, IGeneric<object>>(
() => new HasAmbiguousGenericCtor<object>(null));
var result = container.Resolve<IGeneric<string>>();
var ambiguous = Assert.IsType<HasAmbiguousGenericCtor<string>>(result);
Assert.Equal(new[] { "will", "be", "default", "message" }, ambiguous.Objects);
Assert.Equal(HasAmbiguousGenericCtor<string>.DEFAULTMESSAGE, ambiguous.Message);
As the comment says, it's somewhat unfortunate that we have to use specify those generic arguments - just remember
that the RegisterGenericConstructor
method is specifically looking to bind an open generic.
Alternatives
The RegisterGenericConstructor
overload is merely a wrapper for one of the many overloads
of the ForConstructor factory method, which creates targets from a ConstructorInfo.
This overload will create a GenericConstructorTarget if the ConstructorInfo
passed belongs to
an open generic type. After creating the target, you can then register it directly into the container using the
normal Register function or one of its overloads.
The same is also true of the RegisterConstructor overload.
Be aware, though - in all cases, it's not possible to provide named constructor argument bindings, either by dictionary or as an object, because of the inherent difficulty of providing a single target for one or more arguments whose type comes from a generic type argument.


| Package | com.whirled.contrib.card.trick |
| Class | public class TrickTurnTimer |
| Inheritance | TrickTurnTimer TurnTimer flash.events.EventDispatcher |
| Property | Defined by | ||
|---|---|---|---|
| bidTime : Number Access the amount of time allowed for bidding.
| TrickTurnTimer | ||
| debug : Function Access a function to be called for outputting messages about turn timing.
| TurnTimer | ||
| leadTime : Number Access the amount of time allowed for leading a trick.
| TrickTurnTimer | ||
| playTime : Number Access the amount of time allowed for playing a card.
| TurnTimer |
| Property | Defined by | ||
|---|---|---|---|
| _amInControl : Function | TurnTimer | ||
| _bids : Bids | TrickTurnTimer | ||
| _bidTime : Number = 30 | TrickTurnTimer | ||
| _debug : Function | TurnTimer | ||
| _enabled : Boolean = true | TurnTimer | ||
| _gameCtrl : GameControl | TurnTimer | ||
| _lastTurnHolder : int = 0 | TurnTimer | ||
| _leadTime : Number = 20 | TrickTurnTimer | ||
| _playTime : Number = 10 | TurnTimer | ||
| _table : Table | TurnTimer | ||
| _timer : Timer | TurnTimer | ||
| _trick : Trick | TrickTurnTimer | ||
| turnHolder : int | TurnTimer |
| Method | Defined by | ||
|---|---|---|---|
|
TrickTurnTimer(gameCtrl:GameControl, table:Table, bids:Bids, trick:Trick, useServerAgent:Boolean = false)
Creates a new timer.
| TrickTurnTimer | ||
|
disable():void
Disable the turn timer.
| TurnTimer | ||
|
restart():void
Restart the timer for the current turnholder.
| TurnTimer |
| Method | Defined by | ||
|---|---|---|---|
|
addHistory(turnHolder:int, expired:Boolean, count:int):void
| TurnTimer | ||
|
countExpiries(seat:int):int
| TurnTimer | ||
|
getCurrentTurnTimeBase(turnHolder:int):Number
| TrickTurnTimer | ||
|
handleMessage(event:MessageReceivedEvent):void
| TurnTimer | ||
|
handleTurnChanged(event:StateChangedEvent):void
| TurnTimer | ||
|
timerListener(event:TimerEvent):void
| TurnTimer |
| _bids | property |
protected var _bids:Bids
| _bidTime | property |
protected var _bidTime:Number = 30
| bidTime | property |
bidTime:Number
[read-write]Access the amount of time allowed for bidding.
Implementation public function get bidTime():Number
public function set bidTime(value:Number):void
| _leadTime | property |
protected var _leadTime:Number = 20
| leadTime | property |
leadTime:Number
[read-write]Access the amount of time allowed for leading a trick.
Implementation public function get leadTime():Number
public function set leadTime(value:Number):void
| _trick | property |
protected var _trick:Trick
| TrickTurnTimer | () | constructor |
public function TrickTurnTimer(gameCtrl:GameControl, table:Table, bids:Bids, trick:Trick, useServerAgent:Boolean = false)
Creates a new timer. The bids and trick are used to determine the state of the game and thus how much time the turn holder should be given to make a move.
ParametersgameCtrl:GameControl |
|
table:Table |
|
bids:Bids |
|
trick:Trick |
|
useServerAgent:Boolean (default = false )
|
| getCurrentTurnTimeBase | () | method |
protected override function getCurrentTurnTimeBase(turnHolder:int):Number
Parameters
turnHolder:int |
Number |


You access the Internet via a browser on your computer (e.g., Chrome, Firefox, etc.). The Internet protocol, HTTP, manages how data is transferred from your browser to the Internet and then back to your computer. The Internet is comprised of millions of servers which communicate and send back (via HTTP) data based on what you're doing via your browser. Most of what you see on the Internet are HTML files.
HTML is the language of the Internet. The HTML language is comprised of tags and elements. Most HTML tags have both an "opening" tag and a "closing" tag. The content you want to effect with the tag should be written between the "opening" and "closing" tag(s). HTML tags that do not "close" (i.e., do not have a "closing" tag) are called void tags.
Every HTML page must begin with certain "system information". This information is read by the browser and must be stored in the HTML "header". HTML "header" information is everything above the opening body tag. Everything between the "opening" body tag and the "closing body tag is what will appear on your webpage.
Inline elements (such as the "anchor", "line break", "image", and "span" tags) are HTML tags that do not affect the area around the text. It treats the text like other text on the same line.
Block elements (such as the "paragraph", "form", and "div" tags) are HTML tags that do affect the area around the text by essentially putting an invisible box around the text, allowing you to set the specific width and/or height of the box. Block tags will push text not enclosed in the tags to another line.


RSpec::Matchers provides a number of useful matchers we use to define expectations. A matcher is any object that responds to the following:
matches?(actual) failure_message_for_should
These methods are also part of the matcher protocol, but are optional:
does_not_match?(actual) failure_message_for_should_not description
## Predicates
In addition to matchers that are defined explicitly, RSpec will create custom matchers on the fly for any arbitrary predicate, giving your specs a much more natural language feel.
A Ruby predicate is a method that ends with a “?” and returns true or false. Common examples are `empty?`, `nil?`, and `instance_of?`.
All you need to do is write `expect(..).to be_` followed by the predicate without the question mark, and RSpec will figure it out from there. For example:
expect([]).to be_empty # => [].empty?() | passes expect([]).not_to be_empty # => [].empty?() | fails
In addtion to prefixing the predicate matchers with “be_”, you can also use “be_a_” and “be_an_”, making your specs read much more naturally:
expect("a string").to be_an_instance_of(String) # =>"a string".instance_of?(String) # passes expect(3).to be_a_kind_of(Fixnum) # => 3.kind_of?(Numeric) | passes expect(3).to be_a_kind_of(Numeric) # => 3.kind_of?(Numeric) | passes expect(3).to be_an_instance_of(Fixnum) # => 3.instance_of?(Fixnum) | passes expect(3).not_to be_an_instance_of(Numeric) # => 3.instance_of?(Numeric) | fails
RSpec will also create custom matchers for predicates like `has_key?`. To use this feature, just state that the object should have_key(:key) and RSpec will call has_key?(:key) on the target. For example:
expect(:a => "A").to have_key(:a) expect(:a => "A").to have_key(:b) # fails
You can use this feature to invoke any predicate that begins with “has_”, whether it is part of the Ruby libraries (like `Hash#has_key?`) or a method you wrote on your own class.
## Custom Matchers
When you find that none of the stock matchers provide a natural feeling expectation, you can very easily write your own using RSpec’s matcher DSL or writing one from scratch.
### Matcher DSL
Imagine that you are writing a game in which players can be in various zones on a virtual board. To specify that bob should be in zone 4, you could say:
expect(bob.current_zone).to eql(Zone.new("4"))
But you might find it more expressive to say:
expect(bob).to be_in_zone("4")
and/or
expect(bob).not_to be_in_zone("3")
You can create such a matcher like so:
RSpec::Matchers.define :be_in_zone do |zone| match do |player| player.in_zone?(zone) end end
This will generate a be_in_zone
method that returns a matcher
with logical default messages for failures. You can override the failure
messages and the generated description as follows:
RSpec::Matchers.define :be_in_zone do |zone| match do |player| player.in_zone?(zone) end failure_message_for_should do |player| # generate and return the appropriate string. end failure_message_for_should_not do |player| # generate and return the appropriate string. end description do # generate and return the appropriate string. end end
Each of the message-generation methods has access to the block arguments
passed to the create
method (in this case, zone
).
The failure message methods (failure_message_for_should
and
failure_message_for_should_not
) are passed the actual value
(the receiver of expect(..)
or
expect(..).not_to
).
### Custom Matcher from scratch
You could also write a custom matcher from scratch, as follows:
class BeInZone def initialize(expected) @expected = expected end def matches?(target) @target = target @target.current_zone.eql?(Zone.new(@expected)) end def failure_message_for_should "expected<EMAIL_ADDRESS>to be in Zone #{@expected}" end def failure_message_for_should_not "expected<EMAIL_ADDRESS>not to be in Zone #{@expected}" end end
… and a method like this:
def be_in_zone(expected) BeInZone.new(expected) end
And then expose the method to your specs. This is normally done by including the method and the class in a module, which is then included in your spec:
module CustomGameMatchers class BeInZone # ... end def be_in_zone(expected) # ... end end describe "Player behaviour" do include CustomGameMatchers # ... end
or you can include in globally in a spec_helper.rb file
require
d from your spec file(s):
RSpec::configure do |config| config.include(CustomGameMatchers) end
# File lib/rspec/matchers/generated_descriptions.rb, line 7 def self.clear_generated_description self.last_matcher = nil self.last_should = nil end
The configuration object @return [RSpec::Matchers::Configuration] the configuration object
# File lib/rspec/matchers/configuration.rb, line 100 def self.configuration @configuration ||= Configuration.new end
# File lib/rspec/matchers/generated_descriptions.rb, line 12 def self.generated_description return nil if last_should.nil? "#{last_should.to_s.gsub('_',' ')} #{last_description}" end
@api private
# File lib/rspec/matchers.rb, line 178 def self.is_a_matcher?(obj) return true if ::RSpec::Matchers::BuiltIn::BaseMatcher === obj return false if obj.respond_to?(:i_respond_to_everything_so_im_not_really_a_matcher) return false unless obj.respond_to?(:matches?) obj.respond_to?(:failure_message_for_should) || obj.respond_to?(:failure_message) end
@example
expect(actual).to be_true expect(actual).to be_false expect(actual).to be_nil expect(actual).to be_[arbitrary_predicate](*args) expect(actual).not_to be_nil expect(actual).not_to be_[arbitrary_predicate](*args)
Given true, false, or nil, will pass if actual value is true, false or nil (respectively). Given no args means the caller should satisfy an if condition (to be or not to be).
Predicates are any Ruby method that ends in a “?” and returns true or false. Given be_ followed by arbitrary_predicate (without the “?”), RSpec will match convert that into a query against the target object.
The arbitrary_predicate feature will handle any predicate prefixed with “be_an_” (e.g. #be_an_instance_of), “be_a_” (e.g. #be_a_kind_of) or “be_” (e.g. be_empty), letting you choose the prefix that best suits the predicate.
# File lib/rspec/matchers.rb, line 221 def be(*args) args.empty? ? Matchers::BuiltIn::Be.new : equal(*args) end
passes if target.kind_of?(klass)
# File lib/rspec/matchers.rb, line 227 def be_a(klass) be_a_kind_of(klass) end
Passes if actual.kind_of?(expected)
@example
expect(5).to be_a_kind_of(Fixnum) expect(5).to be_a_kind_of(Numeric) expect(5).not_to be_a_kind_of(Float)
# File lib/rspec/matchers.rb, line 253 def be_a_kind_of(expected) BuiltIn::BeAKindOf.new(expected) end
Passes if actual.instance_of?(expected)
@example
expect(5).to be_an_instance_of(Fixnum) expect(5).not_to be_an_instance_of(Numeric) expect(5).not_to be_an_instance_of(Float)
# File lib/rspec/matchers.rb, line 240 def be_an_instance_of(expected) BuiltIn::BeAnInstanceOf.new(expected) end
@deprecated use be_within
instead.
# File lib/rspec/matchers/be_close.rb, line 4 def be_close(expected, delta) RSpec.deprecate("be_close(#{expected}, #{delta})", :replacement => "be_within(#{delta}).of(#{expected})") be_within(delta).of(expected) end
Passes if actual is falsy (false or nil)
# File lib/rspec/matchers.rb, line 192 def be_false BuiltIn::BeFalse.new end
Passes if actual is nil
# File lib/rspec/matchers.rb, line 197 def be_nil BuiltIn::BeNil.new end
Passes if actual is truthy (anything but false or nil)
# File lib/rspec/matchers.rb, line 187 def be_true BuiltIn::BeTrue.new end
Passes if actual == expected +/- delta
@example
expect(result).to be_within(0.5).of(3.0) expect(result).not_to be_within(0.5).of(3.0)
# File lib/rspec/matchers.rb, line 265 def be_within(delta) BuiltIn::BeWithin.new(delta) end
Applied to a proc, specifies that its execution will cause some value to change.
@param [Object] receiver @param [Symbol] message the message to send the receiver
You can either pass receiver
and message
, or a
block, but not both.
When passing a block, it must use the { ... }
format, not
do/end, as { ... }
binds to the change
method,
whereas do/end would errantly bind to the +expect(..)+ or
+expect(..).not_to+ method.
@example
expect { team.add_player(player) }.to change(roster, :count) expect { team.add_player(player) }.to change(roster, :count).by(1) expect { team.add_player(player) }.to change(roster, :count).by_at_least(1) expect { team.add_player(player) }.to change(roster, :count).by_at_most(1) string = "string" expect { string.reverse! }.to change { string }.from("string").to("gnirts") string = "string" expect { string }.not_to change { string } expect { person.happy_birthday }.to change(person, :birthday).from(32).to(33) expect { employee.develop_great_new_social_networking_app }.to change(employee, :title).from("Mail Clerk").to("CEO") expect { doctor.leave_office }.to change(doctor, :sign).from(/is in/).to(/is out/) user = User.new(:type => "admin") expect { user.symbolize_type }.to change(user, :type).from(String).to(Symbol)
Evaluates receiver.message
or block
before and
after it evaluates the block passed to expect
.
expect( ... ).not_to change
only supports the form with no
subsequent calls to by
, by_at_least
,
by_at_most
, to
or from
.
# File lib/rspec/matchers.rb, line 335 def change(receiver=nil, message=nil, &block) BuiltIn::Change.new(receiver, message, &block) end
Passes if actual covers expected. This works for Ranges. You can also pass in multiple args and it will only pass if all args are found in Range.
@example
expect(1..10).to cover(5) expect(1..10).to cover(4, 6) expect(1..10).to cover(4, 6, 11) # fails expect(1..10).not_to cover(11) expect(1..10).not_to cover(5) # fails
Ruby >= 1.9 only
# File lib/rspec/matchers.rb, line 351 def cover(*values) BuiltIn::Cover.new(*values) end
Matches if the actual value ends with the expected value(s). In the case of a string, matches against the last `expected.length` characters of the actual string. In the case of an array, matches against the last `expected.length` elements of the actual array.
@example
expect("this string").to end_with "string" expect([0, 1, 2, 3, 4]).to end_with 4 expect([0, 2, 3, 4, 4]).to end_with 3, 4
# File lib/rspec/matchers.rb, line 365 def end_with(*expected) BuiltIn::EndWith.new(*expected) end
Passes if actual == expected
.
See www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby.
@example
expect(5).to eq(5) expect(5).not_to eq(3)
# File lib/rspec/matchers.rb, line 378 def eq(expected) BuiltIn::Eq.new(expected) end
Passes if +actual.eql?(expected)+
See www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby.
@example
expect(5).to eql(5) expect(5).not_to eql(3)
# File lib/rspec/matchers.rb, line 391 def eql(expected) BuiltIn::Eql.new(expected) end
Passes if actual.equal?(expected)
(object identity).
See www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby.
@example
expect(5).to equal(5) # Fixnums are equal expect("5").not_to equal("5") # Strings that look the same are not the same object
# File lib/rspec/matchers.rb, line 404 def equal(expected) BuiltIn::Equal.new(expected) end
Passes if `actual.exist?` or `actual.exists?`
@example
expect(File).to exist("path/to/file")
# File lib/rspec/matchers.rb, line 412 def exist(*args) BuiltIn::Exist.new(*args) end
Passes if receiver is a collection with the submitted number of items OR if the receiver OWNS a collection with the submitted number of items.
If the receiver OWNS the collection, you must use the name of the collection. So if a `Team` instance has a collection named `players`, you must use that name to set the expectation.
If the receiver IS the collection, you can use any name you like for `named_collection`. We’d recommend using either “elements”, “members”, or “items” as these are all standard ways of describing the things IN a collection.
This also works for Strings, letting you set expectations about their lengths.
@example
# Passes if team.players.size == 11 expect(team).to have(11).players # Passes if [1,2,3].length == 3 expect([1,2,3]).to have(3).items #"items" is pure sugar # Passes if ['a', 'b', 'c'].count == 3 expect([1,2,3]).to have(3).items #"items" is pure sugar # Passes if "this string".length == 11 expect("this string").to have(11).characters #"characters" is pure sugar
# File lib/rspec/matchers.rb, line 444 def have(n) BuiltIn::Have.new(n) end
Exactly like have() with >=.
@example
expect("this").to have_at_least(3).letters
### Warning:
`expect(..).not_to #have_at_least` is not supported
# File lib/rspec/matchers.rb, line 457 def have_at_least(n) BuiltIn::Have.new(n, :at_least) end
Exactly like have() with <=.
@example
expect("this").to have_at_most(4).letters
### Warning:
`expect(..).not_to #have_at_most` is not supported
# File lib/rspec/matchers.rb, line 469 def have_at_most(n) BuiltIn::Have.new(n, :at_most) end
Passes if actual includes expected. This works for collections and Strings. You can also pass in multiple args and it will only pass if all args are found in collection.
@example
expect([1,2,3]).to include(3) expect([1,2,3]).to include(2,3) expect([1,2,3]).to include(2,3,4) # fails expect([1,2,3]).not_to include(4) expect("spread").to include("read") expect("spread").not_to include("red")
# File lib/rspec/matchers.rb, line 485 def include(*expected) BuiltIn::Include.new(*expected) end
Given a Regexp or String, passes if actual.match(pattern)
@example
expect(email).to match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i) expect(email).to<EMAIL_ADDRESS>expect(zipcode).to match_regex(/\A\d{5}(-\d{4})?\z/) expect(zipcode).to match_regex("90210")
@note Due to Ruby’s method dispatch mechanism, using the `match` matcher within a custom matcher defined via the matcher DSL (`RSpec::Matcher.define`) will result Ruby calling the wrong `match` method and raising an `ArgumentError`. Instead, use the aliased `match_regex` method.
# File lib/rspec/matchers.rb, line 503 def match(expected) BuiltIn::Match.new(expected) end
Passes if actual contains all of the expected regardless of order. This works for collections. Pass in multiple args and it will only pass if all args are found in collection.
@note This is also available using the `=~` operator with `should`,
but `=~` is not supported with `expect`.
@note This matcher only supports positive expectations.
expect(..).not_to match_array(other_array) is not supported.
@example
expect([1,2,3]).to match_array([1,2,3]) expect([1,2,3]).to match_array([1,3,2])
# File lib/rspec/matchers.rb, line 688 def match_array(array) BuiltIn::MatchArray.new(array) end
With no args, matches if any error is raised. With a named error, matches only if that specific error is raised. With a named error and messsage specified as a String, matches only if both match. With a named error and messsage specified as a Regexp, matches only if both match. Pass an optional block to perform extra verifications on the exception matched
@example
expect { do_something_risky }.to raise_error expect { do_something_risky }.to raise_error(PoorRiskDecisionError) expect { do_something_risky }.to raise_error(PoorRiskDecisionError) { |error| expect(error.data).to eq 42 } expect { do_something_risky }.to raise_error(PoorRiskDecisionError, "that was too risky") expect { do_something_risky }.to raise_error(PoorRiskDecisionError, /oo ri/) expect { do_something_risky }.not_to raise_error
# File lib/rspec/matchers.rb, line 524 def raise_error(error=Exception, message=nil, &block) BuiltIn::RaiseError.new(error, message, &block) end
Matches if the target object responds to all of the names provided. Names can be Strings or Symbols.
@example
expect(“string”).to #respond_to(:length)
# File lib/rspec/matchers.rb, line 537 def respond_to(*names) BuiltIn::RespondTo.new(*names) end
Passes if the submitted block returns true. Yields target to the block.
Generally speaking, this should be thought of as a last resort when you can’t find any other way to specify the behaviour you wish to specify.
If you do find yourself in such a situation, you could always write a custom matcher, which would likely make your specs more expressive.
@example
expect(5).to satisfy { |n| n > 3 }
# File lib/rspec/matchers.rb, line 554 def satisfy(&block) BuiltIn::Satisfy.new(&block) end
Matches if the actual value starts with the expected value(s). In the case of a string, matches against the first `expected.length` characters of the actual string. In the case of an array, matches against the first `expected.length` elements of the actual array.
@example
expect("this string").to start_with "this s" expect([0, 1, 2, 3, 4]).to start_with 0 expect([0, 2, 3, 4, 4]).to start_with 0, 1
# File lib/rspec/matchers.rb, line 568 def start_with(*expected) BuiltIn::StartWith.new(*expected) end
Given no argument, matches if a proc throws any Symbol.
Given a Symbol, matches if the given proc throws the specified Symbol.
Given a Symbol and an arg, matches if the given proc throws the specified Symbol with the specified arg.
@example
expect { do_something_risky }.to throw_symbol expect { do_something_risky }.to throw_symbol(:that_was_risky) expect { do_something_risky }.to throw_symbol(:that_was_risky, 'culprit') expect { do_something_risky }.not_to throw_symbol expect { do_something_risky }.not_to throw_symbol(:that_was_risky) expect { do_something_risky }.not_to throw_symbol(:that_was_risky, 'culprit')
# File lib/rspec/matchers.rb, line 588 def throw_symbol(expected_symbol=nil, expected_arg=nil) BuiltIn::ThrowSymbol.new(expected_symbol, expected_arg) end
Passes if the method called in the expect block yields, regardless of whether or not arguments are yielded.
@example
expect { |b| 5.tap(&b) }.to yield_control expect { |b| "a".to_sym(&b) }.not_to yield_control
@note Your expect block must accept a parameter and pass it on to
the method-under-test as a block.
@note This matcher is not designed for use with methods that yield
multiple times.
# File lib/rspec/matchers.rb, line 604 def yield_control BuiltIn::YieldControl.new end
Designed for use with methods that repeatedly yield (such as iterators). Passes if the method called in the expect block yields multiple times with arguments matching those given.
Argument matching is done using `===` (the case match operator) and `==`. If the expected and actual arguments match with either operator, the matcher will pass.
@example
expect { |b| [1, 2, 3].each(&b) }.to yield_successive_args(1, 2, 3) expect { |b| { :a => 1, :b => 2 }.each(&b) }.to yield_successive_args([:a, 1], [:b, 2]) expect { |b| [1, 2, 3].each(&b) }.not_to yield_successive_args(1, 2)
@note Your expect block must accept a parameter and pass it on to
the method-under-test as a block.
# File lib/rspec/matchers.rb, line 670 def yield_successive_args(*args) BuiltIn::YieldSuccessiveArgs.new(*args) end
Given no arguments, matches if the method called in the expect block yields with arguments (regardless of what they are or how many there are).
Given arguments, matches if the method called in the expect block yields with arguments that match the given arguments.
Argument matching is done using `===` (the case match operator) and `==`. If the expected and actual arguments match with either operator, the matcher will pass.
@example
expect { |b| 5.tap(&b) }.to yield_with_args # because #tap yields an arg expect { |b| 5.tap(&b) }.to yield_with_args(5) # because 5 == 5 expect { |b| 5.tap(&b) }.to yield_with_args(Fixnum) # because Fixnum === 5 expect { |b| File.open("f.txt", &b) }.to yield_with_args(/txt/) # because /txt/ === "f.txt" expect { |b| User.transaction(&b) }.not_to yield_with_args # because it yields no args expect { |b| 5.tap(&b) }.not_to yield_with_args(1, 2, 3)
@note Your expect block must accept a parameter and pass it on to
the method-under-test as a block.
@note This matcher is not designed for use with methods that yield
multiple times.
# File lib/rspec/matchers.rb, line 650 def yield_with_args(*args) BuiltIn::YieldWithArgs.new(*args) end
Passes if the method called in the expect block yields with no arguments. Fails if it does not yield, or yields with arguments.
@example
expect { |b| User.transaction(&b) }.to yield_with_no_args expect { |b| 5.tap(&b) }.not_to yield_with_no_args # because it yields with `5` expect { |b| "a".to_sym(&b) }.not_to yield_with_no_args # because it does not yield
@note Your expect block must accept a parameter and pass it on to
the method-under-test as a block.
@note This matcher is not designed for use with methods that yield
multiple times.
# File lib/rspec/matchers.rb, line 621 def yield_with_no_args BuiltIn::YieldWithNoArgs.new end