WCS -- OGC Web Coverage Service
Driver short name
WCS
Build dependencies
libcurl
The optional GDAL WCS driver allows use of a coverage in a WCS server as a raster dataset. GDAL acts as a client to the WCS server.
Accessing a WCS server is accomplished by creating a local service
description file that contains one <WCS_GDAL> XML element. It is
important that there is no spaces or other content outside that element.
Starting at version 2.3 the service description file is meant to be
managed by the driver in a cache directory. User should control the
contents of the service file using options. The dataset name is
WCS:<URL>
, where the <URL> is the URL of the server appended
potentially appended with WCS version, coverage, and possibly other
parameters. If the WCS version is 2.0.1 further parameters can be given
to control how the data model of the coverage is mapped to the GDAL data
model.
If the URL does not contain a coverage name, the driver attempts to fetch the capabilities document from the server, parse it, and show the resulting metadata to the user. Coverages are shown as subdatasets. If the URL contains a coverage name as parameter (the key 'coverage' can be used irrespective of the WCS version), the driver attempts to fetch the coverage description document from the server, parse it, and create service description file. A small test GetCoverage request may be done to obtain details of the served data. If the respective server capabilities file is not cached, it will also be fetched.
With service version 2.0.1 (for which support is available starting at GDAL version 2.3), it may be that the coverage has more than two dimensions. In that case, the driver will append the coverage metadata and show zero bands. At that point, the user must use options to further instruct the driver how to deal with extra dimensions and data fields.
The WCS driver supports WCS versions 1.0.0, 1.1.0, 1.1.1, 1.1.2, and 2.0.1 at basic level (version 0.7 is not supported and support for version 2.0.1 is available starting at GDAL 2.3). Any return format that is a single file, and is in a format supported by GDAL should work. The driver will prefer a format with "tiff" in the name, otherwise it will fallback to the first offered format. However, the user may set the preferred format. Coordinate systems are read from the DescribeCoverage result.
Driver capabilities
Supports Georeferencing
This driver supports georeferencing
Supports VirtualIO
This driver supports virtual I/O operations (/vsimem/, etc.)
Service description file
The service description file has the following elements as immediate children of the document element. Note that when the "WCS:<URL>" syntax for dataset name is used, the contents of the service description file is meant to be modified by using options.
ServiceURL: URL of the service without parameters
Version: The WCS version that is used in the communication. If the dataset name syntax WCS:URL is used the default is 2.0.1 and the server's response may change the user request, otherwise defaults to 1.0.0. Versions 1.0.0, 1.1.0, 1.1.1, 1.1.2, and 2.0.1 are supported.
CoverageName: The coverage that is used for the dataset.
Format: The format to use for GetCoverage calls. If not set, selected by the driver. (WCS version 2.0)
PreferredFormat: The format to use for GetCoverage calls. If not set, selected by the driver. (WCS versions 1.0 and 1.1)
Interpolation: The interpolation method used when scaling. Should be one of the server supported values. (GDAL 2.3)
BlockXSize: The block width to use for block cached remote access.
BlockYSize: The block height to use for block cached remote access.
OverviewCount: The number of overviews to represent bands as having. Defaults to a number such that the top overview is fairly smaller (less than 1K x 1K or so).
NoDataValue: The nodata value to use for all the bands (blank for none). Normally determined by the driver. With version 2.0.1 this may be a comma separated list of values, one for each band.
Elements for controlling the range and domain:
Domain: The axes that are used for the spatial dimensions. The default is to use the first two axes given by the server. The axis order swap may apply. Syntax: axis_name,axis_name A field_name:field_name in the list denotes a range of fields. (Used only with version 2.0.1)
DefaultTime: A timePosition to use by default when accessing coverages with a time dimension. Populated with the last offered time position by default. (Used only with version 1.0.0)
FieldName: Name of the field being accessed. Used only with version 1.1. Defaults to the first field in the DescribeCoverage. In version 1.1 the range consists of one or more fields, which may be scalar or vector. A vector field contains one or more bands.
BandCount: Number of bands in the dataset, normally determined by the driver.
BandType: The pixel data type to use. Normally determined by the driver.
Elements for controlling the communication:
Timeout: The timeout to use for remote service requests. If not provided, the libcurl default is used.
UserPwd: May be supplied with userid:password to pass a userid and password to the remote server.
HttpAuth: May be BASIC, NTLM or ANY to control the authentication scheme to be used.
GetCoverageExtra: An additional set of keywords to add to GetCoverage requests in URL encoded form. eg. "&RESAMPLE=BILINEAR&Band=1". Note that the extra parameters should not be known parameters (see below).
DescribeCoverageExtra: An additional set of keywords to add to DescribeCoverage requests in URL encoded form. eg. "&CustNo=775"
Elements that may be needed to deal with server quirks (GDAL 2.3): Note: The options are not propagated to the subdataset with the switch -sd.
OriginAtBoundary: Set this flag if the server reports grid origin to be at the pixel boundary instead of the pixel center. (Use for MapServer versions <= 7.0.7 with WCS versions 1.0.0 and 2.0.1)
OuterExtents: Set to consider WCS 1.1 extents as boundaries of outer pixels instead of centers of outer pixels. (Use for GeoServer).
BufSizeAdjust: Set to 0.5 in WCS 1.1 if data access fails due to the response not having expected size. (Use for GeoServer).
OffsetsPositive: Use with MapServer in WCS version 2.0.1 together wwith NrOffsets.
NrOffsets: Set to 2 if the server requires that there are only two values in the GridOffsets. Use when the server is MapServer or ArcGIS. With MapServer use also OffsetsPositive.
GridCRSOptional: Let the driver skip Grid* parameters from a WCS 1.1 GetCoverage request if the request is not scaled. Do not use for GeoServer.
NoGridAxisSwap: Set to tell the driver not to swap axis order. When reading the grid geometry (in WCS 1.1 the origin and offsets, in WCS 2.0.1 the grid envelope, axis labels, and offsets) no axis order swap is done although it would otherwise be done if this flag is set. In 1.1 it would be done if the CRS has inverted axes. In 2.0.1 it would be done if the axisOrder of the sequenceRule in GridFunction defines so. This is needed usually both in 1.1 and 2.0.1 when parsing coverage descriptions from MapServer and GeoServer.
SubsetAxisSwap Set to tell the driver to swap the axis names in boundedBy.Envelope.axisLabels when making WCS 2.0.1 GetCoverage request. Needed for GeoServer when EPSG dictates axis order swap.
UseScaleFactor: Set to tell the driver to use scale by factor approach instead of scale to size when making a WCS 2.0.1 GetCoverage request. Required when the server is ArcGIS.
Range and dimension subsetting
When WCS version 2.0.1 is used, the range (fields/bands) and the dimension can and/or may need to be subsetted. If the data model of the coverage contains dimensions beyond the two geographic or map coordinates, those dimensions must be sliced for GDAL. The coverage may also contain a large number of fields, from which only a subset is wanted in the GDAL dataset.
Range and dimension subsetting must be done via URL parameters since from one coverage it is possible to create more than one different GDAL datasets. In the WCS cache this means that there may be the sets of files related to a GDAL dataset:
server Capabilities file and a GDAL dataset metadata file made from it (key = URL with WCS version number)
server DescribeCoverage file, a template GDAL service file made from it, and a GDAL dataset metadata file made for it (key = URL with WCS version number and coverage name)
the GDAL service file specifically for this dataset, and a GDAL dataset metadata file (key = URL with WCS version number, coverage name, and range and dimension subsetting parameters)
The following URL parameters are used to control the range and dimension subsetting. Note that these can also be set through options into the service file. The ones in URL take precedence.
RangeSubset: Used to select a subset of coverage fields to the dataset. Syntax: field_name,field_name:field_name,.. (Note: requires that the server implements the range subsetting extension.)
Subset: Trim or slice a dimension when fetching data from the server. Syntax: axis_name(trim_begin_value,trim_end_value);axis_name(slice_value) Note that trimming the geographic/map coordinates is done by the driver.
Other WCS parameters
The following WCS (version 2.0.1) parameters are recognized besides what has been described above. These all can be set either through options or directly into the URL. The ones in URL take precedence. Note that it is up to the server to support/recognize these.
MediaType
UpdateSequence
GEOTIFF:COMPRESSION
GEOTIFF:JPEG_QUALITY
GEOTIFF:PREDICTOR
GEOTIFF:INTERLEAVE
GEOTIFF:TILING
GEOTIFF:TILEWIDTH
Open options
When the "WCS:<URL>" dataset name syntax is used, open options are used to control the driver and the contents of the service description file. In the case the URL does not contain coverage name, the service description file is not used and thus in that case the options are not written into it. Open options are given separate to the dataset name, with GDAL utility programs they are given using the -oo switch (-oo "NAME=VALUE"). The -oo switch expects only one option but more options can be given repeating the switch.
In addition to DescribeCoverageExtra and GetCoverageExtra, which are stored in the service description file, there is also GetCapabilitiesExtra, which can be used as an open option when requesting the overall capabilities from the server. The open option SKIP_GETCOVERAGE can be used to prevent the driver making a GetCoverage request to the server, which it usually does if it can't determine the band count and band data type from the capabilities or coverage descriptions. This option may be needed if GetCoverage request fails.
All above listed element names can be given as options to the WCS driver. In the case of flags the option should formally be "Name=TRUE", but only "Name" suffices.
The cache
When the "WCS:<URL>" dataset name syntax is used, the server responses, the service description file, and the metadata files are stored in a cache. Generally, if the needed resource is in the cache, it will be used and no extra calls to the server are done.
The default location of the cache directory is $HOME/.gdal/wcs_cache
The cache contents can be seen as subdatasets using an empty URL:
gdalinfo "WCS:"
The cache control options/flags are
CACHE=path Overrides the default cache location.
CLEAR_CACHE The cache is completely initialized and all files are deleted.
REFRESH_CACHE The cache entry, either capabilities or coverage, depending on the call at hand, is deleted.
DELETE_FROM_CACHE=k The cache entry (subdataset k), is deleted.
The WCS: dataset name syntax
The URL in the dataset name is not a complete WCS request URL. The request URL, specifically, its query part, for GetCapabilities, DescribeCoverage, and GetCoverage requests is composed by the driver. Typically the user should only need to add to the server address the version and coverage parameters. The string 'coverage' can be used as the coverage parameter key although different WCS versions use different keys. 'coverage' is also always used in the cache key.
The user may add arbitrary standard and non-standard extra parameters to the URL. However, when that is done, it should be noted that the URL is a cache database key and capability documents are linked to coverage documents through the key. Please consider using the Extra open options.
Time
This driver includes experimental support for time based WCS 1.0.0 servers. On initial access the last offered time position will be identified as the DefaultTime. Each time position available for the coverage will be treated as a subdataset.
Note that time based subdatasets are not supported when the service description is the filename. Currently time support is not available for versions other than WCS 1.0.0.


