| Network Working Group | J. Richer, Ed. |
| Internet-Draft | Bespoke Engineering |
| Intended status: Standards Track | May 15, 2019 |
| Expires: November 16, 2019 |
Transactional Authorization
draft-richer-transactional-authz-00
This document defines a mechanism for delegating authorization to a piece of software, and conveying that delegation to the software.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 RFC 2119 RFC 8174 when, and only when, they appear in all capitals, as shown here.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 16, 2019.
Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
The Authorization Server (AS) manages the transactions. It is defined by its transaction endpoint, a single URL that accepts a POST request with a JSON payload. The AS can also have other endpoints, including interaction endpoints.
The Authorization Requester (AR) is a party calling the AS. It can be acting as either RC or RS. (TODO: there needs to be a better term for this.)
The Resource Client (RC) requests tokens from the AS and uses tokens at the RS.
The Resource Server (RS) accepts tokens from the RC and validates them (potentially at the AS).
The Resource Owner (RO) authorizes the request from the RC to the RS
To start a transaction, the RC makes a transaction request to the transaction endpoint of the AS. The RC creates a JSON document with up to five sections.
An AS MAY
This section provides descriptive details of the client software making the call.
client: { name: "Display Name", uri: "https://example.com/client" }
This can also be presented as a client handle reference.
This section identifies the RS and describes what the RC wants to do with the API hosted at the RS. This section is an array of objects, each object representing a single resource set. That AS MUST interpret the request as being for all of the resources listed.
resources: [ { actions: ["read", "write"], locations: ["https://exapmle.com/resource"] data: ["foo", "bar"] } ]
This can also be presented as a set of resource handle references, or a combination of handles and resource structures.
This section provides a verifiable assertion about the RO interacting with the client on behalf of the request.
user: { assertion: "eyj0....", type: "oidc_id_token" }
This can also be presented as a user handle reference.
This section provides details of how the RC can interact with the RO. All interact requests MUST have the "type" field.
Each interaction type has its own parameters and behaviors, detailed below.
This can also be presented as interaction handle reference.
A redirect type interaction has the RC send the RO to a URL at the AS and interact with the AS directly, using any number of interactions. Following the interaction, the RO is sent back to the RC using the "callback" URI.
interact: { type: redirect callback: https://client.foo/ state: foo }
The device type interaction has the RC instruct the user to go to a URL at the AS using a secondary device. The user then interacts with the AS directly by entering a short code provided by the AS to the RC. Following the interaction, the RO is prompted by the AS to check their RC device, which can poll the AS until the authorization is complete.
interact: { type: device }
This section lists the keys that the client can present proof of ownership. Each key type has its own proofing mechanism and additional required parameters, listed in individual sections below.
All presented keys MUST be validated by the AS as per the Key Validation section.
This can also be presented as a key handle reference. The key referenced by a handle MUST be validated by the AS.
key: { handle: "3eru876tyhgr5678ikjhgt" }
key: { type: jwsd, jwks: { keys: [ alg: RS256, kty: ... ] } }
key: { type: mtls, cert: "MII...." }
key: { type: did, did: "did:v:foo...." }
When evaluating a transaction request, the AS can determine that it needs to have the RO present to interact with the AS before issuing a token. This interaction can include the RO logging in to the AS, authorizing the transaction, providing proof claims, determining if the transaction decision should be remembered for the future, and other items.
The AS responds to the RC based on the type of interaction supported by the RC in the transaction request.
This response can indicate a set of keys are bound to the transaction as in Key Binding. This response includes a transaction handle as in Transaction Handle.
If the RC supports a "redirect" style interaction, the AS creates a unique interaction URL and returns it to the RC. This URL MUST be associated with a single pending transaction.
{ interaction_url: "https://server.example.com/interact/123asdfklj", handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" } }
When the RC receives this response, it sends the RO to the interaction URL. When interacting with the RO, the AS MAY perform any of the behaviors in the User Interaction section.
Once the RO has completed the interaction with the AS, the AS returns the user to the RC by redirecting the RO's browser to the RC's callback URL presented at the start of the transaction, with the state parameter appended to the callback URL as a query parameter in addition to an interaction handle to be returned to the AS in a transaction continuation request.
Upon processing this request to the callback URL, the client MUST match the state value to the value it sent in the original transaction request. The RC then sends a transaction continuation request with the transaction handle returned in the interaction response and the (hash of?) the interaction handle returned as a query parameter to the callback URL.
The client sends the hash of the interaction handle as the "interact_handle" field of the transaction continuation request.
{ "handle": "80UPRY5NM33OMUKMKSKU", "interact_handle": "CuD9MrpSXVKvvI6dN1awtNLx-HhZy46hJFDBicG4KoZaCmBofvqPxtm7CDMTsUFuvcmLwi_zUN70cCvalI6ENw" }
[Open Question: error conditions. If the user denies access or there's some other authorization error, do we return to the callback? What's the attack surface here? We could always return an error page to the browser and cancel the underlying transaction, effectively killing it at the AS.]
If the AS cannot identify the source transaction from the source URL, it returns an HTTP 404 error page to the browser and optionally an error message to the user.
If the RC supports a "device" style interaction, the AS creates a unique interaction code and returns it to the RC along with a URL to give the user for interaction.
{ user_code: "ABCD1234" interaction_url: "https://server.example.com/device", wait: 30, handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" } }
When the RC receives this response, it MUST communicate the user code to the RO. If possible the RC SHOULD communicate the interaction URL to the user as well, although this can be a stable URL at the AS.
If the AS needs to do something that the RC has no part in before it can give a definitive response, the AS replies to the transaction request with a wait response. This tells the RC that it can poll the transaction after a set amount of time.
This response can indicate a set of keys are bound to the transaction as in Key Binding. This response includes a transaction handle as in Transaction Handle.
{ wait: 30, handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" } }
When the RO is interacting with the AS at the interaction endpoint, the AS MAY perform whatever actions it sees
If the AS determines that the token cannot be issued for any reason, it responds to the client with an error message. This message does not include a transaction handle, and the RC can no longer poll for this transaction. The RC MAY create a new transaction and start again.
{ error: user_denied }
TODO: we should have a robust error mechanism.
Once a transaction has begun, the AS associates that transaction with a transaction handle which is returned to the RC in one of the transaction responses.
The RC continues the transaction by making a request with the transaction handle in the body of the request. The RC MAY add additional fields depending on the type of interaction and authorization process in play.
{ transaction: "tghji76ytghj9876tghjko987yh" }
key: { access_token: "08ur4kahfga09u23rnkjasdf", handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" } }
Many parts of this protocol are referenced through the use of handles as stand-ins for actual values, including transactions themselves as well as portions of transactions.
Bearer handles are validated by doing an exact byte comparison of the string representation of the handle value.
SHA3 handles are validated by taking the SHA3 hash of the handle value and encoding it in Base64URL with no padding.
Transaction handles are issued by the AS to the RC to allow the RC to continue a transaction after every step. A transaction handle MUST be discarded after it is used. If the AS determines that the RC can continue the transaction, a new transaction handle will be issued in its place.
Client handles stand in for the client section of the initial transaction request. The AS MAY issue a client handle to a client as part of a static registration process, analogous to a client ID, allowing the client to be associated with an AS-side configuration that does not change at runtime. Such static processes SHOULD be bound to a set of keys known only to the client software.
Client handles MAY be issued by the RS in response to a transaction request. The AS MAY bind this handle to the interact, resource, and key handles issued in the same response. When the RC receives this handle, it MAY present the handle in future transaction requests instead of sending its information again.
{ handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" }, client_handle: { value: "absc2948afgdkjnasdf9082ur3kjasdfasdf89", method: "bearer" } }
The RC sends its handle in lieu of the client block of the transaction request:
{ client: "absc2948afgdkjnasdf9082ur3kjasdfasdf89" }
Resource handles stand in for the detailed resource request in the transaction request. Resource handles MAY be created by the authorization server as static stand-ins for specific resource requests, analogous to OAuth2 scopes.
Resource handles MAY be issued by the RS in response to a transaction request. When the RC receives this handle, it MAY present the handle in future transaction requests instead of sending its information again.
{ handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" }, resource_handle: { value: "foo", method: "bearer" } }
The RC sends its handle in lieu of the resource block of the future transaction request:
{ resources: ["foo"] }
Handles and object values MAY be combined.
{ resources: [ "foo", { actions: ["read", "write"], locations: ["https://exapmle.com/resource"] data: ["foo", "bar"] } ] }
User handles MAY be issued by the AS in response to validating a specific RO during a transaction. This handle can be used in future transactions to represent the current user, analogous to the persistent claims token.
{ handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" }, user_handle: { value: "absc2948afgdkjnasdf9082ur3kjasdfasdf89", method: "bearer" } }
The RC sends its handle in lieu of the user block of the transaction request:
{ user: "absc2948afgdkjnasdf9082ur3kjasdfasdf89" }
Key handles stand in for the keys section of the initial transaction request. The AS MAY issue a key handle to a client as part of a static registration process, allowing the client to be associated with an AS-side configuration that does not change at runtime.
Key handles MAY be issued by the RS in response to a transaction request. The AS SHOULD bind this handle to the client, resource, and user handles issued in the same response. When the RC receives this handle, it MAY present the handle in future transaction requests instead of sending its information again.
{ handle: { value: "tghji76ytghj9876tghjko987yh", method: "bearer" }, key_handle: { value: "absc2948afgdkjnasdf9082ur3kjasdfasdf89", method: "bearer" } }
The RC sends its handle in lieu of the client block of the transaction request:
{ key: "absc2948afgdkjnasdf9082ur3kjasdfasdf89" }
When the AS receives a key handle, it MUST validate that the keys referenced by the handle are bound to the current transaction request.
Any keys presented by the RC to the AS or RS MUST be validated as part of the transaction in which they are presented. Any keys bound to the transaction are indicated by the bound_keys section of the transaction response. Any keys referenced in this section MUST be used with all future transaction requests.
Keys are bound to a transaction by including a bound_keys field in the transaction response alongside the transaction handle. Any further keys used for binding
To sign a request to the transaction endpoint, the RC takes the serialized body of the request and signs it using detached JWS. The header of the JWS MUST contain the kid field of the key bound to this client during this transaction. The header MUST contain an alg field appropriate for the key identified by kid and MUST NOT be none. The
The RC presents the signature in the JWS-Signature HTTP Header field. [Note: this is a custom header field, do we need this?]
JWS-Signature: eyj0....
When the AS receives the JWS-Signature header, it MUST parse its contents as a detached JWS object. The HTTP Body is used as the payload for purposes of validating the JWS, with no transformations.
[Note: if we do an attached JWS we end up having two different data types to deal with at the AS, is this ok?]
To sign a request to the transaction endpoint with an attached JWS, the RC takes the body of the request as the JWS payload and wraps the request in a JWS object.
The RC presents its client certificate during TLS negotiation with the server. The AS or RS takes the thumbprint of the client certificate presented during mutual TLS negotiation and compares that thumbprint to the thumbprint presented by the RC application.
The RC signs the request using [some HTTP signing mechanism] and its private key, and attaches the signature to the HTTP request using [a header method?]. [Note: is DID just a key-lookup mechanism here or should we use a different kind of crypto method as well?]
Bearer access tokens issued through this method can be used with the authorization header method found in RFC6750. Other access tokens are validated by the RS in accordance with the methods in the Binding Keys section.
This specification creates one registry and registers several values into existing registries.
| [OpenID] | Sakimura, N., Bradley, J. and M. Jones, "OpenID Connect Core 1.0", November 2014. |
| [RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
| [RFC6749] | Hardt, D., "The OAuth 2.0 Authorization Framework", RFC 6749, DOI 10.17487/RFC6749, October 2012. |
| [RFC7519] | Jones, M., Bradley, J. and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015. |
| [RFC7662] | Richer, J., "OAuth 2.0 Token Introspection", RFC 7662, DOI 10.17487/RFC7662, October 2015. |
| [RFC8126] | Cotton, M., Leiba, B. and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017. |
| [RFC8174] | Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017. |
| [RFC8259] | Bray, T., "The JavaScript Object Notation (JSON) Data Interchange Format", STD 90, RFC 8259, DOI 10.17487/RFC8259, December 2017. |
- 01
- 00


[gecode-users] Sum of IntVarArrays with changing array positions
Mathias Dalheimer
dalheimer at itwm.fhg.de
Wed Oct 12 16:27:04 CEST 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Dear Guido, dear Christian, list,
wow, I'm impressed - usually not even paid support does answer so fast
and so accurate. Thank you very much!
I've implemented Guidos idea, but I still have a problem. My code looks
like this:
I have some member variables (all IntVarArrays), here's the
initialization list:
:_start_times(*this, devices.size(), 0, MINS_PER_DAY)
_movable_load(*this, MINS_PER_DAY, 0, 15000)
_dev0_load(*this, MINS_PER_DAY, 0, 15000)
_dev1_load(*this, MINS_PER_DAY, 0, 15000)
_dev0(*this, devices[0].size(), 0, 15000)
_dev1(*this, devices[1].size(), 0, 15000)
devices is of type std::vector< std::vector >, I copy the
initial device data to _dev0 (and _dev1):
for (size_t i=0; i < devices[0].size(); ++i) {
rel(*this, _dev0[i] == devices[0][i]);
}
Then, I use Guido's recommendation:
for (int j=0; j < _dev0.size(); ++j) {
rel(*this, _dev0_load[j] == element(_dev0, _start_times[0] + j));
}
Please note that I was not able to use the post function - the compiler
complains that the function is not defined, although minimodel.hh is
included. After this step (again the same code for _dev1), I can sum up
the _devX_load IntVarArrays:
for (int i=0; i<_movable_load.size(); ++i) {
rel(*this, _movable_load[i] == _dev0_load[i] + _dev1_load[i]);
}
This works in principle (The _movable_load series is calculated
correctly), but only if the device positions (_start_times) are 0. These
are also the solutions found by Gecode. If I restrict the start times to
something different, i.e.
rel(*this, _start_times[0] == 1);
Gecode will not find any solutions. I'm sure I'm only missing something
simple - any ideas? Thanks again for your time!
Cheers,
- -Mathias
Guido Tack wrote:
> Hi Mathias,
>
> you can express the constraint using element constraints. Say the
> two sequences are x and y, you create two new sequences xx and yy
> (with appropriate length) and then post the following constraints:
>
> for (int i=0; i< m || i > m+x.size())
>>> xx[i]==0)); for (int i=0; i< n || i
>> n+y.size()) >> yy[i]==0));
> I didn't test the code, but I hope you get the idea.
>
> Christian's email just arrived - I think my solution is different in
> that the time series can be variables, which means you can't use
> regular. I understand that correctly from your description?
>
> Cheers, Guido
>
> On 12 Oct 2011, at 10:57, Mathias Dalheimer wrote:
>
>> Hi,
>>
>> I'm having trouble expressing the following constraints: I have two
>> IntVarArrays which contain short timeseries (i.e. consumption
>> values for one hour, while the remaining hours of one day are
>> empty/not constrained). The *position* of the constraints of the
>> consumption can move within the day, this is governed by two
>> IntVars (m, n) (which are my optimization goal, so the cost
>> function is calculated depending on the position variables). The
>> underlying question is where to place the consumption in order to
>> optimize some cost function.
>>
>> Now I have some other constraints that depend on the position m
>> and n of the consumption. I need to sum the timeseries.


Generate some placeholder text with Cat Ipsum!
Hunt by meowing loudly at 5am next to human slave food dispenser scream at teh bath. Friends are not food. Mew love to play with owner's hair tie brown cats with pink ears wake up human for food at 4am. Sit in window and stare ooo, a bird!


Here are some of the beutiful hairstyles.
Lets go out sterning with girly hairstyles.
We can see the different wedding sytles, baby styles and girlish styles on this card.
Here are different makeups you can use to look great.
The makeups of best qualities that you will love to always use.
lets watch the different makeups on this card.


MD2AnimLength ( md2 )
Parameters:
| md2 - md2 handle |
Description:
| Returns the animation length of an md2 model. The animation length is the total amount of animation frames that consist within the md2 file. See also: LoadMD2, AnimateMD2, MD2AnimTime, MD2Animating. |
| ; MD2AnimLength Example ; --------------------- Graphics3D 640,480 SetBuffer BackBuffer() camera=CreateCamera() light=CreateLight() RotateEntity light,90,0,0 ; Load md2 gargoyle=LoadMD2( "media/gargoyle/gargoyle.md2") ; Load md2 texture garg_tex=LoadTexture( "media/gargoyle/gargoyle.bmp" ) ; Apply md2 texture to md2 EntityTexture gargoyle,garg_tex PositionEntity gargoyle,0,-45,100 RotateEntity gargoyle,0,180,0 While Not KeyDown( 1 ) RenderWorld ; Output animation length to screen Text 0,0,"MD2AnimLength: "+MD2AnimLength( gargoyle ) Flip Wend End |


fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsafa
dsfdafadsasdfadsfdasffdsafdasdfsafad
adsasdfadsfdasffdsafdasdfsafadsfdafa
dsasdfadsfdasffdsafdasdfsafadsfdafad
sasdfadsfdasffdsafdasdfsasfdafadfsff
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa
fadsfdafadsasdfadsfdasffdsafdasdfsa


--- layout: page --- {% if site.elasticsearch-host == "" %}
{{ content }}Fuzzy search powered by Lunr.js. May take a second to load large collections!
{% if site.data.theme.google-cse-id %}Alternatively, try Google CSE site search.
{% endif %}
|
{% endif %}


Payment APIs Demo
This payment form is for demo purposes only. It will not charge any cards. The UI is intended to demonstrate the different payment experiences for end user. The open code base is intended to act as a sample integration for developers to reference. You can view the source here.
Payment Method
{% include 'snippets/customcheckout.html' %}
Request:
/* Not yet set */Response:
/* Not yet set */


The names for the flags that this opcode table uses are:
Z = "Zero", N = "Negative", H = "Half carry" and C = "Carry" (always in that order)
An instruction can do various things to the flags such as always set (1),
always reset (0),
set or reset depending on the result of the instrucion (letter for flag)
or do nothing (-)
The search bar works by comparing properties of an opcode to a given number/string.
The
currently supported properties are length|len
, name
and
number|num|opcode|op|#
.
The currently supported comparisions are
<
, <=
, =
, >=
and >
.
Numbers can be given in bases 16-10-8 and 2.
.name="LD"
, this searches for all opcodes containing "LD" in their name.
.name="LD" .len=2
, this searches for opcodes all containing "LD" in their name and a length
of 2.
.name="LD" .len=2 or .opcode=0x76
, same as the previous but it also shows all
opcodes with index 0x76, which are HALT
and BIT 6,(HL)
The search bar is currently a huge WIP and will have tons of bugs, if you find one please report it to The Issue Tracker
STOP
length
Prior to ,
STOP
was referenced as being two bytes long, however, it is one byte.
There is a potentially confusing fact in that STOP
skips one byte after itself.
However, it doesn't care what byte comes after it.
The search bar is experimental, see help for syntax, it might fail unexpectedly.


| Last saved row | {{col}} |
|---|---|
| Default | |
| Actual |
This view allows you to export your worked time to a google sheet. You need to allow for your Google Spreadsheets to be accessed by Super Productivity. You also need to create a spreadsheet with a headings in the first row nad specify it's ID in the input field (Ho to find the id of a spreadsheet?).
After successfully loading your spreadsheet a table will show up with 4 rows. The first row shows the heading you specified in the spreadsheet itself.
The second row is for informational purposes and shows the last row from the spreadsheet.
The forth row is a list of values you can directly enter save to the spreadsheet.
The third row is there to automatically define some values for the forth row. There are several special strings you can enter into the cells:
In addition to this there are several options you can use to modify the calculation of those values.


{% extends "layout.html" %} {% block page_title %} Start page example {% endblock %} {% block content %} {% block phase_banner %} {% include "includes/phase_banner_alpha.html" %} {% endblock %} Home Companies House Withdrawal of closing company application (DS02) Cancelling your application Confirm you understand I confirm that a director wants to cancel the appliation to close Templeton Metal Works Limited. I understand Continue {% endblock %}
I confirm that a director wants to cancel the appliation to close Templeton Metal Works Limited.
Continue


×
Your download will begin shortly...
Nick Redmond
DEVELOPER
Active Works
Nick Redmond Trivia
mobile-friendly quiz app
We Stand United
patriotic(?) chrome extension
Bees?
android survival game
Past Works
Santiago Billiards
windows billiards simulation
(direct download)
CorkyDorkz
windows platform game
(direct download)
Text4Less
ocr research project
Contact
Phone:
(385) 315-7801
Email:
<EMAIL_ADDRESS>LinkedIn:
My LinkedIn Profile


Hi,
1. I need a high resistive load to calibrate the current sensors of my EmonTX V3 but I have no electric heater or electric hot boiler at home. May I use my induction cooker ? Is it a pure resistive load ?
2. I am not sure to understand how to calibrate the current sensors. EmonTx send me an electrical power (P) and a voltage (V that I have already calibrated). But, my multimeter in series give me the current (I) and not the power. May I simply assume that P = U x I to calibrate my current sensors ?
Eric
Re: Induction cooker = resistive load ?
Firstly, the calibration instructions were all written for the emonTx V2.
Your induction cooker is most likely NOT a purely resistive load. There will be some serious electronics and control circuits inside that both generate the high frequency at which the induction hob operates and regulate the power; and while the designers will attempt to make the load look as nearly as possible resistive, and the current a relatively pure sine wave with the use of filters, I can be reasonably certain that it will not be purely resistive.
Normally, a current transformer is used with a single turn primary winding, but this does not have to be the case. You can pass multiple turns through the core, and that in fact is the way I test the c.t. If you have an electric kettle, that will be a resistive load of maybe 2 kW, the current will be about 8 A and if you pass that through the core 5 times, you will read a current of a little more than 40 A.
When you say your emonTx sends power, I think you mean the pre-loaded sketch in the emonTx V3? You can either calculate P = V x I and compare that with the power measured by the emonTx, or you can work backwards and calculate the current that the emonTx has measured knowing the power and the voltage, or you can modify the sketch to print the current (ct1.Irms, etc) to the serial monitor and read it directly. Of course, P = V x I is only true if you have a resistive load.
Re: Induction cooker = resistive load ?
My Mk2i sketches have a calibration mode which allows accurate measurements to be taken with vary small loads. When run in "Tallymode", the power content of every mains cycle is categorised or 'tallied' within a pre-set range. If you have a 40W bulb, you might choose to set your range from 0W to 100W, for a resoultion of 1W per tally. Or you could set it to run from 30W to 50W and really focus in on the peak of the distribution.
On all Mk2 PV Router builds, calibration of real power is done using a single variable, powerCal. When Tallymode is giving you the answers that you expect, that means your calibration must be right. Having found the optimal cal value for a 40W resistive load, it should also be right for much larger ones too. If it's not, then something must be non-linear in your measurement system.
A common source source of non-linearity is if the input sensors run out of range. By running the first few sketches on my Summary Page, you should be able to check how much of the ADC's input range is being used, and ensure that it's never hitting the end-stops. Getting your input sensors properly scaled is a pre-requisite for whatever sketches you then wish to run.
The latest "Tallymode" sketch, Mk2_PV_Router_rev5c.ino, is also linked from the above summary page.
Re: Induction cooker = resistive load ?
Hi all,
I calibrated my CT using a small boiler (400W) that someone gave me and I made multiple turns through the core to increase the precision. I like that tricks. KIS !
Now, I get some strange results when monitoring the power of my induction cooker. I would like you to help me understand what is going on because I 'm lost.
Here is what I'm monitoring with the main EmonTx V3 Firmware :
- one CT is dedicated to the cooking power ("cuisson" in french, purple line on the attached graph). I have one pure electric oven and the induction cooker. In the fuse box, I put the two phases in the same CT)
- one CT is dedicated to the ventilation system power ("VMC" in french, blue line on the attached graph)
- one CT is dedicated to the electric sockets power ("Prises elec" in french, red line on the attached graph)
- one CT is dedicated to the total power ("Global" in french, beige line on the attached graph) The CT is around the main cable coming from my electricity supplier meter. Between the fuse box and the utility meter.
- one CT (on another EmonTx) is dedicated to the electrical power of my gas boiler .("Chaudiere" in french, yellow line on the attached graph)
Then, I calculate the remaining power in EmonCMS ("autres" in french, green line on the attached graph) using the input processing. Remaining power = total_power - cooking_power - ventilation_system_power - socket_power - boiler_power.
1. First observation :
When my induction cooker is off, the CT reports a negative power (-15W). The CT is well set as I get a positive power when the induction cooker is on. When disconnecting the induction cooker from my fuse box, the CT indicate a null power and the remaining power lost 15 W. The total power is not affected. So I guess that the CT on the induction cooker is wrong but not the one on the main circuit.
(note that this behavior is unchanged if I disconnect or not the oven).
2. Second observation :
When the induction cooker operates, it works intermittently. It operates for some time (let's say one second) and then there is rest period (let's say half second). The rate depends on the heating demand. My first feeling was that it would be possible to monitor the electricity demand of my induction cooker with the EmonTx main sketch that use a discrete sampling method. On a long time period, the average value should have been right. Few time later, I realized that is not the case. Moreover, I got some negative values for the "remaining power" when the cooker power is high and the total power is low. I know my english is bad so please have a look on the attached graph (discrete).
3. So I move to the continous sampling sketch (without calibration). With that code (great work, I love the comments !), I get the same behaviour when the cooker if off (-15W). When it operates, the global electricity demand seems to be measured in a better way but I have still a problem with the CT on the cooker. When the cooker operates, the total power increases by 1500 W but the cooking power increases only by 1300 W. As a result the remaining power increases artificially by 200W. Have a look on the second attached graph (continuous). It's clearer than a long explanation. Again, the CT on the induction cooker seems to underestimate the real power but not the one on the main circuit.
Now, all I know for certain is that :
- I should calculate the remaining power is the sketch itself to avoid shift time
- I will never buy again an induction cooker. It drives me crazy !
What is the source of this misbehaviour ?
Is there a workaround using another sketch ?
Regards,
Re: Induction cooker = resistive load ?
Certainly, with a cooker that switches very frequently, you cannot use the discrete sampling sketch and you must use the continuous one. The discrete sample sketch was originally intended for battery operation as a way to extend battery life.
This "I put the two phases in the same CT" has me confused, because you also say "The CT is around the main cable" - "the" meaning there is only one main cable (brown) and of course one neutral (blue). Do you have a single phase supply as we do in the UK, or do you have a three-phase supply? If you really put two wires from different phases through the c.t., then the c.t. will measure the vector sum of the two currents, which will be wrong. And that could be your problem. Can you clarify this before we go further?
(Most of our sketches are for a single phase. Using a 1-phase sketch on a 3-phase supply, if a c.t. is on a different phase to the voltage adapter, you will not read the real power correctly, it will be wrong by a factor of cos(120°) = -0.5)
Re: Induction cooker = resistive load ?
As Robert says, it only makes sense to co-clamp 2 circuits that are on the same phase. But assuming for a minute that was just a language issue, and what you really meant to say was:
"I put the two circuits in the same CT"
and your entire house is a single-phase house... then....
I suspect what you're seeing is small phase error in the CT that is clamped around the cooker circuits. Are you able to display the RMS current on the induction cooker while it's in standby?  When you're measuring something that's almost purely reactive, that power vector is very close to vertical, so just a few degrees of phase error in your CT makes a huge difference to the real power. And if the error is in the right direction, it'll push the vector into the next quadrant, which will give you a negative real power reading.
Unfortunately, unless you spend up big on CTs, phase error Vs current is far from a flat line... it varies with current signicantly. There's an analysis of that in the building blocks section. So trying to find a calibration adjustment that will work well when your induction cooker and oven are running flat out, and also work well when it's only drawing 0.3 amps is difficult.
Re: Induction cooker = resistive load ?
dBC - I was trying to keep it simple until we know the system!
Re: Induction cooker = resistive load ?
Hi,
My home is a single-phase house.
I said "I put two phases in the same CT" but you must read "two circuits in the same CT". I put together in the CT the brawn cable coming from my induction cooker and the one coming from my oven. If needed, I can disconnect on of those two circuits as each of them has got a specific circuit breaker.
As it is now, it's uneasy to measure the current on my induction cooker when it is in standby with a multimeter. Firstly, I would like to avoid modifying my electrical installation. The documentation of my induction cooker says that the power in standby is 1-2W.
Eric
EDIT : if it may help, note that the EmonTx reports -15 W when the induction cooker is in standby and when the total power is low. When the total power is increasing (because another device is operating), the cooker power in standby is about -25W. You can have a look on the attached graph. It is during night time. The total power is low. When the fridge (red line) is starting a new cycle, the induction cooker is decreasing (purple line) and the remaining power (gren) is increasing.
Re: Induction cooker = resistive load ?
Actually, I meant use the CT (not your multimeter) with an appropriate sketch, to measure the standby current to the induction cooker. You'll probably find it's quite a bit higher than 9mA (9mA is what you'd expect if it were purely resistive and a 2W load). It's that extra current (and reactive power), that can show up as negative real power if the phase error is out a bit.
But given it seems related to your other loads, I may be barking up the wrong tree.
Re: Induction cooker = resistive load ?
"My home is a single-phase house." Good, that makes everything simpler and removes a lot of confusing possibilities.
"two circuits in the same CT" That is fine, so long as they both go through in the same direction. The currents will add, and that is what you want. (If they go through in opposite directions, the currents will subtract.)
dBC: "But given it seems related to your other loads, I may be barking up the wrong tree." That is confusing me too. If the two c.t's on different feeds are very close, you might just get some leakage flux from one into the other. 15 or 20 W is 65 mA = 0.065 % of maximum reading, so it is in reality below the level we can accurately measure with a 10-bit ADC. (Much better if it is CT4 though.) Or it could just be voltage pickup into the current input. I've never tried to measure that, but Martin Roberts reported it with a V2 emonTx.
Eric:
Did you check the PHASECAL for each of your inputs? Can you do it for the cooker c.t. at both a high load and a low load - and using a pure resistance of course? You'll need to take the c.t. off the cooker feed and put it on another - temporarily - to do this. I expect you find you need two different values of phasecal. (Look at the report on the c.t's to see how the phase error changes with current.)
You can find out if dBC was correct about your cooker having a very low power factor on standby, meaning it has a low power but high VA. I think there is a very good chance that he was right. EmonLib calculates all the numbers but the V3 sketch does not print them by default. After the line "ctx.calcVI(no_of_half_wavelengths,timeout);" where you replace "ctx" with the ct that your cooker circuit is using, you need to add:
Serial.print("V = "); Serial.print(ctx.Vrms);
Serial.print(" Irms= "); Serial.print(ctx.Irms);
Serial.print(" P = "); Serial.print(ctx.realPower);
Serial.print(" VA = "); Serial.print(ctx.apparentPower);
Serial.print(" pf = "); Serial.println(ctx.powerFactor);
If you can get the values for the cooker on standby and at a number of heat settings, that might tell us what is happening inside the cooker.
Re: Induction cooker = resistive load ?
hI,
Thank you both for helping me to solve this issue.
I didn't checked the PHASECAL for each of my inputs. How to do that ? I mean using which sketch.
As Robert suggested, I modified the discrete sampling sketch to display further details (Irms, Vrms, AP, RP, and PF). I did it with the 4 CT set like explained above but I disconnect every circuits except :
- the induction cooker on the CT1
- my PC, my internet box, an my emonbase on the CT2
- the main current is coming through the CT3
- my ventilation system on the CT4
Firstly, the cooker is in standby, then set to 3 on 9, then set to 6 on 9, the set at the maximum power (9/9).
Sometimes the power is low as my cooker is switching continuously (except at the maximum power)
Endly, I set it in standby but a fan is operating to cool the cooker. Attached are the traces on the serial.
I also perform that test sequence with the continuous sketch. See attached.
Regards,
Re: Induction cooker = resistive load ?
That (the discrete sampling sketch) is very helpful. This is what I think the numbers mean:
The negative real power at 8.4 A (e.g. V1 = 227.86 Irms= 8.42 P = -1882.22 VA = 1919.33 pf = -0.98) and the negative power factor mean that c.t is the wrong way round on the cable. By convention, I call imported and consumed power positive, and generated and exported power negative. [You can do the opposite if you wish, as Robin does with his energy diverter.] But whichever way you do it, CT1 & CT3 are opposite to CT2 and CT4. Therefore, for consistent readings, you need to reverse one pair of c.t's on their respective cables.
The very poor power factor when only the fan is operating (0.14 - 0.16) means that accurate adjustment of phasecal is essential. The power should still be same sign as when it is at full power. The phase error is far enough out to reverse the apparent direction of the power flow. You should use the same sketch to adjust phasecal that you intend to use permanently (probably the continuous one?) but unfortunately Robin does not calculate the RMS voltage and current, so I'll ask him what he suggests - normally he says phase calibration is unimportant and that's true where the load is very nearly pure resistance, but for you that's not the case.
Let us see what Robin says before you do any adjustments or more tests.
Re: Induction cooker = resistive load ?
No pressure eh ...
Re: Induction cooker = resistive load ?
I was aware that the CT 1 and 3 are in the "wrong" way round on the cable. So I added a calibration ("x -1") in EmonCMS to that particular inputs to get a positive value. I understand it can be confusing for you but it's quite uneasy for me to reverse them (few space in my fuse box). If it is not mandatory to have all CT in the same way to make the system work, I would prefer not to re-open my fuse box
My intention is to use a continuous sampling sketch as a discrete one can't works fine with my induction cooker that switches very frequently. If I understand you well, the problem comes from this particular load which is not purely resistive. Anyway I do not understand why I do not see the same power on the CT cooker and on the CT round on the main cable.
Regards,
Re: Induction cooker = resistive load ?
Robin, I just see you reply. Take it easy, I am not in hurry !
But for sure, I would really appreciate to understand what is going wrong
Re: Induction cooker = resistive load ?
I understand now why the c.t's are 'wrong' - no problem.
The problem with the values not adding up correctly must be calibration. I've copied your "continuous" values into a spreadsheet so that I can manipulate the numbers. If I make a column = (-CT1* 1.01) + CT2 + CT4 and a second column = (-C3*0.921), then except for the time when the cooker was in standby with cooling fan off, and a few scattered values elsewhere, the two columns agree to within about ±4 W. The error when the cooker was in standby with cooling fan was off was larger, about 10 W, and I think that is because when the power factor is so low, the phase error makes the relative error in the power very large. I think if you carefully calibrate all four channels including the phase calibration, then the numbers will agree much more closely.
Robin won't have time to do anything due to his business venture developing and making the energy diverter taking up all of his time. I think I know how to measure the phase angle to allow you to set the phase angle correction, but it needs a new sketch writing that will sample the channels with the same timing differences as the "continuous" sketch and then analyse the phase error. Unfortunately, the timing inside the 'discrete' sketch is different and therefore it is not possible to use the values from that in the 'continuous' sketch.
Re: Induction cooker = resistive load ?
Eric:
If you have access to a suitable capacitor (both the voltage rating and the current rating must be suitable), you could use that to set phasecal in your continuous sketch. If your load is only the capacitor, real power should be zero as the current wave is in exact quadrature with the voltage wave. You adjust phasecal by trial and error to get zero real power.
Note: there's an editing slip-up in the code that needs correcting.
phaseCal_int_CT1 = phaseCal_CT3 * 256; // for integer maths
phaseCal_int_CT2 = phaseCal_CT3 * 256; // for integer maths
phaseCal_int_CT3 = phaseCal_CT3 * 256; // for integer maths
phaseCal_int_CT4 = phaseCal_CT3 * 256; // for integer maths
It means all four c.t's get the phasecal for CT3, and that's not what is intended. The correction is obvious.
I am using the sketch as a starting point for a dedicated phasecal sketch, and spotted the error.
Re: Induction cooker = resistive load ?
I have just run some tests using the emonTx V3 and the "emonTxV3_continuous.ino" sketch. My test load was 3 µF of capacitance with three primary turns through the c.t. - a black-lead YHDC SCT-013-000, and an Ideal/TDC adapter run at 230 V, 50 Hz. The test current was measured at 3 x 0.24 A = 0.72 A. The values of phasecal I got to give zero real power were:
Bear in mind those are the values for one particular c.t. and one particular adapter.
Re: Induction cooker = resistive load ?
Those values look very encouraging, Robert.
With five analogue measurements per loop, the time period between consecutive Vsamples is partitioned into five. CT1 is sampled at the 20% point, CT2 at the 40% point, and so on. Given that the sensors at CT1 - CT3 are physically similar, the only difference between them should arise from their different sampling point within the measurement period. I would therefore expect their optimum phaseCal values to increase by 0.2 each time, which they very nearly do.
CT4 has a different value of burden resistor so this could explain why its optimal phaseCal value does not follow the same sequence. It might be interesting to check CT4 again when using the same value of burden (18R?) as the other three.
Re: Induction cooker = resistive load ?
And then it might not, as I've taken the test rig apart now! ! ! We know both from theory and practice that the value of the burden has a big effect on the phase error, so I didn't bother any more. These values are only indicative of the values somebody else might see - they are probably good as a starting point, and that's all you can say. The values were jittering by one digit about zero, I adjusted the value so that I got predominantly '0' with a roughly equal scatter of '-1' and '1'. I couldn't reliably get a third figure for phasecal as the system voltage bouncing around changed the power by more than a change of 0.005 to the value of phasecal did.
Re: Induction cooker = resistive load ?
Hi,
I'm still following that discussion with a lot of interest. Thank you both for helping me. I am very surprised that nobody else faced this issue before me. I guess it's because I put a CT on a particular load that is mainly not resistive. Whatever it may be, it would be worth rewriting the calibration guide for the emontxV3.
Unfortunately, I have no time to perform the phasecal adjustments now with my adapter and my CTs. Moreover, I have no capacitor and no good multimeter... So, I will first set the value of phasecal_CT1 to get 1W (real power) sent by the continuous sketch. This is the power claimed by the worksheet of my induction cooker when it is in standby. Then I will add 0.2 for each others phasecal values.
Regards
Re: Induction cooker = resistive load ?
As you say, you seem to have a load with a very poor power factor, and it is there that errors in the phase measurement show up.
Most people can be expected to have a purely resistive load (i.e. an electric heater - kettle, convector etc) but few can be expected to have, or go out and purchase, a large mains rated capacitor. It was purely by chance that I happened to have 2 very old ones - a 1 µF and a 2 µF (not even a 2.2 µF! ! !) that were suitable. So I am not sure that adding this to the calibration instructions would be very helpful. However, the default values in the sketch have been changed.


I'm Hoang Minh Thanh
BS. Student
Computer Science at University of Science - VNU
Interested field : Object Detection, GAN, Style Transfer and relate field
Introduce myself
I’m undergraduate student have solid background knowledge about OOP, Data Structure and
Algorithm in University of Science, Vietnam National
University, Ho Chi Minh city.
Proficient Python, C++, R, ... fluent on training, optimization, transfer-learning and
fine-tuning, data augmentation , AWS (Sagemaker, EC2, S3), and good coding style.
My interested field is Computer Vision and Deep Learning to create novel application
Project :
- BietDoiSieuLapLanh : Basic website to storage an unforgettable memory
- Caro terminator (A Windown Phone App) : A basic AI game development based on Min-max algorithm
- Ngokhong.Net (E-commercial website) : Developing both front-end and back-end
- Pucca Runner (Unity game) : An final project for graph theory
Education
Experiences
Self Entrepreneur
Developer
Unity, Deep Learning, Image Processing, Computer Vision, AWS (Sagemaker, EC2, S3), Google Compute, Tensorflow, Pytorch, Keras, ...
XEP (Software Outsourcing Company)Ho Chi Minh city, Vietnam
Web Developer
ASP.NET, Winform, C#, MSSQL, TFS, FileZillar, ReactJS, Heroku
Awards
- Second Round in Thach Thuc, Faculty of Information Technology, HCMUS [link]
- Incentive Award in The Good Chemistry District Student Contest
2013, 2014:
2009:
Something about me
Extra Activities
.
Hobbies
- Coding
- Reading
- Photoshopgrapher Photographer
- Traveling
- Sport
.
"The World is a book and those who do not travel read only one page"
(Thế giới là một cuốn sách, ai không đi chỉ đọc trang đầu)
Some countries that I want to travel :D


All Classes
Channel
Channel.ChannelStatus
Channel.ChannelType
ChannelListener
Channels
IPMessagingClientListener
Member
Members
Message
Messages
TwilioIPMessagingClient


Sign up
Full name
Email
Phone Number
Date of Birth
Gender
Male
Female
Password
Confirm password
Sign Up


Header
General:
Pic:
Close
Name:
Surname:
Email Address:
CellPhone:
Telephone:
Address 1:
Address 2:
City/Town:
Province:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Select a country:
Choose a country
Europe
Norway
Germany
Asia
India
Thailand
Africa
Zimbabwe
Uganda
Footer


Below is sample implementation of the Ag Grid with a custom Date Time
picker. Each of the columns in the below Ag Grid Implementation represents
a different implementation of the Date time Picker in the editor template
for the first two columns and a date picker alone in the last column.
-
Column 1 SingleViewDTPicker : Here the Date & Time Picker is presented
in a single view.
-
Column 2 MultiViewDTPicker : Here the Date & Time Picker is presented
in a separate views.
-
Column 2 SimpleDatePicker : Here the Date Picker is presented in the
edit view
Double Click on the Grid Data Cells for the editor mode view to display
& Double click in the editor textbox for the Date\Time picker controls
to display.


| Name: MRS.GLORY HANNAH | Reg No: 12-6SMMHC18 |
|---|---|
| Age / Sex:35/F | Contact No:8123417107 |
| Marital Status:ML- 10 YEARS | Date:30/6/18 |
| Occupation:WORKING AS SENIOR ASSOCIATE GRAD IN OFFICE MANAGEMENT. 4.5 YRS. | Dr. |
| Address:NATIVE OF RAJAMANDRY | DIAGNOSIS- |
ANXIOUS TO CONCEIVE.
IRREGULAR PERIODS FROM 1 YEAR AFTER HER MENARCHE. AFTER MARRIAGE REGULAR AND FEW MONTHS AFTER AGAIN IRREGULAR.
IRREGULAR BY 30 DAY, 38TH DAY ETC.
PAIN IN THE NECK REGION FROM 1 YR. USE TO GET MIDDLE FINGER PAIN AND NOW FINDING IN LEFT ALSO AND NECK. SAME RT JOINT FOUND FR FEW DAYS IN THE MIDDLE JOINT . GETS HEADACHE BCOZ OF IT FRM BCK TO FRONT.
<WORKS ON SYSTEM A LOT.
BURNING , SOUR ERUCTTIONS SINCE MORE THAN 10 YEARS.
< BFR PERIODS, SPICY FOOD IF EATS CONT. , CHAPATHI. > MINT FLAVORS.
RX:
NAT PHOS 200 – 3 DOSES 5 DAYS ONCE
LACHANANTHES 200 – PILLS 3-3-3.
RUB 15 – 1 DOSE NT B.FOOD.
14/7/18: LMP: MAY 23 2018. NECK PAIN IS SEVERE. NUMBNESS. UNABLE TO LIFT OR HOLD NECK WANTS TO PRESS HARD . IF LIES DOWN FEEL SOMEHTING IS BREAKING. RT. THIGH CANT STRETCH AND FOLD SPECIALLY NOTICED IN CAB. HOT AND PAINFUL .
BRYONIA 200- 4-4-4-4.
GUAICUM 200 – PILLS 4-4-4-4.
RUB 15 – NT B/FOOD.
4/8/18: LMP: 23/JULY 2018. BLEEDING A BIT LESS. 3 DAYS. 4TH DAY BROWNISH A BIT. NECK PAIN REDUCED. LEFT HAND PAIN HEAVINESS IN CHEST AND PAIN. LEFT SIDE FEELS MORE PRICKING TYPE OF PAIN. NUMBNESS IN THE BACK. ANUS ITCHY AND CRAWLING SENSATION
RX:
GELSIMIUM 1M – 4-4-4-4.
STAPHY 1M – 4-4-4-4.
GRAPH 30 + FOLLICULINUM 200 – 4-4-4-4. 10TH -16TH DAY
FILCAL 0-0-1 B/FOOD WATER SWALLOW DON’T DISSOLVE.
CINA1M/SULPHUR 1M – 4-4-4-4 1 DRAM.
RUB 30 – 1 DOSE NIGHT B.FOOD.
CARBO VEG 30 – 4 PILLS SOS – GASTRITIS.
29/9/18: backpain reduced well. But frm 2-3 days again started. Change in the chair frm a week bt slight pain due to the change. burning sensation in hips reduced. Acidity thr.anus crawly slightly thr occasionally. Lmp: 29/9/18.
Rx:
GELSIMIUM 1M – 4-4-4.weekly 4 days.
STAPHY 1M – 4-4-4. Weekly 4 days
GRAPH 30 + FOLLICULINUM 200 – 4-4-4-4. 10TH -16TH DAY
FILCAL 0-0-1 B/FOOD WATER SWALLOW DON’T DISSOLVE.
CINA1M/SULPHUR 1M – 4-4-4-4 1 DRAM. 1st and 3rd week only 4-4-4-4- for 4 days.
RUB 30 – 1 DOSE NIGHT B.FOOD.
CARBO VEG 30 – 4 PILLS SOS – GASTRITIS.
Mag phos 12x – 4tabs 30 min once with hot water only. menses pain sos.
24/11/18: NUMBNESS AND PAIN IN THE JOINTS OF HAND. LMP: 30/10/18.
RX:
PHOS 200 – 7 DOSES – ALT DAYS.
RUB 30 1-0-1
KALMIA30 – 4-4-4-4
5/1/19: SEVERE PAIN IN THE CERVICAL REGION PASSING TO HANDS.PRESSURE AMEL. LMP: 23/12/18
RX:
PARIS QUADRIFOLIA 200 – 4-4-4-4
NAT CARB 1M – 2 DOSES – ALTERNATE WEEKS.
RUB 30- 1 TAB NT B/FOOD.
AKNE AID CREAM FR FACE.
PENTAPHOS 2-2-2-2.
GUIACUM Q – 15-15-15 DROPS A/FOOD WATER.
9/3/19: NECK PAIN IS MORE AND SEVERE. RT. MIDDLE FINGER IS SWELLING AND AS IF BONE CUT ITS PAINING. BOTH HANDS AND ARMS FRM SHOULDER TILL ARMS NIGHT TINGLING AND NUMBNESS. >PRESSING . LMP: 18/2/19. NORMAL LIGHTLY FEELS LESS.
RX:
MEDO 1M/NAT CARB 1M/ACT SPICATA1M 1M- 4-4-4-4 1 DRAM
KALI PHOS 6X 4-0-4 B/FOOD.
RUB 15 – NIGHT B/FOOD.,
BRY1M+KALMIA1M – NECK PAIN SOS.
25/5/19: lmp: 17/5/19;23/3/19. Bleeding was lil more but stopped in 3 days. Neck pain very severe. Numbness in the back. Feels pain if she presses the point beside the cervical spine area towards right. Cant sit only. when she gets tht pain. feels very tender and sensitive. Gets sound when she flexes or bend it. Evening agg. Wants lot of massage.
Rx:
Berb vulgaris Q- 15-15-15 a/food water.
14th day medorhinum 200 – 1 dose.
Tub 1m – 1 dose stat.
Nat mur 200 – afternoon 4 b/food.
Rhododendron 200/ 4-mng
Eup perf 200 – night 4
Berb vulg 200 – evening 4 b/food.
Rub 30 – 1 tab night b/food.


{% extends 'base.html' %} {% load static %} {% block style %} {% endblock %} {% block body %} {% if not doc_html %}
Description: Intracerebral hemorrhage (very acute clinical changes occurred immediately). CC: Left hand numbness on presentation; then developed lethargy later that day. HX: On the day of presentation, this 72 y/o RHM suddenly developed generalized weakness and lightheadedness, and could not rise from a chair. Four hours later he experienced sudden left hand numbness lasting two hours. There were no other associated symptoms except for the generalized weakness and lightheadedness. He denied vertigo. He had been experiencing falling spells without associated LOC up to several times a month for the past year. MEDS: procardia SR, Lasix, Ecotrin, KCL, Digoxin, Colace, Coumadin. PMH: 1)8/92 evaluation for presyncope (Echocardiogram showed: AV fibrosis/calcification, AV stenosis/insufficiency, MV stenosis with annular calcification and regurgitation, moderate TR, Decreased LV systolic function, severe LAE. MRI brain: focal areas of increased T2 signal in the left cerebellum and in the brainstem probably representing microvascular ischemic disease. IVG (MUGA scan)revealed: global hypokinesis of the LV and biventricular dysfunction, RV ejection Fx 45% and LV ejection Fx 39%. He was subsequently placed on coumadin severe valvular heart disease), 2)HTN, 3)Rheumatic fever and heart disease, 4)COPD, 5)ETOH abuse, 6)colonic polyps, 7)CAD, 8)CHF, 9)Appendectomy, 10)Junctional tachycardia.


Select
Poly
Rect
Radical Rect
Ellipse
Edge
Paint
Correction
Text
fulmo_editor_text_small
fulmo_editor_text_middle
fulmo_editor_text_large
fulmo_editor_text_xlarge
Line
Arrow
Both arrow
Free hand
Line type
Thin
Middle
Thick
Very thick
Color
Number
fulmo_editor_btn_library
fulmo_editor_btn_drag
fulmo_editor_btn_save
fulmo_editor_btn_send


A gun walks into a bar and the barman says "What Protocol do you speak?" The gun answers: "Any." Send some data via gun
Refresh
You are
...
Users
Send


Natural ability
Metapod battles are not for the faint of heart. Armless, footless Pokemon cannot move, the only attack in his arsenal is Hardening. So either pair with the metapod of another Pokemon ... or stock up on popcorn and a sleeping bag, the battle will be long. In fact, after the evolution of metapods, it remembers the attacks of Caterpie, but theoretically, without the ability to move, he still cannot fight.


| java.lang.Object | ||||
| ↳ | android.content.Context | |||
| ↳ | android.content.ContextWrapper | |||
| ↳ | android.app.Service | |||
| ↳ | com.esri.android.geotrigger.GeotriggerService |
A background Service
that records locations, periodically posting them to the Geotrigger API.
You can instantiate and register a GeotriggerBroadcastReceiver
and implement its interfaces on your
Activity or Service in order to receive callbacks when certain events occur.
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| String | ACTION_REQUEST_ON_DEMAND_LOCATION | Intent action for requesting a single point. | |||||||||
| String | ACTION_SEND_PUSH_TOKEN | When given this action the GeotriggerService will attempt to send the provided push token to the
server. |
|||||||||
| String | EXTRA_PUSH_TOKEN | The active GCM registration token associated with this device. | |||||||||
| String | SDK_VERSION |
|
[Expand]
Inherited Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
From class
android.app.Service
| |||||||||||
|
From class
android.content.Context
|
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| public static final String | TRACKING_PROFILE_ADAPTIVE | Sets the GeotriggerService tracking profile to ADAPTIVE, which automatically adjusts tracking
resolution (and battery drain) depending on proximity to triggers and other factors. |
|||||||||
| public static final String | TRACKING_PROFILE_FINE | Sets the GeotriggerService tracking profile to FINE, which collects the most accurate and
timely location updates, at the expense of battery life. |
|||||||||
| public static final String | TRACKING_PROFILE_OFF | Sets the GeotriggerService tracking profile to OFF, disabling location tracking. |
|||||||||
| public static final String | TRACKING_PROFILE_ROUGH | Sets the GeotriggerService tracking profile to ROUGH, which uses minimal battery power to get
the approximate location of the user. |
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| GeotriggerService() |
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| static String |
getDeviceDefaultTag(Context context)
Get the default tag for the current device.
| ||||||||||
| static String |
getDeviceId(Context context)
Get the ID for the current device.
| ||||||||||
| static String |
getPushIcon(Context context)
Get the name of the drawable to be used when displaying incoming push messages as status bar notifications.
| ||||||||||
| static String |
getPushSound(Context context)
Get the name of the sound resource to be played when displaying incoming push messages as status bar
notifications.
| ||||||||||
| static String |
getTrackingProfile(Context context)
Get the tracking profile that the
GeotriggerService is currently using. | ||||||||||
| static void |
init(Context context, String clientId, String gcmSenderId, String profile)
Starts the
GeotriggerService using the provided setup parameters. | ||||||||||
| static void |
init(Context context, String clientId, String gcmSenderId, String[] tags, String profile)
Starts the
GeotriggerService using the provided setup parameters. | ||||||||||
| static boolean |
isPushNotificationHandlingEnabled(Context context)
Determine if the SDK will automatically display incoming push messages as status bar notifications.
| ||||||||||
| static boolean |
isSslCertPinningEnabled(Context context)
Determine if requests made to the Geotrigger API will use SSL certificate pinning.
| ||||||||||
| static boolean |
isVibrationEnabled(Context context)
Determine if the device will vibrate when a new push notification is received.
| ||||||||||
| IBinder | onBind(Intent intent) | ||||||||||
| void | onCreate() | ||||||||||
| void | onDestroy() | ||||||||||
| int | onStartCommand(Intent intent, int flags, int startId) | ||||||||||
| static void |
requestOnDemandUpdate(Context context)
Request a single point be recorded.
| ||||||||||
| static void |
setLoggingLevel(int level)
Set the log level to be used by the Geotrigger SDK.
| ||||||||||
| static boolean |
setPushIcon(Context context, String iconName)
Set the name of the drawable to be used when displaying incoming push messages as status bar notifications.
| ||||||||||
| static void |
setPushNotificationHandlingEnabled(Context context, boolean enabled)
Call this method to enable the default push message notification handling.
| ||||||||||
| static boolean |
setPushSound(Context context, String soundName)
Set the name of the sound resource to be played when displaying incoming push messages as status bar
notifications.
| ||||||||||
| static void |
setServiceStartSticky(Context context, boolean enabled)
Set the behavior of the GeotriggerService when the app is killed by the user or the OS.
| ||||||||||
| static void |
setSslCertPinningEnabled(Context context, boolean enabled)
Enable use of SSL certificate pinning while making requests to the Geotrigger API, securing transmission of
location data between devices and the Geotrigger API (default: false).
| ||||||||||
| static void |
setTrackingProfile(Context context, String profile)
Tell the
GeotriggerService to switch profiles. | ||||||||||
| static void |
setVibrationEnabled(Context context, boolean enabled)
Set whether or not the device will vibrate when a push notification is received (default: true).
| ||||||||||
| static void |
stop(Context context)
Tell the
GeotriggerService to stop tracking, and NOT restart itself. |
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
From class
android.app.Service
| |||||||||||
|
From class
android.content.ContextWrapper
| |||||||||||
|
From class
android.content.Context
| |||||||||||
|
From class
java.lang.Object
| |||||||||||
|
From interface
android.content.ComponentCallbacks
|
Intent action for requesting a single point.
When given this action the GeotriggerService
will attempt to send the provided push token to the
server.
This Intent requires that the following extras be included:
The active GCM registration token associated with this device.
Sets the GeotriggerService
tracking profile to ADAPTIVE, which automatically adjusts tracking
resolution (and battery drain) depending on proximity to triggers and other factors.
Tracking profiles optimize use of native location services for different use cases.
Sets the GeotriggerService
tracking profile to FINE, which collects the most accurate and
timely location updates, at the expense of battery life.
Tracking profiles optimize use of native location services for different use cases.
Sets the GeotriggerService
tracking profile to OFF, disabling location tracking.
Tracking profiles optimize use of native location services for different use cases.
Sets the GeotriggerService
tracking profile to ROUGH, which uses minimal battery power to get
the approximate location of the user.
Tracking profiles optimize use of native location services for different use cases.
Get the default tag for the current device.
If the device has not yet been registered, then the returned tag will be null.
| context | a Context . |
|---|
Get the ID for the current device.
If the device has not yet been registered, the returned device ID will be null.
| context | a Context . |
|---|
Get the name of the drawable to be used when displaying incoming push messages as status bar notifications.
| context | a Context object. |
|---|
Get the name of the sound resource to be played when displaying incoming push messages as status bar notifications.
The sound file must be located in the res/raw
directory.
| context | a Context object. |
|---|
Get the tracking profile that the GeotriggerService
is currently using.
The returned profile will be one of:
| context | a Context object. |
|---|
Starts the GeotriggerService
using the provided setup parameters.
profile
must be one of:
| context | a Context object. |
|---|---|
| clientId | an ArcGIS Online client_id application. |
| gcmSenderId | a GCM Sender ID for your application. |
| profile | a tracking profile. |
| IllegalArgumentException |
|---|
Starts the GeotriggerService
using the provided setup parameters.
profile
must be one of:
| context | a Context object. |
|---|---|
| clientId | an ArcGIS Online client_id for your application. |
| gcmSenderId | a GCM Sender ID for your application. |
| tags | an optional list of tags to be set on the device after it registers itself. |
| profile | a tracking profile. |
| IllegalArgumentException |
|---|
Determine if the SDK will automatically display incoming push messages as status bar notifications.
| context | a Context object. |
|---|
Determine if requests made to the Geotrigger API will use SSL certificate pinning.
| context | a Context object. |
|---|
Determine if the device will vibrate when a new push notification is received.
This method works in conjunction with shouldVibrate(int)
to determine if the
device should vibrate when a new push message is received.
| context | a Context object. |
|---|
Request a single point be recorded.
You can receive a Location
representing this point by implementing
GeotriggerBroadcastReceiver
.
| context | a Context object.
|
|---|
Set the log level to be used by the Geotrigger SDK.
The default value is Log.WARN
for release builds and Log.DEBUG
for debug builds.
Log.VERBOSE
will show additional logs for HTTP requests and other events, but should not be used
for released applications.
level
must be one of:
Set the name of the drawable to be used when displaying incoming push messages as status bar notifications.
The sound file must be located in the one of the drawable
directories within the
res
directory.
| context | a Context object. |
|---|---|
| iconName | the name of a drawable resource file, without extension or parent directory. |
Call this method to enable the default push message notification handling.
If push message handling is enabled, as it is by default, the SDK will automatically create a status bar notification.
To manually handle push messages, you can disable them once using this method. Then implement
GeotriggerBroadcastReceiver.PushMessageListener
| context | a Context object. |
|---|---|
| enabled | true if push notifications will be automatically handled; false if they will be handled manually. |
Set the name of the sound resource to be played when displaying incoming push messages as status bar notifications.
The sound file must be located in the res/raw
directory.
| context | a Context object. |
|---|---|
| soundName | the name of a sound resource file, without extension or parent directory. |
Set the behavior of the GeotriggerService when the app is killed by the user or the OS.
By default, the service will stay running under most conditions, except for when the user swipes the app out of the running apps list. If your use case requires that tracking continue after the app has been closed by the user, you can use this option to make the service operate under the START_STICKY run mode.
It is strongly recommended that you provide a way for the user to stop the tracking of their location so the service can be stopped without requiring the user to force kill it from the Settings app.
| context | a Context object. |
|---|---|
| enabled | true if service should be started in sticky mode. |
Enable use of SSL certificate pinning while making requests to the Geotrigger API, securing transmission of location data between devices and the Geotrigger API (default: false).
Certificate pinning hardens against man-in-the-middle attacks by preventing the Geotrigger SDK from communicating with any third parties. It is recommended that you enable this option, but only if you are able to provide timely updates to your app. With this option enabled, any Geotrigger API SSL certificate changes will break old versions of the SDK.
If your deployment plan does not include the ability to update your app in a timely fashion, you should not enable this option. With certificate pinning disabled, requests will continue to be made using SSL encryption.
| context | a Context object. |
|---|---|
| enabled | tru to enable SSL certificate pinning. |
Tell the GeotriggerService
to switch profiles.
profile
must be one of:
| context | a Context object. |
|---|---|
| profile | a tracking profile. |
Tell the GeotriggerService
to stop tracking, and NOT restart itself.
The service will attempt to send any pending locations before stopping.
| context | a Context
|
|---|