INSTALL-CATALOG
Section: (8)Updated: 04 August 2000
Index Return to Main Contents
NAME
install-catalog - Manage a SGML or XML centralized catalogSYNOPSIS
install-catalog [ option ] action ... [ [ -d] [ --delegate] ] [ [ -a centralized ordinary] [ --add centralized ordinary]
[ -r centralized ordinary] [ --remove centralized ordinary]
[ -h] [ --help]
[ -v] [ --version] ]
DESCRIPTION
This shell script allows to handle a centralized catalog referencing other "ordinary" SGML or XML Open Catalogs.
An Open Catalog contains a set of directives defined by OASIS, mostly used for defining equivalences between FPIs (Formal Public Identifiers) and real file names (see TR9401:1997 on http://www.oasis-open.org <URL:http://www.oasis-open.org>). The Open Catalogs usually reside in /usr/share/sgml.
A centralized catalog is a special Open Catalog that includes only comments and CATALOG directives pointing to other catalogs (or DELEGATE directives if supported). The centralized catalog can be the key to all other SGML resources. It usually resides in /etc/sgml.
The centralized catalog can be edited manually or through the install-catalog script to add or remove references to other ordinary catalogs. This script is mainly destined to software package post-installation scripts.
An example of a typical call to install-catalog is:
install-catalog --add \ /usr/share/sgml/docbook/dsssl-stylesheets-1.54/catalog \ /etc/sgml/sgml-docbook-4.0.cat
This call will install in /etc/sgml/sgml-docbook-4.0.cat a reference to /usr/share/sgml/docbook/dsssl-stylesheets-1.54/catalog.
OPTIONS
Here is the list of options that can influence the way install-catalog works:
[ [ -d] [ --delegate] ]
Use DELEGATE instead of CATALOG directives to specify a pointer
ACTIONS
Here is the list of actions that can be requested to install-catalog:
[ [ -a centralized ordinary] [ --add centralized ordinary] ]
Declare a new SGML package.
[ [ -r centralized ordinary] [ --remove centralized ordinary] ]
Remove a previously installed SGML package.
[ [ -h] [ --help] ]
Print a short help message and exit
[ [ -v] [ --version] ]
Print the version identifier and exit
FILES
/etc/sgml/*AUTHORS
Eric Bischoff<EMAIL_ADDRESS>of install-catalog.
SEE ALSO
jw(1)conversion from DocBook to other file formats
nsgmls(1)
a base component of Jade DSSSL engine
http://sourceware.cygnus.com/docbook-tools/ <URL:http://sourceware.cygnus.com/docbook-tools/>
the home page of the DocBook tools, a compendium of all tools necessary to process DocBook files, including the SGML-common stuff.
Index
This document was created by man2html, using the manual pages.
Time: 05:34:26 GMT, December 24, 2015


An ethical hacker should not only understand how everything works, he should also know the tools which could automate his assessments.
In this section, we’ll elaborate on different toolsets we can use to leverage tasks we often have to perform. Over the years, a lot of different modules, scripts and entire software stacks have been written by companies and communities. They are a proven asset for every developer, security guru and hacker.
We try to put each tool in a suitable category, to make it easier for us to find the best tool for our current task. Some tools will fall under different categories, because they evolved over the years to perform multiple tasks.


{# Based on https://github.com/bashtage/sphinx-material/blob/master/sphinx_material/sphinx_material/sourcelink.html #} {%- if show_source and has_source and sourcename %}


| 程序包 | 说明 |
|---|---|
| org.springframework.mock.env |
This package contains mock implementations of the
Environment and
PropertySource
abstractions introduced in Spring 3.1. |
| org.springframework.mock.http |
Mock implementations of client/server-side HTTP abstractions.
|
| org.springframework.mock.http.client |
Mock implementations of client-side HTTP abstractions.
|
| org.springframework.mock.http.client.reactive |
Mock implementations of reactive HTTP client contracts.
|
| org.springframework.mock.http.server.reactive |
Mock implementations of reactive HTTP server contracts.
|
| org.springframework.mock.jndi |
The simplest implementation of the JNDI SPI that could possibly work.
|
| org.springframework.mock.web |
A comprehensive set of Servlet API 3.0 mock objects,
targeted at usage with Spring's Web MVC framework.
|
| org.springframework.mock.web.reactive.function.server |
Mock objects for the functional web framework.
|
| org.springframework.mock.web.server |
Mock implementations of Spring's reactive server web API abtsractions.
|
| org.springframework.test.annotation |
Support classes for annotation-driven tests.
|
| org.springframework.test.context |
This package contains the Spring TestContext Framework which
provides annotation-driven unit and integration testing support that is
agnostic of the actual testing framework in use.
|
| org.springframework.test.context.cache |
Support for context caching within the Spring TestContext Framework.
|
| org.springframework.test.context.jdbc |
JDBC support classes for the Spring TestContext Framework,
including support for declarative SQL script execution via
@Sql . |
| org.springframework.test.context.junit.jupiter |
Core support for integrating the Spring TestContext Framework
with the JUnit Jupiter extension model in JUnit 5.
|
| org.springframework.test.context.junit.jupiter.web |
Web support for integrating the Spring TestContext Framework
with the JUnit Jupiter extension model in JUnit 5.
|
| org.springframework.test.context.junit4 |
Support classes for integrating the Spring TestContext Framework
with JUnit 4.12 or higher.
|
| org.springframework.test.context.junit4.rules |
Custom JUnit
Rules used in the Spring TestContext Framework. |
| org.springframework.test.context.junit4.statements |
Custom JUnit
Statements used in the Spring TestContext Framework. |
| org.springframework.test.context.support |
Support classes for the Spring TestContext Framework.
|
| org.springframework.test.context.testng |
Support classes for ApplicationContext-based and transactional
tests run with TestNG and the Spring TestContext Framework.
|
| org.springframework.test.context.transaction |
Transactional support classes for the Spring TestContext Framework.
|
| org.springframework.test.context.util |
Common utilities used within the Spring TestContext Framework.
|
| org.springframework.test.context.web |
Web support classes for the Spring TestContext Framework.
|
| org.springframework.test.jdbc |
Support classes for tests based on JDBC.
|
| org.springframework.test.util |
General utility classes for use in unit and integration tests.
|
| org.springframework.test.web |
Helper classes for unit tests based on Spring's web support.
|
| org.springframework.test.web.client |
Contains client-side REST testing support.
|
| org.springframework.test.web.client.match |
Contains built-in
RequestMatcher
implementations. |
| org.springframework.test.web.client.response |
Contains built-in
ResponseCreator
implementations. |
| org.springframework.test.web.reactive.server |
Support for testing Spring WebFlux server endpoints via
WebTestClient . |
| org.springframework.test.web.servlet |
Contains server-side support for testing Spring MVC applications.
|
| org.springframework.test.web.servlet.htmlunit |
Server-side support for testing Spring MVC applications with
MockMvc
and HtmlUnit. |
| org.springframework.test.web.servlet.htmlunit.webdriver |
Server-side support for testing Spring MVC applications with
MockMvc
and the Selenium HtmlUnitDriver . |
| org.springframework.test.web.servlet.request |
Contains built-in
RequestBuilder
implementations. |
| org.springframework.test.web.servlet.result |
Contains built-in
ResultMatcher and ResultHandler implementations. |
| org.springframework.test.web.servlet.setup |
Contains built-in
MockMvcBuilder implementations. |


TreeCorr Documentation¶
- Overview
- Input Data
- Two-point Correlation Functions
- Three-point Correlation Functions
- Metrics
- Binning
- Shear Conventions
- Patches
- Covariance Estimates
- Fields
- Using configuration files
- Getting Started Guide
- Changes from version 4.2 to 4.3
- Changes from version 4.3.0 to 4.3.1
- Changes from version 4.3.1 to 4.3.2
- Changes from version 4.3.2 to 4.3.3
- Previous History


Gateway
BOT
06-Dec-18 03:07 PM
[dscrdutrum] <Cruz> Can I make a suggestion? Or just say a few things about wallets @Emmanuel
[dscrdutrum] <Emman - DevOps> not sure about that, probably no 32 bit
[dscrdutrum] <Cruz> The 2 examples I'd look at and look at their successes are, O3 Mobile Wallet and Trust.. And I'd look at the APH wallet, bc in my opinion, it's the best looking wallet in crypto--even if the project has tanked....
[dscrdutrum] <Cruz> O3 started out just as a Neo wallet...
Then it was able to integrate a working Dex for Switcheo, in a matter of one or two weeks...
Now it is a wonderful app....
Should be a crypto project, in my opinion
[dscrdutrum] <Cruz> Trust---started off as an Ethereum wallet, for tokens, too.. Ran smoothly... Then CZ bought it... It looked just as good when it wasn't Binance's Wallet
[dscrdutrum] <Sri - Project Lead> @Cruz Most wallets are using shapeshift, changelly
[dscrdutrum] <Sri - Project Lead> Did you check Exodus, I guess that's the best in my opinion
[dscrdutrum] <Cruz> I just meant, in my opinion for overall use, O3 & Trust have been the most successful---with the time they have had & what they've done with it. They seem like good models, or examples... And Aphelion, it just looks good, imo...
[dscrdutrum] <Emman - DevOps> interesting
[dscrdutrum] <Cruz> This is the Dex integrated into O3
[dscrdutrum] <Cruz> That is damn impressive.
It started out as a wallet, just for holding NEO...
Then it became the Switcheo DEX.. And they've upgraded it twice now.. They integrated it in a matter of weeks, if i remember right
[dscrdutrum] <Cruz> That is another screen within the app...
It's pretty nice ..
I think Utrum's wallet looks really good too...
 I like the project. The devs aren't too bad, either....
How can I help out with Marketing? I'll go ask there


We like things done the easy way.
So we built a streamlined platform to craft
the resume of your dreams.


Open me!
--- Select a color ---
{{color.FIELD2}}
Volume selection:
Volume type:
Structural
Functional
Load your own volume!
Panel size:
64
128
256
350
512
Synchronize
Screenshot
Header file:
Raw data file:
Use
minc2volume-viewer.js
or
minc2volume-viewer.py
to convert your MINC files into the header and raw data files required by the volume viewer (requires installation of the
MINC tools
).
Load
Shift-click to drag. Hold ctrl to measure distance.


Stereotype threat refers to being at risk of confirming, as self-characteristic, a negative stereotype about one's group (Steele & Aronson, 1995). This term was first used by Steele and Aronson (1995) who showed in several experiments that Black college freshmen and sophomores performed more poorly on standardized tests than White students when their race was emphasized. When race was not emphasized, however, Black students performed better and equivalently with White students. The results showed that performance in academic contexts can be harmed by the awareness that one's behavior might be viewed through the lens of racial stereotypes. "ReducingStereotypeThreat.org." ReducingStereotypeThreat.org. Web. 2 Feb. 2015. <http://www.reducingstereotypethreat.org/definition.html>.
My name is Edgardo Ernesto Munoz. I was born in San Salvador, El Salvador C.A. My first language is Spanish. Looking at my name without looking at a picture, most people would think chances are I don't speak English, have darker brown skin, and that I'm Mexican. I say all this because that has been my experience for most of my life with most non-Hispanic people. I say 'most' because it really isn't every non-Hispanic that this applies to.
Most of my life here in the U.S., most of the white people I've met in person have said, "I would have never guessed that your were from El Salvador, you look white". I was born with lighter skin and light eyes. Usually, it's a discovery of surprise and welcomed; However, there's been people that I've known for a while and were happy assuming my race but when confronted with the reality their presence in my life thinned out.
I remember as a kid, moving to the U.S. was about the scariest thing I could imagine. I didn't speak English so as soon as I started school and was introduced, I didn't fit in. People would try speaking to me in English, and were surprised when I didn't respond. I feared going to school and having to deal with not understanding what was going on around me; Although I did my best to learn English as fast possible, I suffered the consequences of not learning fast enough. I had to repeat the grade I was introduced into. That tarnished my outlook on academics.
Eventually, I became fluent in English. But that's when I really encountered my first taste of racism. I had a strong accent. Some would pick up on it and throw out their comments without any concern of the gravity of their actions. Interestingly enough, that led me to learn English better to lose the accent. But that had it's affect as well. My fluency in Spanish suffered and now, though still considered fluent by most standards, there are moments where I can't remember the proper words to finish some sentences. There's been moments in where I've wondered about the levels of my identity in terms of How american or Salvadoran I am. If I were to move back to Central America, I wouldn't fit in. But, is it ok to lose my heritage altogether and accept the gravity of my environment? I've asked myself that question so many times. It's tough to answer.
For now, this is all I have to say about Stereotype Threat. Of course in reality there is so much more I could say but it would take away from your experience if I said too much. Till my next blog post..... click!


{{fruit}}
You selected option {{selected}} with value-from-selected-index {{fruits[selected]}} and value-from-binding {{value}}


- Work: Lambda TL
- Interests: Outer Space
- Work: Tech Support
- Interests: Table Top RPGs
- Work: Jewlery Designer
- Interests: Soccer, Science
- Work: Support Manager
- Interests: History, Table Top RPGs
- Education: English Lit
- Dogs, Literature
- Lambda since 07/19
- Milk-steak, Magents


Recently, our office was approached by
Louis Leblond
to create a custom instructional element for his online course. Louis is an
Associate Teaching Professor and Director of Online Education in Physics here
at Eberly College of Science. Specifically, he was looking to create an
attention-grabbing notification that he could easily insert throughout his
course that would alert his students to relevant textbook information they
should be reading.
The overall process was very simple. Louis had an idea, emailed our team with
the details, and we got to work. I used the specifications that Louis
requested to rapidly develop a prototype for his review. Once approved, we
inserted the new learning tool into his
ELMS:LN
powered course and Louis was able to begin using it immediately by copy /
pasting the following code into his editor:
In addition to the default example shown above, I also added functionality to
include additional icons that dynamically change the accent color (stop-icon =
red, warning-icon = yellow, confirm-icon = green). Moreover, there is a
'title' property and 'url' property that allow for further customization.
Finally, the span slot is a flexible area in which any message can be written:
Check out some examples below:
Why is this important? We work with some of the most talented faculty in the
country and they have some really great ideas to share. By building these
solutions out for them, we are enabling their creativity, empowering their
instruction, and vastly improving the online course experience for their
students.
GitHub Repository


Catering and hospitality serve up a host of different apprenticeships in restaurants, cafés, pubs, bars, nightclubs and hotels.
But the sector also includes customer service roles, as well as working in the supply network that provides food and drink to other industries. Schools, colleges, hospitals and large businesses often have canteens and catering staff too. You could train as a chef in a restaurant, or learn how to cook on a large scale for institutions such as the NHS. Or you could be ‘front of house’ welcoming guests or helping management ensure effective day-to-day operations.


GILLIAN ON HER 37TH BIRTHDAY 1996 A film review by Timothy Voon Copyright 1997 Timothy Voon 1 :-( cause it's my party and I'll die if I want to
Cast: Peter Gallagher, Claire Danes, Michelle Pfeiffer, Kathy Baker, Wendy Crewson, Bruce Altman, Laurie Fortier, Freddie Prinze Jr. Director: Michael Pressman Producers: Marykay Powell and David E. Kelley Screenplay: David E. Kelley based on the play by Michael Brady
Gillian (Michelle Pfeiffer) died on her 35th birthday. This fun, carefree, high risk taking, radical mother and loving wife climbed one pole too high before falling to her death. Two years later she's roaming the beaches outside her home communicating with her husband at night. They mostly chat, and roll around in the waves, but she's real enough to touch, kiss and hug but they never do. I guess Whoopi Goldberg isn't around to help mediate the kiss between the living and the dead. So on her 37th birthday, Gillian's family and friends gather to remember her in most unusual ways. With a weekend of karaoke singing, sand castle building and a feast of family melodrama.
There's a lot of "remember this" and "remember that" banter between living husband and dead wife who wallow with nostalgia. Michelle Pfeiffer giggles like an adorable wife, and occasionally throws in a serious expression to show that she's not a single dimensional ghost. Peter Gallagher is the forlorn husband who wanders the beaches at night searching for his dead wife. He doesn't use his thick lips to the best advantage as he pouts and throws moody tantrums. These lips would look far better planted firmly on the mouth of Ms Pfeiffer.  Clare Danes throws in a convincing performance as the distressed teenage daughter, whose loyalty to her father is torn by the intrusion of her Aunt (Kathy Baker).
Eventually this movie reaches the conclusion that one has to leave the past behind before one can progress into the future. It's a good point to make, but it doesn't save Gillian's birthday party from being a long, overdrawn droll sit. Without the birthday girl, the party is as dead as Gillian's corpse. Midway through the movie it becomes evident that the husband needs to leave his dead wife behind him, if he is to rebuild his life. The only problem is that the ghost won't leave the poor man alone.  If only Gillian had been a little more sensible there would be no goodbyes to be said yet, and if there were goodbyes to be made - it should have been short, snappy and to the point. That way everyone can get on with their lives, including the audience.
Timothy Voon e-mail<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Maddie H. Lee
PROJECT
EXERCISE
ABOUT
PROJECT
EXERCISE
ABOUT
X
Lab: Weather API
Lab: jQuery
Lab: Javascript
Lab: Coding From Life 2
Lab: Coding From Life 1
Lab: Geometric Abstract
Lab: CSS positioning
Lab: Flexbox
Lab: Wikipedia
Lab: HTML Quiz
Studio: Visiting Designers Series 2
Studio: Visiting Designers Series 1
Studio: Observing responsive design
Studio: Documenting
Studio: CSS animation
Studio: Navigation


{% extends "layout.html" %} {% block body %}
The 18xx Route Calculator is an aid for the 18xx family of board games (e.g. 1846: The Race for the Midwest), to make route calculations easier and faster in-game. For that reason, they do not implement the entire ruleset; just enough to allow you to run routes, and some checks to prevent you from entering illegal board states.
Place tiles by clicking on the board, then selecting a tile and orientation from the resulting modal. Only legal tiles and orientations are displayed. Railroads and private companies can be added via the tabs to the right of the board (or below it, if you have a very narrow screen). This game state is automatically saved in your browser, and loaded next time you visit.
To calculate a route, click the Calculate button and select a railroad. Only railroads with at least 1 train can be picked. Each route is displayed in text to the right on the map, and drawn on the map.
The source of this web app is available on GitHub, including bug and improvement tracking and a changelist. The source for the route finding algorithm is also on GitHub, and is available as a standalone Python package.
The tile images are from Blackwater Station. The 1889 board is Carthaginian's redesign with coordinates overlaid. The 1846 board is copyright 2016 GMT Games, LLC. It is a modified form of the version linked from their 1846 game page.


NOTES for JQUERY
this is the link to jQuery site
JQUERY EXAMPLES to be uploaded soon
W3 schools JQuery
this is the CDN for google
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js\"> </script>


Psalm 33
1 Rejoice in Yahweh, you righteous;
praise is appropriate for the upright.
2 Give thanks to Yahweh with the harp;
sing praises to him with the harp of ten strings.
3 Sing to him a new song;
play skillfully and sing with joy.
4 For Yahweh's word is upright,
and everything he does is fair.
5 He loves righteousness and justice.
The earth is full of Yahweh's covenant faithfulness.
6 By the word of Yahweh the heavens were made,
and all the stars were made by the breath of his mouth.
7 He gathers the waters of the sea together like a heap;
he puts the oceans in storehouses.
8 Let the whole earth fear Yahweh;
let all the inhabitants of the world stand in awe of him.
9 For he spoke, and it was done;
he commanded, and it stood in place.
10 Yahweh frustrates the alliances of nations;
he overrules the plans of the peoples.
11 The plans of Yahweh stand forever,
the plans of his heart for all generations.
12 Blessed is the nation whose God is Yahweh,
the people whom he has chosen as his own inheritance.
13 Yahweh looks from heaven;
he sees all the people.
14 From the place where he lives,
he looks down on all who live on the earth.
15 He who shapes the hearts of them all
observes all their deeds.
16 No king is saved by a vast army;
a warrior is not saved by his great strength.
17 A horse is false security for victory;
in spite of his great strength, he cannot rescue.
18 See, Yahweh's eye is on those who fear him,
on those who count on his covenant faithfulness
19 to deliver their lives from death
and to keep them alive in times of famine.
20 We wait for Yahweh;
he is our help and our shield.
21 Our hearts rejoice in him,
for we trust in his holy name.
22 Let your covenant faithfulness, Yahweh, be with us
as we put our hope in you.


Survey
Name:
Email Address:
3. How did you hear about us?
Friends/ Families
Online Advertisement
Newspapers
Search Engines
3. Describe your experience at our restaurant
4. What is your favorite recipe at our restaurant?


pcf.particle.aws.cloudwatch package¶
Submodules¶
pcf.particle.aws.cloudwatch.cloudwatch_event module¶
-
class
pcf.particle.aws.cloudwatch.cloudwatch_event.
CloudWatchEvent
(particle_definition, session=None)¶ Bases:
pcf.core.aws_resource.AWSResource
This is the implementation of Amazon’s CloudWatch Events service.
-
START_PARAM_FILTER
= {'Description', 'EventPattern', 'Name', 'RoleArn', 'ScheduleExpression', 'State'}¶
-
UNIQUE_KEYS
= ['aws_resource.Name']¶
-
_set_unique_keys
()¶ Logic that sets keys from state definition that are used to uniquely identify the log group
-
_start
()¶ Starts the events particle that matches desired state definition
Returns: response of boto3 put_rule
-
_stop
()¶ CloudWatch Events does not have a stopped state so it calls terminate
Returns: response of terminate function
-
_terminate
()¶ Terminates the events particle that matches the rule_name
Returns: response of boto3 delete_function
-
_update
()¶ Logic that updates the particle. This is implemented for each individual particle
-
equivalent_states
= {<State.running: 1>: 1, <State.stopped: 2>: 0, <State.terminated: 3>: 0}¶
-
flavor
= 'cloudwatch_events'¶
-
get_status
()¶ Calls the describe rule boto call and returns the
Returns: current definition
-
is_state_definition_equivalent
()¶ Compared the desired state and current state definition
Returns: bool
-
sync_state
()¶ CloudWatch Events implementation of sync state. Calls get status and sets the current state.
-
pcf.particle.aws.cloudwatch.cloudwatch_log module¶
-
class
pcf.particle.aws.cloudwatch.cloudwatch_log.
CloudWatchLog
(particle_definition, session=None)¶ Bases:
pcf.core.aws_resource.AWSResource
This is the implementation of Amazon’s CloudWatch Logs service.
-
START_PARAM_FILTER
= {'kmsKeyId', 'logGroupName', 'tags'}¶
-
UNIQUE_KEYS
= ['aws_resource.logGroupName']¶
-
_set_unique_keys
()¶ Logic that sets keys from state definition that are used to uniquely identify the log group
-
_start
()¶ Starts the Cloudwatch Log Group according to the desired definition
Returns: response of boto3 create_log_group
-
_stop
()¶ CloudWatch Logs does not have a stopped state so it calls terminate
Returns: response of terminate function
-
_terminate
()¶ Terminates the Log Group identified by the logGroupName
Returns: response of boto3 delete_log_group
-
_update
()¶ Updates any changed tags or KMS key
Returns: void
-
equivalent_states
= {<State.running: 1>: 1, <State.stopped: 2>: 0, <State.terminated: 3>: 0}¶
-
flavor
= 'cloudwatch_logs'¶
-
get_current_definition
()¶ Calls the describe log group boto call and returns the group’s attributes
Returns: current definition if the group exists, otherwise a status missing message
-
is_state_definition_equivalent
()¶ Compared the desired state and current state definition
Returns: bool
-
sync_state
()¶ CloudWatch Logs implementation of sync state. Calls get current definition and sets the current state.
Returns: void
-


Island resort
Home
Accommodations
Activities
Pictures
Travel
Pictures
Enjoy these photos of the island resort


Hobby
- You do not need to keep records of your hobby for the ATO.
- It’s good practice to keep records in case your circumstances change e.g. keeping records of assets you own for your hobby as you may be able to claim for these after you start your business.
- You'll need to keep records to meet your consumer law requirements when buying and selling goods or services e.g. to give receipts or refunds etc.
You may need to keep records to report your income if you:
- receive government payments, such as from Centrelink or the Department of Veterans’ Affairs (DVA)
- make payments where income is considered, such as for child support.
Business
You need to keep records:
- for the Australian Taxation Office (ATO) to meet your obligations. It also makes it easier to manage your cash flow and business finances. You should keep records of assets you own for your hobby as you may be able to claim for these after you start your business
- for consumer law requirements e.g. to give receipts or refunds
- to meet your business structure obligations e.g. If you’re running a company, you may have additional record keeping requirements.
You may also need to keep records to report your income if you:
- receive government payments, such as from Centrelink or the Department of Veterans’ Affairs (DVA)
- make payments where income is considered, such as for child support.
Read more about income reporting on the Department of Human Services website.
Read more about notifying DVA on the Department of Veterans’ Affairs website.
Find out more about:


{% include 'header.html' %}
Geostore Statistics
Budget Year:
ALL
Total Projects
Total KMLs
Total Geotagged Images
Projects with one or more geotags
Program
Projects
Projects with 1+ Geotags
Percentage
Projects Geoprocessed
Geoprocessed Projects
Total Projects
Percentage
Images Geoprocessed
Geoprocessed Images
Total Images
Percentage
Histogram


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/no.20axioms.html ---
inductive tower : set (set (set α)) | empty : tower ∅ | succ : ∀ {t}, tower t → tower (succ S t) | chain : ∀ {C}, C ⊆ chains S → is_chain C → (∀ A ∈ C, tower A) → tower { A | ∃ t ∈ C, A ∈ t } #print axioms succ -- classical.choice quot.sound propext #print axioms tower -- no axioms
Why does tower
use no axioms even though I clearly see succ
?
Kenny you are posting code which doesn't run
oops
so I can only conjecture
but not verify
that if you instead try #print axioms tower.mk
you will see the axioms you used
let me know if I answered your question
it's a prop so it has no k
mk
If it's a prop then maybe it really does use no axioms
because all those cases H
which you had to change to classical.some H
when you were working with data
An inductive type definition is not a definition in the kernel. It's built by postulating that tower
is a type of the proper universe, that empty
, succ
and chain
are functions that return a tower and that a recursor exists
sorry, someone came round
was going to finish "...can be changed back somehow"
Actually I really do not understand what is going on here.
Am I right in thinking that in general it is possible to construct Props which don't use axioms but whose construction essentially uses types which are not props and whose construction involves axioms?
How much will Prop let us forget?
I do not know if I can make my question rigorous
I don't get your question. Do you mean constructing pops that only uses inductive definitions?
The technical answer is that the code for #print axioms
does not traverse inductive declarations. It only looks at the contents and types of definitions, and types of axioms. This is probably not a problem since you presumably don't require choice if you never use tower.succ
.
Last updated: Apr 24 2020 at 19:02 UTC


A Appendix A: Methodology
A.1 YouGov sampling and weights
YouGov interviewed 2,387 respondents who were then matched down to a sample of 2,000 to produce the final dataset. The respondents were matched to a sampling frame on gender, age, race, and education. The frame was constructed by stratified sampling from the full 2016 American Community Survey (ACS) one-year sample with selection within strata by weighted sampling with replacements (using the person weights on the public use file).
The matched cases were weighted to the sampling frame using propensity scores. The matched cases and the frame were combined and a logistic regression was estimated for inclusion in the frame. The propensity score function included age, gender, race/ethnicity, years of education, and geographic region. The propensity scores were grouped into deciles of the estimated propensity score in the frame and post-stratified according to these deciles.
The weights were then post-stratified on 2016 U.S. presidential vote choice, and a four-way stratification of gender, age (four-categories), race (four-categories), and education (four-categories), to produce the final weight.
A.2 Demographic subgroups
We use the following demographic subjects in our analysis:
- Age group as defined by Pew Research Center: Millennial/post-Millennial adults (born after 1980; ages 18-37 in 2018), Gen Xers (born 1965-1980; ages 38-53 in 2018), Baby Boomers (born 1946-1964; ages 54-72 in 2018), Silents/Greatest Generation (1945 and earlier; ages 73 and over in 2018)
- Gender: male, female
- Race: white, non-white
- Level of education: graduated from high school or less, some college (including two-year college), graduated from a four-year college or more
- Employment status: employed (full- or part-time), not employed
- Annual household income: less than $30,000, $30,000-70,000, $70,000-100,000, more than $100,000, prefer not to say
- Political party identification: Democrats (includes those who lean Democrat), Republicans (includes those who lean Republican), Independents/Others
- Religion: Christian, follow other religions, non-religious
- Identifies as a born-again Christian: yes, no
- Completed a computer science or engineering degree in undergraduate or graduate school: yes, no
- Has computer science or programming experience: yes, no
We report the unweighted sample sizes of the demographic subgroups in Table A.1.
| Demographic subgroups | Unweighted sample sizes |
|---|---|
| Age 18-37 | 702 |
| Age 38-53 | 506 |
| Age 54-72 | 616 |
| Age 73 and older | 176 |
| Female | 1048 |
| Male | 952 |
| White | 1289 |
| Non-white | 711 |
| HS or less | 742 |
| Some college | 645 |
| College+ | 613 |
| Not employed | 1036 |
| Employed (full- or part-time) | 964 |
| Income less than $30K | 531 |
| Income $30-70K | 626 |
| Income $70-100K | 240 |
| Income more than $100K | 300 |
| Prefer not to say income | 303 |
| Republican | 470 |
| Democrat | 699 |
| Independent/Other | 831 |
| Christian | 1061 |
| No religious affiliation | 718 |
| Other religion | 221 |
| Not born-again Christian | 1443 |
| Born-again Christian | 557 |
| No CS or engineering degree | 1805 |
| CS or engineering degree | 195 |
| No CS or programming experience | 1265 |
| CS or programming experience | 735 |
A.3 Analysis
We pre-registered the analysis of this survey on Open Science Framework. Pre-registration increases research transparency by requiring researchers to specify their analysis before analyzing the data (Nosek et al. 2018). Doing so prevents researchers from misusing data analysis to come up with statistically significant results when they do not exist, otherwise known as \(p\)-hacking.
Unless otherwise specified, we performed the following procedure:
Survey weights provided by YouGov were used in our primary analysis. For transparency, Appendix B contains the unweighted topline results, including raw frequencies.
For estimates of summary statistics or coefficients, “don’t know” or missing responses were re-coded to the weighted overall mean, unconditional on treatment conditions. Almost all questions had a “don’t know” option. If more than 10% of the variable’s values were don’t know" or missing, we included a (standardized) dummy variable for “don’t know”/missing in the analysis. For survey experiment questions, we compared “don’t know”/missing rates across experimental conditions. Our decision was informed by the Standard Operating Procedures for Don Green’s Lab at Columbia University (Lin and Green 2016).
Heteroscedasticity-consistent standard errors were used to generate the margins of error at the 95% confidence level. We report cluster-robust standard errors whenever there is clustering by respondent. In figures, each error bar shows the 95% confidence intervals. Each confidence ellipse shows the 95% confidence region of the bivariate means assuming the two variables are distributed multivariate normal.
In regression tables, * denotes \(p<0.05\), ** denotes \(p<0.01\), and *** denotes \(p<0.001\).
A.4 Data sharing
Our survey data, as well as the R and Markdown code that produced this report, are publicly available through the Harvard Dataverse. Below is the citation for the replication data:
Zhang, Baobao; Dafoe, Allan, 2019, “Replication Data for: Artificial Intelligence: American Attitudes and Trends (January 9, 2019)”, https://doi.org/10.7910/DVN/SGFRYA, Harvard Dataverse, V1, UNF:6:XASNQjh6L8LmDwZVrXw4Iw==
References
Lin, Winston, and Donald P Green. 2016. “Standard Operating Procedures: A Safety Net for Pre-Analysis Plans.” PS: Political Science & Politics 49 (3): 495–500.
Nosek, Brian A, Charles R Ebersole, Alexander C DeHaven, and David T Mellor. 2018. “The Preregistration Revolution.” Proceedings of the National Academy of Sciences 115 (11): 2600–2606.


Search
Campaigns
Categories
Animals
Business
Charity
Community
Competitions
Creative
View all
How it works
Login
Sign up
×
Search
Login
Fundme | Crowdfunding Platform
Welcome back!
Remember me
Forgot Password?
Sign In


Pizza Order Form Delivery Information Name Street Address City Email Phone Order Crust Thin Crust Deep Dish Size Small Medium Large Extra Large Topping(s) Pepperoni Sausage Green Peppers Onions Extra Cheese Special Instructions Order Summary Deliver to Order


class: center, middle # ETLocal ## Sprint meeting --- # Agenda 1. Overview 2. What did we do the previous sprint? 3. What didn't we do? 4. What are we going to do? --- # Overview:
--- # What did we do the previous sprint?
---
---
---
--- # (Updated) schematic households analysis
--- # Schematic households analysis
--- # Schematic households analysis
--- # To summarize - Made it possible to download a dataset as a full zip file - Restructured the interface - Finalized schematic of the households analysis - Various discussions led to finalized households analysis --- # What didn't we do? - Implement a full households analysis, buildings analysis - Excel analysis incomplete - To complex --- # Project deliverables + preliminary planning To eliminate the use of Excel:
Households
Buildings
Industry
Agriculture + Other
Supply
Transport
Excel
1
0~
0?
0?
0?
0?
Discussion
0
1
1
1
1
1
Schematic
3
3
3
3
3
3
Code design
2
1
1
1
1
1
Discussion code design
1
0
1
0
1
1
Code implementation
3
2
2
2
2
2
Merging
0.5
0.5
0.5
0.5
0.5
0.5
Bugs
1
1
1
1
1
1
Total
7.5
8.5
9.5
8.5
9.5
9.5
Sprints
1
1
1
1
1
1
(6 sprints + 1) x 2 weeks = 14 weeks ~ done by the end of november --- # What are we going to do? **Etlocal:** - Households analysis - Technical design (3 days) - Actual implementation (3 days)


ActionTree¶
ActionTree is a Python (2.7 and 3.5+) library to execute (long) actions in parallel, respecting dependencies between those actions.
You create a dependency graph of actions to be executed and then call the execute
function on its root.
It’s licensed under the MIT license. It’s available on the Python package index, its documentation and its source code are on GitHub.
Questions? Remarks? Bugs? Want to contribute? Open an issue!
Quick start¶
Install from PyPI:
$ pip install ActionTree
Import:
>>> from ActionTree import execute
>>> from ActionTree.stock import CallSubprocess
Execute some action:
>>> link = CallSubprocess(["g++", "a.o", "b.o", "-o", "test"])
>>> link.add_dependency(CallSubprocess(["g++", "-c", "a.cpp", "-o", "a.o"]))
>>> link.add_dependency(CallSubprocess(["g++", "-c", "b.cpp", "-o", "b.o"]))
>>> report = execute(link)
And verify everything went well:
>>> report.is_success
True
>>> os.path.isfile("test")
True


nimbusinator.command.Command¶
-
class
nimbusinator.command.
Command
(nimbus)¶ Nimbus commands
This class contains the commands to control the Nimbus display. The commands mimick the syntax found in RM Basic but re-written Pythonically. In creating an object of this class it must be bound to a pre-existing Nimbus object. It is highly recommended to read the original Nimbus manuals (particularly RM Basic) to get a deeper understanding of how these commands originally worked.
- Parameters
nimbus (Nimbus) – The Nimbus object to bind to
-
area
(coord_list, brush=None, scale=1)¶ Draw a filled polygon
- Parameters
coord_list (list) – A list of (x, y) tuples
brush (int, optional) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
scale (int, optional) – Scale factor. To elongate pass a tuple (x_size, y_size)
-
ask_brush
()¶ Return the current brush colour
- Returns
int
-
ask_charset
()¶ Return the current charset for text
0 is the standard font, 1 is the other font
- Returns
int
-
ask_curpos
()¶ Gets the current cursor position as column index, row index
- Returns
(int, int)
-
ask_paper
()¶ Return the current paper colour
- Returns
int
-
ask_pen
()¶ Return the current pen colour
- Returns
int
-
ask_plot_font
()¶ Return the current plot_font
0 is the standard font, 1 is the other font
- Returns
int
-
ask_points_style
()¶ Gets the current points style
- Returns
int
-
circle
(radius, coord_list, brush=None)¶ Draw one or more circles
- Parameters
radius (int) – The radius of the circle
coord_list (list) – A list of (x, y) tuples
brush (int, optional) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
-
cls
()¶ Clear the screen of all text and graphics and reset cursor position
-
fetch
(block_number, filename)¶ Fetch an image from disk and allocate it to an image block
Equivalent to FETCH in the ANIMATE extension. All major image formats are supported but in this loading images with alpha layers may break. It is also advisable to resize your image to fit the Nimbus screen mode using an image editor beforehand.
- Parameters
block_number (int) – The block number to store the image in
filename (str) – The filename of the image to fetch
-
flush
()¶ Clears the keyboard buffer
-
gets
()¶ Get the oldest char in the keyboard buffer
Equivalent to GET$ in RM Basic except it will also return the following values if a control key is pressed: ‘__F1__’, ‘__F2__’, … , ‘__F10__’, ‘__CTRL_L__’, ‘__CTRL_R__’, ‘__ENTER__’, ‘__BACKSPACE__’, ‘__ESC__’, ‘__DELETE__’, ‘__HOME__’, ‘__PAGE_UP__’, ‘__END__’, ‘__PAGE_DOWN__’, ‘__INSERT__’, ‘__UP__’, ‘__DOWN__’, ‘__LEFT__’, ‘__RIGHT__’, ‘__TAB__’
- Returns
str
-
input
(prompt)¶ Collects keyboard input until user presses ENTER then returns the input as a string
- Parameters
prompt (str) – Message to be printed
- Returns
str
-
line
(coord_list, brush=None)¶ Draw one or more connected straight lines
- Parameters
coord_list (list) – A list of (x, y) tuples
brush (int, optional) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
-
plonk_logo
(coord)¶ Plonk the RM Nimbus logo on screen
- Parameters
coord (tuple) – The (x, y) position to plonk the logo
-
plot
(text, coord, size=1, brush=None, direction=0, font=None)¶ Plot text on the screen
- Parameters
text (str) – The text to be plotted
coord (tuple) – The (x, y) position of the text
size (int, optional) – Font size. To elongate pass a tuple (x_size, y_size)
brush (int, optional) – Brush colour
direction (int, optional) – 0=normal, 1=-90deg, 2=180deg, 3=-270deg
font (int, optional) – 0 is the standard font, 1 is the other font
-
points
(coord_list, brush=None, size=1, style=None)¶ Draw points on the screen
- Parameters
coord_list (list) –
coord_list – A list of (x, y) tuples
brush (int, optional) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
size (int, optional) – Font size. To elongate pass a tuple (x_size, y_size)
style (int, optional) – The points style number (0 255)
-
print
(text)¶ Print a string with carriage return at end
- Parameters
text (str) – The text to be printed
-
put
(ascii_data)¶ Put a single character or string at the current cursor position
- Parameters
ascii_data (int/str) – If an int is passed the corresponding ASCII character will be plotted. If a string is passed then the string will be printed without a terminating carriage return.
-
set_border
(colour)¶ Set the border colour
- Parameters
colour (int) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
-
set_brush
(colour)¶ Set the brush colour
- Parameters
colour (int) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
-
set_charset
(charset)¶ Set the charset for text
- Parameters
charset (int) – 0 is the standard font, 1 is the other font!
-
set_colour
(colour1, colour2)¶ Set a colour to a new colour
- Parameters
colour1 (int) – The colour code to be changed
colour2 (int) – The new colour to be assigned to colour1
-
set_curpos
(cursor_position)¶ Set the cursor position
- Parameters
cursor_position (tuple) – The new cursor position (column, row)
-
set_cursor
(flag)¶ Show or hide cursor
- Parameters
flag (boolean) – True to show cursor, False to hide
-
set_mode
(columns)¶ Select either high-resolution or low-resolution screen mode
In RM Basic the screen resolution was set by the number of columns: 40 for low-resolution and 80 for high-resolution. Any other values had no effect. Nimbusinator is more strict and will yield an error if any other values are entered. Check the original RM Basic manual for a description of how screen resolutions worked on the Nimbus.
MODE 40: 40 columns, 25 rows; 320 pixels wide, 250 pixels high; 16 colours
MODE 80: 80 columns, 25 rows; 640 pixels wide, 250 pixels high (but doubled along vertical axis); 4 colours
- Parameters
columns (int) – The number of colums (40 or 80)
-
set_paper
(colour)¶ Set the paper colour
- Parameters
colour (int) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
-
set_pen
(colour)¶ Set the pen colour
- Parameters
colour (int) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
-
set_plot_font
(plot_font)¶ Set the plot font
- Parameters
plot_font (int) – 0 is the standard font, 1 is the other font!
-
set_points_style
(points_style, points_list)¶ Set a points style to that define in a points list
You can define up to 256 points styles (0 - 255). The points list is similar to the way patterns are define in RM Basic. Each row in the points style is define by a string, with full-stop chars (.) indicating a filled pixel, and spaces ( ) indicating a filled pixel. The size of a points style is 8x8 pixels.
- Parameters
points_style (int) – The points style number (0 255)
points_list (list) – The points list as defined above
-
slice_
(radius, from_angle, to_angle, coord_list, brush=None)¶ Draw one or more pie slices
- Parameters
radius (int) – The radius of the slice
from_angle (int) – The starting angle (degrees)
to_angle (int) – The finishing angle (degrees)
coord_list (list) – A list of (x, y) tuples
brush (int, optional) – Colour value (High-resolution: 0-3, low-resolution: 0-15)
-
writeblock
(block_number, coord)¶ Write an image block to the screen
Equivalent to WRITEBLOCK in the ANIMATE extension. Alpha layers are not yet supported - see documentation for fetch command.
- Parameters
block_number (int) – The block number of the image block
coord (tuple) – The (x, y) position of the image


Base class for report message element. Defines common interface.
| uvm_report_message_element_base | Base class for report message element. |
| uvm_report_message_int_element | Message element class for integral type |
| uvm_report_message_string_element | Message element class for string type |
| uvm_report_message_object_element | Message element class for object type |
| uvm_report_message_element_container | A container used by report message to contain the dynamically added elements, with APIs to add and delete the elements. |
| uvm_report_message | The uvm_report_message is the basic UVM object message class. |
virtual function string get_name()
virtual function uvm_action get_action()
virtual function void set_action( uvm_action action )
Get or set the authorized action for the element
Message element class for integral type
| uvm_report_message_int_element | |||
| Message element class for integral type | |||
| Class Hierarchy | |||
| |||
| Class Declaration | |||
| |||
| Methods | |||
| get_value | |||
| set_value | Get or set the value (integral type) of the element, with size and radix |
virtual function uvm_bitstream_t get_value( output int size, output uvm_radix_enum radix )
virtual function void set_value( uvm_bitstream_t value, int size, uvm_radix_enum radix )
Get or set the value (integral type) of the element, with size and radix
Message element class for string type
| uvm_report_message_string_element | |||
| Message element class for string type | |||
| Class Hierarchy | |||
| |||
| Class Declaration | |||
| |||
| Methods | |||
| get_value | |||
| set_value | Get or set the value (string type) of the element |
virtual function string get_value()
virtual function void set_value( string value )
Get or set the value (string type) of the element
Message element class for object type
| uvm_report_message_object_element | |||
| Message element class for object type | |||
| Class Hierarchy | |||
| |||
| Class Declaration | |||
| |||
| Methods | |||
| get_value | Get the value (object reference) of the element | ||
| set_value | Get or set the value (object reference) of the element |
virtual function void set_value( uvm_object value )
Get or set the value (object reference) of the element
A container used by report message to contain the dynamically added elements, with APIs to add and delete the elements.
| uvm_report_message_element_container | ||||
| A container used by report message to contain the dynamically added elements, with APIs to add and delete the elements. | ||||
| Class Hierarchy | ||||
| ||||
| Class Declaration | ||||
| ||||
| Methods | ||||
| new | Create a new uvm_report_message_element_container object | |||
| size | Returns the size of the container, i.e. | |||
| delete | Delete the index-th element in the container | |||
| delete_elements | Delete all the elements in the container | |||
| get_elements | Get all the elements from the container and put them in a queue | |||
| add_int | This method adds an integral type of the name name and value value to the container. | |||
| add_string | This method adds a string of the name name and value value to the message. | |||
| add_object | This method adds a uvm_object of the name name and reference obj to the message. |
function new( string name = "element_container" )
Create a new uvm_report_message_element_container object
Get all the elements from the container and put them in a queue
virtual function void add_int( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds an integral type of the name name and value value to the container. The required size field indicates the size of value. The required radix field determines how to display and record the field. The optional print/record bit is to specify whether the element will be printed/recorded.
virtual function void add_string( string name, string value, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a string of the name name and value value to the message. The optional print/record bit is to specify whether the element will be printed/recorded.
virtual function void add_object( string name, uvm_object obj, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a uvm_object of the name name and reference obj to the message. The optional print/record bit is to specify whether the element will be printed/recorded.
The uvm_report_message is the basic UVM object message class. It provides the fields that are common to all messages. It also has a message element container and provides the APIs necessary to add integral types, strings and uvm_objects to the container. The report message object can be initialized with the common fields, and passes through the whole reporting system (i.e. report object, report handler, report server, report catcher, etc) as an object. The additional elements can be added/deleted to/from the message object anywhere in the reporting system, and can be printed or recorded along with the common fields.
| uvm_report_message | ||||
| The uvm_report_message is the basic UVM object message class. | ||||
| Class Hierarchy | ||||
| ||||
| Class Declaration | ||||
| ||||
| new | Creates a new uvm_report_message object. | |||
| new_report_message | Creates a new uvm_report_message object. | |||
| The uvm_report_message implements uvm_object::do_print() such that print method provides UVM printer formatted output of the message. | ||||
| Infrastructure References | ||||
| get_report_object | ||||
| set_report_object | Get or set the uvm_report_object that originated the message. | |||
| get_report_handler | ||||
| set_report_handler | Get or set the uvm_report_handler that is responsible for checking whether the message is enabled, should be upgraded/downgraded, etc. | |||
| get_report_server | ||||
| set_report_server | Get or set the uvm_report_server that is responsible for servicing the message’s actions. | |||
| Message Fields | ||||
| get_severity | ||||
| set_severity | Get or set the severity (UVM_INFO, UVM_WARNING, UVM_ERROR or UVM_FATAL) of the message. | |||
| get_id | ||||
| set_id | Get or set the id of the message. | |||
| get_message | ||||
| set_message | Get or set the user message content string. | |||
| get_verbosity | ||||
| set_verbosity | Get or set the message threshold value. | |||
| get_filename | ||||
| set_filename | Get or set the file from which the message originates. | |||
| get_line | ||||
| set_line | Get or set the line in the file from which the message originates. | |||
| get_context | ||||
| set_context | Get or set the optional user-supplied string that is meant to convey the context of the message. | |||
| get_action | ||||
| set_action | Get or set the action(s) that the uvm_report_server should perform for this message. | |||
| get_file | ||||
| set_file | Get or set the file that the message is to be written to when the message’s action is UVM_LOG. | |||
| get_element_container | Get the element_container of the message | |||
| set_report_message | Set all the common fields of the report message in one shot. | |||
| Message Element APIs | ||||
| add_int | This method adds an integral type of the name name and value value to the message. | |||
| add_string | This method adds a string of the name name and value value to the message. | |||
| add_object | This method adds a uvm_object of the name name and reference obj to the message. |
static function uvm_report_message new_report_message( string name = "uvm_report_message" )
Creates a new uvm_report_message object. This function is the same as new(), but keeps the random stability.
virtual function void do_print( uvm_printer printer )
The uvm_report_message implements uvm_object::do_print() such that print method provides UVM printer formatted output of the message. A snippet of example output is shown here:
-------------------------------------------------------- Name Type Size Value -------------------------------------------------------- uvm_report_message uvm_report_message - @532 severity uvm_severity 2 UVM_INFO id string 10 TEST_ID message string 12 A message... verbosity uvm_verbosity 32 UVM_LOW filename string 7 test.sv line integral 32 'd58 context_name string 0 "" color string 3 red my_int integral 32 'd5 my_string string 3 foo my_obj my_class - @531 foo integral 32 'd3 bar string 8 hi there
virtual function uvm_report_object get_report_object()
virtual function void set_report_object( uvm_report_object ro )
Get or set the uvm_report_object that originated the message.
virtual function uvm_report_handler get_report_handler()
virtual function void set_report_handler( uvm_report_handler rh )
Get or set the uvm_report_handler that is responsible for checking whether the message is enabled, should be upgraded/downgraded, etc.
virtual function uvm_report_server get_report_server()
virtual function void set_report_server( uvm_report_server rs )
Get or set the uvm_report_server that is responsible for servicing the message’s actions.
virtual function uvm_severity get_severity()
virtual function void set_severity( uvm_severity sev )
Get or set the severity (UVM_INFO, UVM_WARNING, UVM_ERROR or UVM_FATAL) of the message. The value of this field is determined via the API used (`uvm_info(), `uvm_waring(), etc.) and populated for the user.
virtual function string get_id()
virtual function void set_id( string id )
Get or set the id of the message. The value of this field is completely under user discretion. Users are recommended to follow a consistent convention. Settings in the uvm_report_handler allow various messaging controls based on this field. See uvm_report_handler.
virtual function string get_message()
virtual function void set_message( string msg )
Get or set the user message content string.
virtual function int get_verbosity()
virtual function void set_verbosity( int ver )
Get or set the message threshold value. This value is compared against settings in the uvm_report_handler to determine whether this message should be executed.
virtual function string get_filename()
virtual function void set_filename( string fname )
Get or set the file from which the message originates. This value is automatically populated by the messaging macros.
virtual function int get_line()
virtual function void set_line( int ln )
Get or set the line in the file from which the message originates. This value is automatically populate by the messaging macros.
virtual function string get_context()
virtual function void set_context( string cn )
Get or set the optional user-supplied string that is meant to convey the context of the message. It can be useful in scopes that are not inherently UVM like modules, interfaces, etc.
virtual function uvm_action get_action()
virtual function void set_action( uvm_action act )
Get or set the action(s) that the uvm_report_server should perform for this message. This field is populated by the uvm_report_handler during message execution flow.
virtual function UVM_FILE get_file()
virtual function void set_file( UVM_FILE fl )
Get or set the file that the message is to be written to when the message’s action is UVM_LOG. This field is populated by the uvm_report_handler during message execution flow.
virtual function uvm_report_message_element_container get_element_container()
Get the element_container of the message
virtual function void set_report_message( uvm_severity severity, string id, string message, int verbosity, string filename, int line, string context_name )
Set all the common fields of the report message in one shot.
virtual function void add_int( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds an integral type of the name name and value value to the message. The required size field indicates the size of value. The required radix field determines how to display and record the field. The optional print/record bit is to specify whether the element will be printed/recorded.
virtual function void add_string( string name, string value, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a string of the name name and value value to the message. The optional print/record bit is to specify whether the element will be printed/recorded.
virtual function void add_object( string name, uvm_object obj, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a uvm_object of the name name and reference obj to the message. The optional print/record bit is to specify whether the element will be printed/recorded.
Base class for report message element.
virtual class uvm_report_message_element_base
Message element class for integral type
class uvm_report_message_int_element extends uvm_report_message_element_base
Message element class for string type
class uvm_report_message_string_element extends uvm_report_message_element_base
Message element class for object type
class uvm_report_message_object_element extends uvm_report_message_element_base
A container used by report message to contain the dynamically added elements, with APIs to add and delete the elements.
class uvm_report_message_element_container extends uvm_object
The uvm_report_message is the basic UVM object message class.
class uvm_report_message extends uvm_object
virtual function uvm_bitstream_t get_value( output int size, output uvm_radix_enum radix )
Get or set the value (integral type) of the element, with size and radix
virtual function void set_value( uvm_bitstream_t value, int size, uvm_radix_enum radix )
virtual function string get_value()
Get or set the value (string type) of the element
virtual function void set_value( string value )
Get the value (object reference) of the element
virtual function uvm_object get_value()
Get or set the value (object reference) of the element
virtual function void set_value( uvm_object value )
The uvm_void class is the base class for all UVM classes.
virtual class uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
Create a new uvm_report_message_element_container object
function new( string name = "element_container" )
Returns the size of the container, i.e.
virtual function int size()
Delete the index-th element in the container
virtual function void delete( int index )
Delete all the elements in the container
virtual function void delete_elements()
This method adds an integral type of the name name and value value to the container.
virtual function void add_int( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a string of the name name and value value to the message.
virtual function void add_string( string name, string value, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a uvm_object of the name name and reference obj to the message.
virtual function void add_object( string name, uvm_object obj, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
Creates a new uvm_report_message object.
function new( string name = "uvm_report_message" )
Creates a new uvm_report_message object.
static function uvm_report_message new_report_message( string name = "uvm_report_message" )
The uvm_report_message implements uvm_object::do_print() such that print method provides UVM printer formatted output of the message.
virtual function void do_print( uvm_printer printer )
The do_print method is the user-definable hook called by print and sprint that allows users to customize what gets printed or sprinted beyond the field information provided by the `uvm_field_* macros, Utility and Field Macros for Components and Objects.
virtual function void do_print ( uvm_printer printer )
virtual function uvm_report_object get_report_object()
Get or set the uvm_report_object that originated the message.
virtual function void set_report_object( uvm_report_object ro )
virtual function uvm_report_handler get_report_handler()
Get or set the uvm_report_handler that is responsible for checking whether the message is enabled, should be upgraded/downgraded, etc.
virtual function void set_report_handler( uvm_report_handler rh )
virtual function uvm_report_server get_report_server()
Get or set the uvm_report_server that is responsible for servicing the message’s actions.
virtual function void set_report_server( uvm_report_server rs )
virtual function uvm_severity get_severity()
Get or set the severity (UVM_INFO, UVM_WARNING, UVM_ERROR or UVM_FATAL) of the message.
virtual function void set_severity( uvm_severity sev )
virtual function string get_id()
Get or set the id of the message.
virtual function void set_id( string id )
virtual function string get_message()
Get or set the user message content string.
virtual function void set_message( string msg )
virtual function int get_verbosity()
Get or set the message threshold value.
virtual function void set_verbosity( int ver )
virtual function string get_filename()
Get or set the file from which the message originates.
virtual function void set_filename( string fname )
virtual function int get_line()
Get or set the line in the file from which the message originates.
virtual function void set_line( int ln )
virtual function string get_context()
Get or set the optional user-supplied string that is meant to convey the context of the message.
virtual function void set_context( string cn )
virtual function uvm_action get_action()
Get or set the action(s) that the uvm_report_server should perform for this message.
virtual function void set_action( uvm_action act )
virtual function UVM_FILE get_file()
Get or set the file that the message is to be written to when the message’s action is UVM_LOG.
virtual function void set_file( UVM_FILE fl )
Get the element_container of the message
virtual function uvm_report_message_element_container get_element_container()
Set all the common fields of the report message in one shot.
virtual function void set_report_message( uvm_severity severity, string id, string message, int verbosity, string filename, int line, string context_name )
This method adds an integral type of the name name and value value to the message.
virtual function void add_int( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a string of the name name and value value to the message.
virtual function void add_string( string name, string value, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
This method adds a uvm_object of the name name and reference obj to the message.
virtual function void add_object( string name, uvm_object obj, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
The uvm_report_handler is the class to which most methods in uvm_report_object delegate.
class uvm_report_handler extends uvm_object


Art thief stopped trying to steal two paintings from Rembrandt exhibition in Dulwich
The suspect sprayed a police officer with an unknown substance when he was challenged and was therefore able to get away from the Dulwich Picture Gallery in London
by Danya Bazaraa, https://www.mirror.co.uk/authors/danya-bazaraa/An intruder attempted to steal two valuable paintings at a Rembrandt exhibition before spraying police with an unknown substance and fleeing.
Officers were called at 11.30pm last night to reports of an alarm at Dulwich Picture Gallery.
An intruder appeared to have forced entry into the gallery and removed the two paintings, which were part of an exhibition.
But when the suspect was challenged by police, they used a canister to spray the officer in the face with an unknown substance.
The suspect was then able to get away.
Police say the officer who was sprayed did not suffer serious injuries and was able to continue working.
Both paintings were later found.
A Met Police statement said: "The officer located and recovered one painting, and in cooperation with security staff, the other painting was also quickly found.
"Neither painting had left the gallery grounds and both remain in the gallery’s care.
"Detectives from the Flying Squad are investigating."
Detective Inspector Jason Barber from the Flying Squad said: “This was an audacious attempted burglary and was clearly planned in advance. Two paintings in the exhibition were targeted and it was only down to the prompt response of gallery security staff and the courage and swift intervention of officers that these two works of art were not stolen. Thankfully both the paintings were quickly recovered and secured.”
“Our enquires now centre on finding whoever was responsible for this crime and I would ask anyone with information to call police.”
A statement from Dulwich Picture Gallery: "Last night intruders attempted to remove two paintings from Dulwich Picture Gallery’s 'Rembrandt’s Light’ exhibition.
"The intruders were detected by the gallery’s robust security systems and, thanks to the immediate intervention of security staff and the swift response of the Metropolitan Police, the paintings were secured at the scene.
"The exhibition and gallery will remain closed until further notice, to allow the police to conduct a full investigation into the incident."
Any witnesses or anyone with any information is asked to call police on 101 or contact via Twitter @MetCC. Quote CAD 8662/13NOV.
To give information anonymously contact Crimestoppers on 0800 555 111 or online at crimestoppers-uk.org.


3.1 The IV Estimator with a Single Regressor and a Single Instrument
Consider the simple regression model
\[\begin{align} Y_i = \beta_0 + \beta_1 X_i + u_i \ \ , \ \ i=1,\dots,n \tag{3.1} \end{align}\]where the error term \(u_i\) is correlated with the regressor \(X_i\) (\(X\) is endogenous) such that OLS is inconsistent for the true \(\beta_1\). In the most simple case, IV regression uses a single instrumental variable \(Z\) to obtain a consistent estimator for \(\beta_1\).
\(Z\) must satisfy two conditions to be a valid instrument:
1. Instrument relevance condition:
2. Instrument exogeneity condition:
The Two-Stage Least Squares Estimator
As can be guessed from its name, TSLS proceeds in two stages. In the first stage, the variation in the endogenous regressor \(X\) is decomposed into a problem-free component that is explained by the instrument \(Z\) and a problematic component that is correlated with the error \(u_i\). The second stage uses the problem-free component of the variation in \(X\) to estimate \(\beta_1\).
The first stage regression model is \[X_i = \pi_0 + \pi_1 Z_i + \nu_i,\] where \(\pi_0 + \pi_1 Z_i\) is the component of \(X_i\) that is explained by \(Z_i\) while \(\nu_i\) is the component that cannot be explained by \(Z_i\) and exhibits correlation with \(u_i\).
Using the OLS estimates \(\widehat{\pi}_0\) and \(\widehat{\pi}_1\) we obtain predicted values \(\widehat{X}_i, \ \ i=1,\dots,n\). If \(Z\) is a valid instrument, the \(\widehat{X}_i\) are problem-free in the sense that \(\widehat{X}\) is exogenous in a regression of \(Y\) on \(\widehat{X}\) which is done in the second stage regression. The second stage produces \(\widehat{\beta}_0^{TSLS}\) and \(\widehat{\beta}_1^{TSLS}\), the TSLS estimates of \(\beta_0\) and \(\beta_1\).
For the case of a single instrument one can show that the TSLS estimator of \(\beta_1\) is
\[\begin{align} \widehat{\beta}_1^{TSLS} = \frac{s_{ZY}}{s_{ZX}} = \frac{\frac{1}{n-1}\sum_{i=1}^n(Y_i - \overline{Y})(Z_i - \overline{Z})}{\frac{1}{n-1}\sum_{i=1}^n(X_i - \overline{X})(Z_i - \overline{Z})}, \tag{3.2} \end{align}\]which is nothing but the ratio of the sample covariance between \(Z\) and \(Y\) to the sample covariance between \(Z\) and \(X\).
As shown in Appendix 12.3 of the book, (3.2) is a consistent estimator for \(\beta_1\) in (3.1) under the assumption that \(Z\) is a valid instrument. Just as for every other OLS estimator we have considered so far, the CLT implies that the distribution of \(\widehat{\beta}_1^{TSLS}\) can be approximated by a normal distribution if the sample size is large. This allows us to use \(t\)-statistics and confidence intervals which are also computed by certain R functions. A more detailed argument on the large-sample distribution of the TSLS estimator is sketched in Appendix 12.3 of the book.
Application to the Demand For Cigarettes
The relation between the demand for and the price of commodities is a simple yet widespread problem in economics. Health economics is concerned with the study of how health-affecting behavior of individuals is influenced by the health-care system and regulation policy. Probably the most prominent example in public policy debates is smoking as it is related to many illnesses and negative externalities.
It is plausible that cigarette consumption can be reduced by taxing cigarettes more heavily. The question is by how much taxes must be increased to reach a certain reduction in cigarette consumption. Economists use elasticities to answer this kind of question. Since the price elasticity for the demand of cigarettes is unknown, it must be estimated. As discussed in the box Who Invented Instrumental Variables Regression presented in Chapter 12.1 of the book, an OLS regression of log quantity on log price cannot be used to estimate the effect of interest since there is simultaneous causality between demand and supply. Instead, IV regression can be used.
We use the data set CigarettesSW which comes with the package AER. It is a panel data set that contains observations on cigarette consumption and several economic indicators for all 48 continental federal states of the U.S. from 1985 to 1995. Following the book we consider data for the cross section of states in 1995 only.
We start by loading the package, attaching the data set and getting an overview.
# load the data set and get an overview
library(AER)
data("CigarettesSW")
summary(CigarettesSW)
## state year cpi population
## AL : 2 1985:48 Min. :1.076 Min. : 478447
## AR : 2 1995:48 1st Qu.:1.076 1st Qu.: 1622606
## AZ : 2 Median :1.300 Median : 3697472
## CA : 2 Mean :1.300 Mean : 5168866
## CO : 2 3rd Qu.:1.524 3rd Qu.: 5901500
## CT : 2 Max. :1.524 Max. :31493524
## (Other):84
## packs income tax price
## Min. : 49.27 Min. : 6887097 Min. :18.00 Min. : 84.97
## 1st Qu.: 92.45 1st Qu.: 25520384 1st Qu.:31.00 1st Qu.:102.71
## Median :110.16 Median : 61661644 Median :37.00 Median :137.72
## Mean :109.18 Mean : 99878736 Mean :42.68 Mean :143.45
## 3rd Qu.:123.52 3rd Qu.:127313964 3rd Qu.:50.88 3rd Qu.:176.15
## Max. :197.99 Max. :771470144 Max. :99.00 Max. :240.85
##
## taxs
## Min. : 21.27
## 1st Qu.: 34.77
## Median : 41.05
## Mean : 48.33
## 3rd Qu.: 59.48
## Max. :112.63
##
Use ?CigarettesSW
for a detailed description of the variables.
We are interested in estimating \(\beta_1\) in
\[\begin{align} \log(Q_i^{cigarettes}) = \beta_0 + \beta_1 \log(P_i^{cigarettes}) + u_i, \tag{3.3} \end{align}\]where \(Q_i^{cigarettes}\) is the number of cigarette packs per capita sold and \(P_i^{cigarettes}\) is the after-tax average real price per pack of cigarettes in state \(i\).
The instrumental variable we are going to use for instrumenting the endogenous regressor \(\log(P_i^{cigarettes})\) is \(SalesTax\), the portion of taxes on cigarettes arising from the general sales tax. \(SalesTax\) is measured in dollars per pack. The idea is that \(SalesTax\) is a relevant instrument as it is included in the after-tax average price per pack. Also, it is plausible that \(SalesTax\) is exogenous since the sales tax does not influence quantity sold directly but indirectly through the price.
We perform some transformations in order to obtain deflated cross section data for the year 1995.
We also compute the sample correlation between the sales tax and price per pack. The sample correlation is a consistent estimator of the population correlation. The estimate of approximately \(0.614\) indicates that \(SalesTax\) and \(P_i^{cigarettes}\) exhibit positive correlation which meets our expectations: higher sales taxes lead to higher prices. However, a correlation analysis like this is not sufficient for checking whether the instrument is relevant. We will later come back to the issue of checking whether an instrument is relevant and exogenous.
# compute real per capita prices
CigarettesSW$rprice <- with(CigarettesSW, price / cpi)
# compute the sales tax
CigarettesSW$salestax <- with(CigarettesSW, (taxs - tax) / cpi)
# check the correlation between sales tax and price
cor(CigarettesSW$salestax, CigarettesSW$price)
## [1] 0.6141228
# generate a subset for the year 1995
c1995 <- subset(CigarettesSW, year == "1995")
The first stage regression is \[\log(P_i^{cigarettes}) = \pi_0 + \pi_1 SalesTax_i + \nu_i.\] We estimate this model in R using lm(). In the second stage we run a regression of \(\log(Q_i^{cigarettes})\) on \(\widehat{\log(P_i^{cigarettes})}\) to obtain \(\widehat{\beta}_0^{TSLS}\) and \(\widehat{\beta}_1^{TSLS}\).
# perform the first stage regression
cig_s1 <- lm(log(rprice) ~ salestax, data = c1995)
coeftest(cig_s1, vcov = vcovHC, type = "HC1")
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.6165463 0.0289177 159.6444 < 2.2e-16 ***
## salestax 0.0307289 0.0048354 6.3549 8.489e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The first stage regression is \[\widehat{\log(P_i^{cigarettes})} = \underset{(0.03)}{4.62} + \underset{(0.005)}{0.031} SalesTax_i\] which predicts the relation between sales tax price per cigarettes to be positive. How much of the observed variation in \(\log(P^{cigarettes})\) is explained by the instrument \(SalesTax\)? This can be answered by looking at the regression’s \(R^2\) which states that about \(47\%\) of the variation in after tax prices is explained by the variation of the sales tax across states.
# inspect the R^2 of the first stage regression
summary(cig_s1)$r.squared
## [1] 0.4709961
We next store \(\widehat{\log(P_i^{cigarettes})}\), the fitted values obtained by the first stage regression cig_s1, in the variable lcigp_pred.
# store the predicted values
lcigp_pred <- cig_s1$fitted.values
Next, we run the second stage regression which gives us the TSLS estimates we seek.
# run the stage 2 regression
cig_s2 <- lm(log(c1995$packs) ~ lcigp_pred)
coeftest(cig_s2, vcov = vcovHC)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.71988 1.70304 5.7074 7.932e-07 ***
## lcigp_pred -1.08359 0.35563 -3.0469 0.003822 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Thus estimating the model (3.3) using TSLS yields
\[\begin{align} \widehat{\log(Q_i^{cigarettes})} = \underset{(1.70)}{9.72} + \underset{(0.36)}{1.08} \log(P_i^{cigarettes}), \tag{3.4} \end{align}\]where we write \(\log(P_i^{cigarettes})\) instead of \(\widehat{\log(P_i^{cigarettes})}\) for consistency with the book.
The function ivreg() from the package AER carries out TSLS procedure automatically. It is used similarly as lm(). Instruments can be added to the usual specification of the regression formula using a vertical bar separating the model equation from the instruments. Thus, for the regression at hand the correct formula is log(packs) ~ log(rprice) | salestax.
# perform TSLS using 'ivreg()'
cig_ivreg <- ivreg(log(packs) ~ log(rprice) | salestax, data = c1995)
coeftest(cig_ivreg, vcov = vcovHC, type = "HC1")
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.71988 1.52832 6.3598 8.346e-08 ***
## log(rprice) -1.08359 0.31892 -3.3977 0.001411 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
We find that the coefficient estimates coincide for both approaches.
Two Notes on the Computation of TSLS Standard Errors
We have demonstrated that running the individual regressions for each stage of TSLS using lm() leads to the same coefficient estimates as when using ivreg(). However, the standard errors reported for the second-stage regression, e.g., by coeftest() or summary(), are invalid: neither adjusts for using predictions from the first-stage regression as regressors in the second-stage regression. Fortunately, ivreg() performs the necessary adjustment automatically. This is another advantage over manual step-by-step estimation which we have done above for demonstrating the mechanics of the procedure.
Just like in multiple regression it is important to compute heteroskedasticity-robust standard errors as we have done above using vcovHC().
The TSLS estimate for \(\beta_1\) in (3.4) suggests that an increase in cigarette prices by one percent reduces cigarette consumption by roughly \(1.08\) percentage points, which is fairly elastic. However, we should keep in mind that this estimate might not be trustworthy even though we used IV estimation: there still might be a bias due to omitted variables. Thus a multiple IV regression approach is needed.


Collection of matrix factorisation operation functions. Based on the "Meschach Library", available at the anonymous ftp site thrain.anu.edu.au in the directory pub/meschach.Most matrix factorisation routines are in-situ unless otherwise specified.
Alphabetic index HTML hierarchy of classes or Java


|
YT Music Uploader
Upload your music library automatically to YouTube Music.
|
:_Repositories_YTMusicUploader_README
Automatically upload your local personal music library to YouTube Music and bulk delete from YouTube Music.
Download Version 1.7.8 Installer
This is a .Net application written in C# that uploads your personal music library to YouTube. It has a minimalistic UI for basic settings such as:
I used to have Google Play music and liked uploading my own content via its automatic library uploader application; I have a large library of music and you could stream your own uploaded songs from Google Play music without paying for a subscription...
Google Play music is on its way out in December and its replacement, YouTube Music doesn't currently have a library watcher application. You can only drag and drop manually into the browser for a limited number of songs... So, I decided to create one.
I got a subscription in the end, so some might consider this pointless in the world of streaming anything you want these days... So I suppose the only real benefit is the ability to:
Since, as far as I'm aware, YouTube Music doesn't have an official API to utilise. Therefore this application mimics the HTTP request and responses from the YouTube music site uses (F12 in Firefox is your friend).
YouTube Music uses an authentication cookie, and an authentication header consisting of a SAPISID hash from the cookie itself. Therefore, this application needs a browser so you can sign into YouTube in order to retrieve said cookie:
WebView2 is a new web control plugin for WPF and WinForms that uses Microsoft Edge. At the time of writing it's still in its infancy and has been very prone to error. The reason it's used here is because it seems to be the only web control that's able to view YouTube Music.
Using the native WPF or WinForms web control or GeckoFX you just get a web page asking to update the browser. Using CefSharp you get a page telling you the browser isn't secure enough.
I believe I've managed to get it stable, technically you need the latest Edge or maybe even still the version of Microsoft Edge from the Canary Channel:). The YT Music Uploader Application self-contains the files needed for this dependency for convenience so you shouldn't need to install anything else other than this app.
Despite some of the issues found using this control, it is actually a very good browser control. It's fast, uses little system resources and renders everything very nicely.
GOTCHAS
One thing to bear in mind, is that it requires a writable location for cache files (and other random files), and you need to set this up before navigating to any URL:
Thank you DjSt3rios for working that out: https://github.com/MicrosoftEdge/WebViewFeedback/issues/297
Also, you need to wait for the ready state of the CoreWebView2WebResource context before trying to read any properties from it (like the request headers). This is easily achievable with events:
Who knows... It's dependent on YouTube Music / Google not changing how their 'non-public' API methods are stuctured and work. Considering YouTube Music has only just recently added the ability to upload songs (and thus is very new), I suspect it's likely to change as YouTube Music develops...
I'm going to be using this application for personal use, so I'll know straight away when it's not working and will attempt to update the API call implementation as soon as possible.


I am a hard working , determined and ambitious person who has built up considerable experience over time.
Had many responsibilities such as keeping track of stock, stacking shelves , assisting customers and handling cash at the till.
Required to perform various tasks such as serving customers,maintaining the bar and keeping track of stock.All these tasks were performed under high pressure.
Responsibilities included providing customers with high quality service, keeping an eye on stock levels , handling cash and processing transactions.
 I have been lucky enough to visit the United States twice recently and it was an unforgettable experience.
I also enjoy almost every sport but especially Soccer and Basketball. I have supported Manchester United since I was young and I have attended a couple of games. I also gained a strong interes in the NBA in the last couple of years and I choose the Boston Celtics as my preferred team.
More details are available here


Just by becoming a full citizen of Anonutopia, every user becomes eligible for Anonutopia's universal basic income. However, there are plenty of ways to make money in Anonutopia by providing different kinds of services on some very different levels. You can help by investing and holding Anote and you make money just by that, you can lease your Waves to us for staking with our node and help us secure Waves network etc. Bellow are listed all the ways to make money in Anonutopia that are currently possible. This list will be continuously expanded.
Anote Holder
By buying and holding Anote you in fact create new value in our system and you get rewarded for it.  This fee is paid to you in the same cryptocurrency in which new purchase happened (Waves, Bitcoin, Ether or crypto-fiat). You can withdraw this or purchase new Anote with it.
Anote Referral
Every time you refer somebody to one of our websites or wallets using your address (by adding ?r=address), this will be saved. And in case a referred user ever purchases Anote, you will get a referral fee of 20% in currency in which the purchase happened. You can also withdraw this or purchase Anote with it. You don't have to be a holder in order to be a referral.
 You deal with cash and / or Internet banking.  You make fees by doing so.
AnonOracle
AnonOracles are the very foundations of our system and infrastructure. They carry our whole technical infrastructure, besides Waves and Ethereum. They are server daemons and they need to have a leased stake of 1,000,000 Anotes, but because of that, they make money just by providing our blockchains with outside data. Our final goal is to make AnonOracles hold all our funds in multi-signature wallets.
AnonGateway
This is basically a large Bankster running an AnonOracle node. They are our main and large scale gateways to the traditional banking systems. They are our financial institutions and in case of many countries, they probably actually will be exactly that in terms of national law.
Waves Holder
You're helping us secure Waves network as it is our underlying infrastructure. You lease your Waves tokens to our Waves node and you get rewards and fees proportionally to your stake. Lease to the address below in orther to start staking:
{{ .NodeAddress }}