--- layout: default ---
Climbing a mountain on a bike with Bagger & Chispas: The Boundary Trail near Taos New Mexico
Hiking around Mayan Ruins near Talum Mexico with Missy Momma
The Mo Bro's: Jeremy, Spencer & Ben
House Concerts: Amazing Acoustic Music by Kim Warner & Carl Minor


{{ products[0] }}
Total Reviews: {{ products[1] }}
Average Rating: {{ products[2] }}
{% extends "layout.html" %}
{% block trending %}
How it works?
Generated by calculating weighted average rating of each product.
Total Reviews: {{ products[1] }}
Average Rating: {{ products[2] }}
Generates Recommendations based on similarity between the selected product and others.
| Similar Product Recommendation |
|---|
Generates Recommendations based on how other customers with similar taste have rated products.
| Similar Product Recommendation |
|---|


Today, I am going to be discussing a few things related to Classes in Ruby. I'll go into details on when, why and how you use classes. I'll then give a description of how data structures and classes can model real world objects. So, let's get started!
In short, classes are the basic template from which object instances are created. A class is made up of a collection of variables representing internal state and methods providing behaviours that operate on that state. In simpler terms, a class holds all of the variables and attributes for a particular object. For example, if we created a class for 'car', we would then put variables related to that car within the class. So we might, put topSpeed= 125, to signify the top speed that our car can go.
If it is not already apparent on why we use classes, then I will better explain. We use classes in programming for several reasons. The main reason we use classes is to make our code more readable and easier to understand. For example, you may need to create two separate classes for two different makes of a vehicle. If you only had one class titled car, it would become difficult to determine which methods belong to which car. In the end, your programmed cars would most likely not run very smoothly.
So how can we actually use this information when we are ready to create our first program? Simply put, we can use classes to make our code better. When we are building larger and more scalable programs, we may need to create class variables that have a larger reach. By creating classes, we are able to also distinguish between instance methods that are only to be used once and class methods that can be called on the entire class.
Let's consider the following. Assume that the car factory is the class. The car class has a class method buildCar. The buildCar method takes parameters and builds the details surround the car. You could assign variables that detail the car color, speed, and weight. Once you've created a car, that particular car has state variables that store things like the channel on the radio, the amount of gas left in the tank, the mileage on the odometer, the wear level on the brakes, etc. Different cars will have different values for those variables.
In short, classes allow us to get more detailed with our programming. Hopefully the preceding example helps you better understand how to use classes in the future.


{% extends 'base.html'%} {% import 'macros.html' as macro%} {% block content %}
Read reviews, compare customer ratings, see screenshots, and learn more about Dreame - Read Best Romance. Download Dreame - Read Best Romance and enjoy it on your iPhone, iPad, and iPod touch. Dreame – Reading Completes Me. Dreame is a dreamy community for female readers and writers providing captivating, serialized online fiction.


{% load sekizai_tags static i18n %} {% addtoblock "css" %} {% endaddtoblock %}
{% blocktrans %}How many people decide to progress beyond beginner and how many students stick with us a while? Note that a student who has taken classes in multiple roles will show up in each role's data series depending on the number of series they've taken in each.{% endblocktrans %}


Aditya
Kumar Singh
Kumar Singh
About
Skills
Skills I have
..... and many more. Check it out in resume.
Projects
Resume
Contact
Interested in working together? Let's have a talk!
Jamshedpur, India


B.L. Altshuler (Princeton)
Quantum interference in metals
N.O.Birge (Michigan)
Quantum interference and relaxation
L.I. Glazman (Minnesota)
Interaction effects in quantum dots
B.I. Halperin (Harvard)
Spin related physics; quantum Hall effect
C.L. Kane (Penn)
Electrons in one dimension
L.S. Levitov (MIT)
Topics in nonequilibrium electron transport
C.M. Marcus (Harvard)
Seminar
P.L. McEuen (Cornell)
Carbon nanotubes
D.C. Ralph (Cornell)
Metal nanoparticles
M.L. Roukes (Caltech)
Nanomechanics
R.J. Schoelkopf (Yale)
Noise and quantum measurement
A.D. Stone (Yale)
Ballistic transport
R.L. Willett (Lucent)
Quantum Hall effect


Schedule
Project 1 is due before class (9:29am) on Tuesday, 22 January.
Office hours schedule:
- Mondays, 10-11am, 254 Monroe Hall (Denis)
- Wednesdays, 5-6:30pm, Rice 442 (Jonas)
- Thursdays, 11am-noon (after class), Rice 507 (Dave)
- Fridays, 10:30am-noon, Monroe Basement (Joe)
Slides
Download (full resolution) PDF
Links
Security vulnerabilities as externalities
Manos Antonakakis, Tim April, Michael Bailey, Matthew Bernhard, Elie Bursztein, Jaime Cochran, Zakir Durumeric, J. Alex Halderman, Luca Invernizzi, Michalis Kallitsis, Deepak Kumar, Chaz Lever, Zane Ma, Joshua Mason, Damian Menscher, Chad Seaman, Nick Sullivan, Kurt Thomas, and Yi Zhou. Understanding the Mirai Botnet. USENIX Security Symposium 2017.
According to one common view, information security comes down to technical measures. Given better access control policy models, formal proofs of cryptographic protocols, approved firewalls, better ways of detecting intrusions and malicious code, and better tools for system evaluation and assurance, the problems can be solved. In this note, I put forward a contrary view: information insecurity is at least as much due to perverse incentives. Many, if not most, of the problems can be explained more clearly and convincingly using the language of microeconomics: network externalities, asymmetric information, moral hazard, adverse selection, liability dumping and the tragedy of the commons.
Ross Anderson, Why Information Security is Hard – An Economic Perspective. Annual Computer Security Applications Conference (ACSAC) 2001.
Smoking and Cancer
Richard Doll and Bradford Hill. Smoking and Carcinoma of the Lung. British Medical Journal, September 1950. (This is the first paper on the hospital patients study that I mostly talked about in class, and the tables and figures in the slides were from this paper.)
Scientists in many fields have felt the need for canons of valid inference, and these have been becoming available in what are, properly, experimental sciences, by the rapid development of interest and teaching in “The Design of Experiments”.
Unfortunately, it has become obvious that many teaching departments, with mathematical but without scientific qualifications, have plunged into the task of teaching this new discipline, in spite of harbouring gravely confused notions of the logic of scientific research.
If, indeed, the statistical; departments engaged in university teaching, were performing their appropriate task, of clarifying and confirming, in the future research workers who come within their influence, an understanding of the art of examining observational data, the fallacious conclusions drawn, from a simple association, about the danger of cigarettes, could scarcely have been made the basis of a terrifying propaganda.
For this reason I have thought that the fallacies must be attacked at both of two distinct levels; as an experimental scientist, and as a mathematical statistician.
Ronald A. Fisher, Alleged Dangers of Cigarette Smoking, British Medical Journal 1957.
Tobacco - A Vital U.S. Industry, pamphlet from Tobacco Institute, featuring drawing by Peter Jefferson, arguing against tobacco regulation.
Model of causes of Breast Cancer
Scott Alexander, Cancer Progress: much more than you wanted to know, Slate Star Codex, August 2018. A long, but very interesting and illuminating, post on whether or not we are “winning the war on cancer”.


Huawei nova 6 SE tipped to launch alongside nova 6 next week
by MichailThe past month gave us a multitude of leaks and teasers for the upcoming Huawei nova 6 and its 5G counterpart which are scheduled to be announced on December 5. A new leak courtesy of a reputable Slashleaks contributor, details that Huawei is also gearing up to release a budget version dubbed the nova 6 SE.
Design-wise the nova 6 SE resembles the nova 5z which launched last month with a punch-hole display and quad-camera setup. The leaked poster for the nova 6 SE reveals it will come with a similar-looking display while the quad-camera setup will be moved to the top left corner.
The actual display will likely remain an IPS LCD as the nova 6 SE will be priced in the mid-range segment. The right-hand-side will house a fingerprint reader/power key alongside the volume rocker.
A second poster also reveals the device will run on the Kirin 810 chipset and will support 40W Huawei SuperCharge. These are all the available details at the moment but we should be seeing more leaks and teasers as we get closer to the December 5 launch date.


§805-11 Same; trial. At the appointed time in the summons the district judge shall proceed to hear and try the case as in the case of a natural person. [L 1893-4, c 24, §3; RL 1925, §4015; RL 1935, §5478; RL 1945, §10778; RL 1955, §257-11; HRS §710-11; am L 1970, c 188, §39; ren L 1972, c 9, pt of §1]


The Modal component provides a hook to open and perform operations on a modal window.
Regular Modals
Use modals whenever a user needs to take an action that needs their
attention, or you want to interrupt a user's current task to redirect a
user's full attention to something more important.
Multi-View Modals
A multi-view modal breaks apart complex interactions so modal content
isn't too long. Multi-view modals also work well when the user must
complete multiple sequential steps.
It works for cases when removing or deleting something needing a
confirmation click, such as "Are You Sure you want to Remove this?"
Disabled Modal
Delete Modal
Design Patterns within Encore
-
When should you use modals instead of a new page?
-
According to Bootstrap, "Modals are streamlined, but flexible,
dialog prompts with the minimum required functionality and smart
defaults."
-
In Encore, you should use modals for confirmation messaging. For
notifications you will use rxNotification, which is the static
subdirective of rxNotify. See the example below which uses
type="error"
. type="error"
can be
replaced with the appropriate message response style.
-
You also can use modals to edit content in lieu of having an edit
view. This design pattern is not ideal. An Edit View will need to
be considered as a pattern in future iterations.
-
Using the rxModalForm subdirective will automatically provide you with
a title, subtitle, submit and cancel text. You can use rxForm elements
within rxModalForm.
-
For real world examples, take a look at the
ng-template blocks triggered from server action links
under Encore Cloud.
-
If you need to deviate from the title / footer pattern at all, you'll
need to take a look at the
rxModalForm directive template markup
and build upon that.
DO
- Do use modals to perform actions requiring the users full attention.
DON'T
-
Don't display a modal without an action button, or a way to close the modal by closing the modal via X or pressing the Cancel button.
- Don't use modals as pop-ups, having them appear without the user clicking something
- Don't use modals referring to information on the originating page
- Don't use a modal to display a set of info or metadata without any direct actions


Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting,
remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset
sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like
Aldus PageMaker including versions of Lorem Ipsum.
Press the button, if you want to know how many div-tags are used to build this page!


Engelsk A
kl. 09.00-14.00
Vejledning til opgavesættet
| Du skal besvare følgende opgaver: | |
|
|
| Tekster til assignment 4: | |
| 4A – Fiction: | “The Quiet One”, a short story by Stephen Gibbin, 2020. |
| 4B – Non-fiction: | “This should be Scotland’s rewilding election”, an article by Adam Ramsay, openDemocracy website, 2021.
“Scotland: What will you choose?”, a video from YouTube website, 2021. |
Vejledning og skabelon til at løse opgaven
Den samlede eksaminationstid for assignment 1-4 er fem timer. Besvarelsen bedømmes som en helhed ud fra de faglige mål for niveauet.
Det anbefales, at du skriver din besvarelse i skabelonen, som ligger under Template i menuen til venstre. Besvarelsen afleveres i ét dokument med opgaverne i rækkefølgen 1-4.
Henvisninger til tekst, video- og lydklip
Hvis du citerer, skal du angive kilde.
Alt anvendt materiale skal være engelsksproget og angives med kildehenvisninger. Til forklaring af grammatiske opgaver kan materialerne være på dansk.
Du kan henvise til dele af video- og lydklip, f.eks. ved at angive afspillerens minut- og sekundtal for henholdsvis starten og slutningen af klippet.
Alt anvendt materiale skal være engelsksproget og angives med kildehenvisninger. Til forklaring af grammatiske opgaver kan materialerne være på dansk.
Du kan henvise til dele af video- og lydklip, f.eks. ved at angive afspillerens minut- og sekundtal for henholdsvis starten og slutningen af klippet.
Generel skabelon for henvisninger til teksterHenvisninger Du henviser til tekster ved enten 1) at angive linjenummeret eller minuttalsangivelsen i en fodnote eller ved 2) at sætte linjenummeret eller minuttalsangivelsen i parentes inde i din tekst: Ved én linje: l. 34 Ved flere linjer: ll. 35-37 Ved minuttalsangivelse: 01:23-02:12 I fodnoter angives: Opslag i bog “Hvad er et ‘utælleligt ord’?”. Helle Brieghel og Dorthe Chalotte Hansen. Engelsk Grundgrammatik. Questions and Answers. Systime 2010. p. 47. Opslag i elektronisk opslagsværk “Utællelige substantiver”. Thomas Boesen og Sarah Barding. Engram. Minlaering 2019. (www.minlaering.dk) Artikel fra bog eller antologi “Post-Modernism”. Gitte Vest Barkholt and Jørgen Døssing Jepsen. A Short History of Literature in English. A Handbook. Systime 2010. pp. 79-93. |
Tekster i opgavesættet
Teksternes ortografi og tegnsætning følger forlæggene. Trykfejl er dog rettet.
Opsætningen følger ikke nødvendigvis forlæggene. Dog følges forlægget nøje, hvor opsætningen på den ene eller anden måde indgår i opgaven.
Opsætningen følger ikke nødvendigvis forlæggene. Dog følges forlægget nøje, hvor opsætningen på den ene eller anden måde indgår i opgaven.
Assignment 1
Besvar både opgave a. og b. nedenfor. Brug relevant grammatisk terminologi. Husk kildehenvisning, hvis du citerer fra en grammatikbog. Skriv dine svar på dansk.
- Find og skriv 14 forskellige adjektiver fra teksten.
- Forklar kort de vigtigste regler for gradbøjning af adjektiver på engelsk. Inddrag alle eksemplerne i din forklaring.
Teksten er et uddrag af en roman.
On their arrival the station was lively with straw-hatted young men, welcoming young girls who
bore a remarkable family likeness to their welcomers, and who were dressed up in the brightest
“The place seems gay,” said Sue. “Why – it is Remembrance Day!1 – Jude – how sly of you –
you came today on purpose!”
close to them, Sue attending to their own eldest. “I thought we might as well come today as on
any other.”
“Oh, I mustn’t let it interfere with our business; and we have a good deal to do before we shall
be settled here. The first thing is lodgings.” [...]
smallest child in Jude’s arms, Sue leading her little girl, and Arabella’s boy walking thoughtfully
and silently beside them. Crowds of pretty sisters in airy costumes, and meekly ignorant parents
bore a remarkable family likeness to their welcomers, and who were dressed up in the brightest
3
and lightest of raiment.
“The place seems gay,” said Sue. “Why – it is Remembrance Day!1 – Jude – how sly of you –
you came today on purpose!”
6
“Yes”, said Jude quietly, as he took charge of the small child, and told Arabella’s boy to keep
close to them, Sue attending to their own eldest. “I thought we might as well come today as on
any other.”
9
“But I am afraid it will depress you!” she said, looking anxiously at him up and down.
“Oh, I mustn’t let it interfere with our business; and we have a good deal to do before we shall
be settled here. The first thing is lodgings.” [...]
12
But his soul seemed full of the anniversary, and together they went down Chief Street, their
smallest child in Jude’s arms, Sue leading her little girl, and Arabella’s boy walking thoughtfully
and silently beside them. Crowds of pretty sisters in airy costumes, and meekly ignorant parents
15
who had known no college in their youth, were under convoy in the same direction [...]
Thomas Hardy, Jude the Obscure, 1894
1 Remembrance Day: en lokal festdag
Assignment 2
I tekststykket er en række ord og led understreget. Besvar opgave a., b. og c. nedenfor. Brug relevant grammatisk terminologi. Husk kildehenvisning, hvis du citerer fra en grammatikbog. Skriv dine svar på dansk.
- Syv sammensatte verballed er understreget.
• Skriv for hvert verballed hele subjektet
• Skriv om verballeddet er aktiv eller passiv
- Fem sammensatte ord er understreget.
• Skriv for hvert eksempel, hvilken ordklasse det sammensatte ord tilhører
• Forklar kort ud fra sammenhængen, hvordan man kan se ordklassen
- Ordet that er understreget fire steder.
• Skriv for hvert eksempel, hvilken ordklasse ordet tilhører
Teksten er et uddrag af en avisartikel.
Whether with a private therapist on Zoom, through an app that daily reminds us to log our emotions,
or in a back-and-forth with a chatbot, teletherapy is often proffered as a catch-all salve for our
patients in a time of extreme difficulty, an intimate intervention that can scale.
During the on-and-off mandated social distancing that has marked the past 18 months of the
thing on offer. [...]
Having a therapist see a patient on Zoom or condensing treatment to self-tracking and AI1
will solve our woes is nothing new. We have been turning to forms of technology to deliver mental
health services for more than 100 years. [...]
medium after medium, it is also accurate to say that it has finally arrived. The corporate health
industry has taken notice. Online therapy companies such as Talkspace are being traded publicly on
to perform machine listening, with nudges to users to be more “positive”. And white-collar workers in
the US are treated to a barrage of company-sponsored reminders to use the mindfulness and
or in a back-and-forth with a chatbot, teletherapy is often proffered as a catch-all salve for our
3
current mental healthcare crises. Remote treatment is touted as an efficient way to reach more
patients in a time of extreme difficulty, an intimate intervention that can scale.
During the on-and-off mandated social distancing that has marked the past 18 months of the
6
pandemic, teletherapy has shed its status as a minor form of care to become, at times, the only
thing on offer. [...]
Having a therapist see a patient on Zoom or condensing treatment to self-tracking and AI1
9
interfaces may be recent innovations, but the broad notion that technology and distanced processes
will solve our woes is nothing new. We have been turning to forms of technology to deliver mental
health services for more than 100 years. [...]
12
While versions of teletherapy have emerged over and over again during the past century on
medium after medium, it is also accurate to say that it has finally arrived. The corporate health
industry has taken notice. Online therapy companies such as Talkspace are being traded publicly on
15
Nasdaq2. Amazon has continued to push its Halo wearable tech, which uses a built-in microphone
to perform machine listening, with nudges to users to be more “positive”. And white-collar workers in
the US are treated to a barrage of company-sponsored reminders to use the mindfulness and
18
wellness apps bundled in their benefits.
The Guardian, 2021
1 kunstig intelligens
2 et aktieindeks på børsen i New York
Assignment 3
Videoen i denne opgave er lavet for Greenpeace.
Besvar både opgave a. og b. nedenfor. Brug relevant grammatisk terminologi. Husk kildehenvisning, hvis du citerer fra en grammatikbog. Skriv dit svar på dansk.
- Find og skriv fra videoens lydside femten forskellige substantiver, der er betegnelser for personer. Bøj, hvor det er muligt, substantiverne i pluralis.
- Forklar kort de vigtigste regler for pluralisbøjning af substantiver. Inddrag alle eksemplerne i din forklaring.

Part of your essay must focus on the setting of the story. In addition your essay must include an analysis of the style of writing in lines 1-18.
Your essay must include references to the short story.
Material
Stephen Gibbin. “The Quiet One”, 2020
Assignment 4B – Non-fiction
Write an analytical essay (900-1200 words) in which you analyse Adam Ramsay’s article “This should be Scotland’s rewilding election” and discuss the arguments for rewilding presented in the text and the video.
Part of your essay must focus on the writer’s use of contrasts. In addition your essay must include an analysis of the style of writing in lines 41-56.
Your essay must include references to:
- Adam Ramsay’s article
- Video: “Scotland: What will you choose?”
Materials
Adam Ramsay. “This should be Scotland’s rewilding election”, an article from openDemocracy website, 2021
“Scotland: What will you choose?”, a video from YouTube website, 2021
Template
Hent skabelonen til besvarelsen i menuen til venstre.
Sources
Anvendt materiale (til brug for Copydan):
Thomas Hardy. Jude the Obscure. 1894. London: Penguin, 1998.
Hannah Zeavin. “Therapy via Zoom should make mental healthcare available for all – it hasn’t”. The Guardian website, August 3, 2021, viewed October 2021. (www.theguardian.com)
Greenpeace. “What if?”. 2020. YouTube website, February 24, 2021, viewed October 2021. (www.youtube.com)
Stephen Gibbin. “The Quiet One”. Higgins et al. (eds.). Bath Short Story Award Anthology 2020. Great Britain: Ad Hoc Fiction, 2020.
Adam Ramsay. “This should be Scotland’s rewilding election”. openDemocracy website, February 20, 2021, viewed October 2021. (www.opendemocracy.net)
“Scotland: What will you choose?”. YouTube website, July 22, 2021, viewed October 2021. (www.youtube.com)