/* Comment here */
p {
margin: 1em; /* Comment here */
padding: 2em;
/* color: white; */
background-color: blue;
}
/*multi-line
comment here*/
Applying CSS
Three ways to attach
Inline style
Embedded
Linked
Inline
Embedded
Linked
Selectors
Selectors
A CSS selector is the part of a CSS rule set that actually selects the
content.
Simple Selectors
Pattern
Meaning
Level
*
any element
2
E
an element of type E
1
E.warning
an E element whose class is "warning"
1
E#myid
an E element with ID equal to "myid"
1
Class vs. Id
class
can be used several times
ID
can only be used once
Use CSS classes where it’s possible,
to make your styles reusable on the page.
Attribute Selectors
Pattern
Meaning
Level
E[foo]
an E element with a "foo" attribute
2
E[foo="bar"]
an E element whose "foo" attribute value is exactly equal to "bar"
2
E[foo~="bar"]
an E element whose "foo" attribute value is a list of whitespace-separated values, one of which is
exactly equal to "bar"
2
E[foo|="en"]
an E element whose "foo" attribute has a hyphen-separated list of values beginning (from the left)
with "en"
2
Attribute Selectors
Pattern
Meaning
Level
E[foo^="bar"]
an E element whose "foo" attribute value begins exactly with the string "bar"
3
E[foo$="bar"]
an E element whose "foo" attribute value ends exactly with the string "bar"
3
E[foo*="bar"]
an E element whose "foo" attribute value contains the substring "bar"
3
Pseudo Classes
Pattern
Meaning
Level
E:link E:visited
an E element being the source anchor of a hyperlink of which the target is not yet visited (:link)
or already visited (:visited)
1
E:active E:hover E:focus
an E element during certain user actions
1 and 2
E:target
an E element being the target of the referring URI
3
Pseudo Classes
Pattern
Meaning
Level
E:lang(fr)
an element of type E in language "fr" (the document language specifies how language is determined)
2
E:enabled E:disabled
a user interface element E which is enabled or disabled
3
E:checked
a user interface element E which is checked (for instance a radio-button or checkbox)
3
E:not(s)
an E element that does not match simple selector s
3
Pseudo Classes
(Structural)
Pattern
Meaning
Level
E:root
an E element, root of the document
3
E:nth-child(n)
an E element, the n-th child of its parent
3
E:nth-last-child(n)
an E element, the n-th child of its parent, counting from the last one
3
E:nth-of-type(n)
an E element, the n-th sibling of its type
3
Pseudo Classes
(Structural)
Pattern
Meaning
Level
E:nth-last-of-type(n)
an E element, the n-th sibling of its type, counting from the last one
3
E:first-child
an E element, first child of its parent
2
E:last-child
an E element, last child of its parent
3
E:first-of-type
an E element, first sibling of its type
3
Pseudo Classes
(Structural)
Pattern
Meaning
Level
E:last-of-type
an E element, last sibling of its type
3
E:only-child
an E element, only child of its parent
3
E:only-of-type
an E element, only sibling of its type
3
E:empty
an E element that has no children (including text nodes)
3
Pseudo Elements
Pattern
Meaning
Level
E::first-line
the first formatted line of an E element
1
E::first-letter
the first formatted letter of an E element
1
E::before
generated content before an E element
2
E::after
generated content after an E element
2
Combinators
Pattern
Meaning
Level
E F
an F element descendant of an E element
1
E > F
an F element child of an E element
2
E + F
an F element immediately preceded by an E element
2
E ~ F
an F element preceded by an E element
3
The key selector
The key selector is the right-most part of a larger CSS selector. This is what the user agent looks for
first.
Selector Matching
Value Processing
Value Processing
A user agent must assign a value to every property
that applies to the target media type to every box in the formatting
structure.
Calculation
Collecting all the declared values applied to an element.
Cascading yields the cascaded value.
Defaulting yields the specified value.
Resolving value dependencies yields the computed value.
Formatting the document yields the used value.
Transforming to the actual value based on constraints of the display
environment.
calculation examples
Property
Winning declaration
Cascaded value
Specified value
Computed value
Used value
Actual value
font-size
font-size: 1.2em
1.2em
1.2em
14.1px
14.1px
14px
width
width: 80%
80%
80%
80%
354.2px
354px
width
width: auto
auto
auto
auto
134px
134px
height
height: auto
auto
auto
auto
176px
176px
page-break-after
(none)
(none)
auto (initial value)
auto
auto
auto
Filtering
Filtering
In order to find the declared values, user agents must first identify
all declarations that apply to each element.
Filtering
A declaration applies to an element if:
It belongs to a style sheet that currently applies to this
document.
It is not qualified by a conditional rule with a false
condition.
It belongs to a style rule whose selector matches the element.
It is syntactically valid: the declaration’s property is a
known property name, and the
declaration’s value matches the syntax for that property.
Cascading
Cascading
The cascade takes a unordered list of declared values
for a given property on a given element, sorts them by their declaration’s precedence, and outputs a single
cascaded value.
Cascading origins
Author
User
User agent
User agent Style Sheet
User agent applies style sheets to all web documents. These are referred to as a “default” user agent style
sheet.
User Style Sheets
Most user agents allow user to apply their own style sheets within the user agent.
Author Styles Sheets
Web authors can apply one or more style sheets to an HTML document.
Cascading order
Which CSS rules “win”?
There are four steps to determine which CSS rules will “win”.
Step 1
Gather all the declarations that apply to an element and property from browser, author and user style sheets.
Step 2
Sort the gathered declarations according to:
origin
user agent
author
user
importance
normal
!important
From lowest to highest priority
Normal declarations in user agent
style sheet.
Normal declarations in user
style sheet.
Normal declarations in author
style sheet.
!important declarations in author style sheet.
!important declaration in user
style sheet.
!important declaration in user agent
style sheet.
Step 3
If declarations have the same origin or importance then the declaration’s selectors
need to be scored, to see which declaration will “win”.
Selectors Specificity
Inline style.
Count the number of IDs.
Count the number of classes, attributes
and pseudo-classes.
Count the number of element names or pseudo-elements.
A note on concatenation
“A” will always beat “B”, which will
always beat “C”, which will always
beat “D”.
Step 4
If two declarations have the same importance, origin and specify, the later specified
declaration wins.
Defaulting
Defaulting
When the cascade does not result in a value, the specified value must be found some other way:
Inherited properties draw their defaults from their parent element through inheritance.
Other properties take their initial
value.
Inheritance
Inheritance propagates property values from parent elements to their
children.
Explicit Defaulting
Resetting a Property: the initial keyword.
Explicit Inheritance: the inherit keyword.
Erasing All Declarations: the unset keyword.
Box Model
Box Model
The CSS box model describes the rectangular boxes that are generated for
elements in the document tree and laid out according to the visual formatting model.
Box Dimensions
Box Edges
content edge or inner edge
padding edge
border edge
margin edge or outer edge
box-sizing
content-box
padding-box
border-box
Collapsing Margins
In CSS, the adjoining margins of two or more boxes can combine to
form a single margin.
Margins that combine this way are said to collapse, and the
resulting combined margin is called a collapsed margin.
Vertical margins collapse
(basic cases)
Adjacent siblings.
Parent and first/last child.
Empty blocks.
Horizontal margins collapse
Do not collapse in most cases...
Collapsing restrictions
Only margins of block-level boxes can collapse.
Margins of a floated box do not collapse with any other margins.
Margins of a box with ‘overflow’ other than ‘visible’ do not collapse
with its children's margins.
Margins of an absolutely positioned box do not collapse with any other
margins.
Margins of the root element's box do not collapse.
Visual formatting model
Visual formatting model
The CSS visual formatting model is the algorithm used to process a document
and display it on a visual media.
Defining boxes
box dimensions
box type
the positioning scheme
the other elements in the tree
the viewport size and position
intrinsic dimensions of contained images
other external information
Box Generation
The part of the CSS visual formatting model.
Creates boxes from the document's elements.
Box Types
Affect how the visual formatting is done.
Depend of the value of the display CSS property.
Block-level elements and block boxes
Visually formatted as a block.
Intended to be vertically stacked.
display: block, list-item, table.
Block-level elements
Participates in a block formatting context.
Generates at least one block-level box (principal block-level box).
Block container box
Is a box that contains only other block-level boxes, or creates an inline formatting context.
A block-level box may also be a block container box.
block-level box vs. block container
block-level box
how the box will behave with its parents and sibling
block container
how the box will interact with its descendants
Block Boxes
Block-level boxes that also are block container boxes are called block boxes.
Anonymous block boxes
Supplementary boxes.
Cannot be styled using CSS selectors.
Use the inherit value or the initial value
of css properties.
Anonymous block boxes
Some inline text
followed by a paragraph
followed by more inline text.
Inline-level elements and inline boxes
Distributed in lines with other inline-level content.
display: inline, inline-block,
inline-table.
Inline-level elements
Generate inline-level boxes.
inline boxes
Inline boxes are both inline-level boxes and boxes that participate in their container's inline formatting
context.
Inline Boxes
Dimensions Calculation
width
doesn't apply.
height
doesn't apply, but the height of the box is given by the ‘line-height’ property.
padding
only left and right padding will have an effect.
margin
only left and right margin will have an effect.
atomic inline-level boxes
Inline-level boxes that do not participate in an inline formatting context.
Are never split in several boxes.
Generated by: replaced inline-level elements, by elements with a
calculated display value
(inline-block or inline-table).
atomic inline-level boxes
The text in the span can be split
in several lines as it is an inline box.
The text in the span can be split in several lines as it is
an inline box.
The text in the span cannot be split
in several lines as it is an inline-block box.
The text in the span cannot be split in several lines as it
is an inline-block box.
Anonymous inline boxes
Any text that is directly contained inside a block container element (not inside an inline element).
Use the inherit value or the initial value
of css properties.
Anonymous inline boxes
Some emphasized text
Other types of boxes
Line boxes.
Run-in boxes.
Model-induced boxes.
Positioning schemes
Normal flow.
Floats.
Absolute positioning.
normal flow
Boxes are laid out one after the other (vertically or horizontally).
normal flow
position
static
relative
float
none
normal flow
static positioning
The boxes are drawn at the exact position defined by the normal flow layout.
relative positioning
The boxes are drawn with an offset defined by the top, bottom, left and right CSS properties.
Floats
Floating boxes are positioned at the beginning or end of the current line.
Anything within the normal flow flows along the edge of the floating boxes.
Floats
position
static
relative
float
left
right
The clear CSS property
Specifies whether an element can be next to floating elements that precede it or must be moved down
(cleared) below them.
Applies to both floating and non-floating elements.
Block formatting context
The region in which:
the layout of block boxes occurs;
floats interact with each other.
Block formatting context
Created by:
the root element;
floats;
absolutely positioned elements;
inline-blocks;
table cells and table captions;
elements where overflow has a value other than visible;
flex boxes.
Absolute positioning
Boxes are entirely removed from the flow.
Boxes don't interact with the flow at all.
Boxes positioned relative to their containing block.
Containing Block
Element boxes are positioned within a formatting context, which, by default, is provided by the box generated by
a parent element.
containing block
position: static or relative
The containing block is formed by the edge of the content box of
the nearest ancestor element whose display property value is one of:
block
inline-block
list-item
run-in
table
table-cell
containing block
position: absolute
The containing block is the nearest positioned ancestor (the nearest ancestor whose position property
has one of the values absolute, fixed, or relative).
The containing block is formed by the padding edge of that
ancestor.
containing block
position: fixed
The containing block is the viewport (for continuous media) or the
page box (for paged media).
The stacking context
Boxes are positioned in three dimensions.
The third dimension is the z axis, which is perpendicular to the screen.
'z-index' property
For a positioned box, the 'z-index' property specifies:
The stack level of the box in the current stacking context.
Whether the box establishes a local stacking context.
Forming of a stacking context
The root element (HTML).
Positioned (absolutely or relatively) with a z-index value other than "auto".
A flex item with a z-index
value other than "auto".
Elements with an opacity value less than 1.
Elements with a transform value other than "none".
Elements with a mix-blend-mode value other than "normal".
Elements with a filter value other than "none".
Elements with isolation set to "isolate".
Stacking context layers
The background and borders
of the element that establishes the stacking context.
The stacking contexts of descendants with negative stack levels.
Block-level descendants in the normal flow.
Floated descendants and their contents.
Inline-level descendants in the normal flow.
Positioned descendants whose z-index is auto or 0.
The stacking contexts of descendants with positive stack levels.
stacking context
(summary)
Positioning and a z-index value creates a stacking context.
Stacking contexts are hierarchical.
Each stacking context is completely independent from its siblings.
The Golden rule of z-index
“If you are using 3 digits z-index values, you are doing it wrong.”
CSS At-rules
CSS At-rules
At-rules are instructions or directives to the CSS parser.
CSS At-rules
@charset
@import
@media
@page
@font-face
@charset
The @charset CSS at-rule specifies the character encoding used in the style sheet.
This at-rule is useful when using non-ASCII characters in some CSS properties, like content.
@charset "UTF-8";
@charset 'iso-8859-15';
@charset
Several ways to define the character encoding of a style sheet:
The value of the Unicode byte-order character.
The value given by the charset attribute of the Content-Type: HTTP header.
The @charset CSS at-rule.
The charset attribute of the <link> element. (obsoleted)
The value of the <meta charset> in the document.
@import
Allows to import style rules from other style sheets.
@import 'custom.css';
@import url('landscape.css') screen and (orientation:landscape);
@media
Associates a set of nested statements, in a CSS block that is delimited by curly braces, with a condition
defined by a media query.


DIT UAE events Your name
| Events by DIT UAE (change) | Webpage | Registrations | Meetings | |
|---|---|---|---|---|
| DIT ‘Meet the buyer’ at Tradexpo | www.great.gov.uk/events/123456 | Edit | Monitor | Monitor |
| DIT ‘Meet the buyer’ at Tradexpo | Not published Publish to GREAT |
Edit | Monitor | Monitor |
| DIT ‘Meet the buyer’ at Tradexpo | Not published Publish to GREAT |
Edit | Monitor | Add |
| DIT ‘Meet the buyer’ at Tradexpo | Not published Publish to GREAT |
Edit | Monitor | Add |
View all DIT UAE events


Enumeration members
CHAPTER_END
CHAPTER_END: = 33
CHAPTER_START
CHAPTER_START: = 32
CONTENT_IDENTIFICATION
CONTENT_IDENTIFICATION: = 1
DISTRIBUTOR_ADVERTISEMENT_END
DISTRIBUTOR_ADVERTISEMENT_END: = 51
DISTRIBUTOR_ADVERTISEMENT_START
DISTRIBUTOR_ADVERTISEMENT_START: = 50
DISTRIBUTOR_PLACEMENT_OPPORTUNITY_END
DISTRIBUTOR_PLACEMENT_OPPORTUNITY_END: = 55
DISTRIBUTOR_PLACEMENT_OPPORTUNITY_START
DISTRIBUTOR_PLACEMENT_OPPORTUNITY_START: = 54
NETWORK_END
NETWORK_END: = 81
NETWORK_START
NETWORK_START: = 80
NOT_INDICATED
NOT_INDICATED: = 0
PROGRAM_BLACKOUT_OVERRIDE
PROGRAM_BLACKOUT_OVERRIDE: = 24
PROGRAM_BREAKAWAY
PROGRAM_BREAKAWAY: = 19
PROGRAM_EARLY_TERMINATION
PROGRAM_EARLY_TERMINATION: = 18
PROGRAM_END
PROGRAM_END: = 17
PROGRAM_OVERLAP_START
PROGRAM_OVERLAP_START: = 23
PROGRAM_RESUMPTION
PROGRAM_RESUMPTION: = 20
PROGRAM_RUNOVER_PLANNED
PROGRAM_RUNOVER_PLANNED: = 21
PROGRAM_RUNOVER_UNPLANNED
PROGRAM_RUNOVER_UNPLANNED: = 22
PROGRAM_START
PROGRAM_START: = 16
PROGRAM_START_IN_PROGRESS
PROGRAM_START_IN_PROGRESS: = 25
PROVIDER_ADVERTISEMENT_END
PROVIDER_ADVERTISEMENT_END: = 49
PROVIDER_ADVERTISEMENT_START
PROVIDER_ADVERTISEMENT_START: = 48
PROVIDER_PLACEMENT_OPPORTUNITY_END
PROVIDER_PLACEMENT_OPPORTUNITY_END: = 53
PROVIDER_PLACEMENT_OPPORTUNITY_START
PROVIDER_PLACEMENT_OPPORTUNITY_START: = 52
UNSCHEDULED_EVENT_END
UNSCHEDULED_EVENT_END: = 65
UNSCHEDULED_EVENT_START
UNSCHEDULED_EVENT_START: = 64


scheme://authority/path
endurl
supports the Endpoint URL
format explained earlier.
The definitions will be imported synchronously and any warnings will be returned.
| GraphQL Options | for information about the optional parameters. | |
| GraphQL Script | for information about the bundled script. | |
| GraphQL Automation | for information about the automation framework support. |


Send Mail with PHP
If you’re a PHP application developer, you might need to send email notifications through your custom PHP applications. With XAMPP, there are three ways to do this: you can use the PEAR Net_SMTP and Mail packages, you can use a simple SMTP client like msmtp, or you can use the third-party PHPMailer class. This guide walks you through these options.
| This guide assumes that you have an existing Gmail account, and that you will use Gmail’s SMTP server to transmit email. You can also use your organization or ISP’s mail server, although you’ll need to replace key details, such as the SMTP server name and port, with appropriate values for your environment. Your network administrator or ISP support desk will typically be able to provide this information. The example code provided in this tutorial is illustrative only and should not be used in production environments. |
Use PEAR Mail
To configure XAMPP to use the PEAR Mail and Net_SMTP packages for email notifications, follow these steps:
-
Install the Mail and Net_SMTP PEAR modules:
pear install Net_SMTP Mail
Note that if these packages are already installed in your system you see the messages below when executing that command:
Ignoring installed package pear/Net_SMTP Ignoring installed package pear/Mail Nothing to install
-
Use your text editor to create an example script named sendmail.php in the htdocs/ subdirectory and fill it with the following code. Once done, save your changes.
<?php require_once "Mail.php"; $from =<EMAIL_ADDRESS>$to =<EMAIL_ADDRESS>$host = "ssl://smtp.gmail.com"; $port = "465"; $username =<EMAIL_ADDRESS>$password = 'your-gmail-password'; $subject = "test"; $body = "test"; $headers = array ('From' => $from, 'To' => $to,'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo($mail->getMessage()); } else { echo("Message successfully sent!\n"); } ?>
Remember to replace the dummy values shown with your actual Gmail address, password and recipient email address. For this simple test, use your own email address as the recipient address.
Now, browse to the URL http://localhost/sendmail.php to execute the script and send the email message. If all goes well, you should see a success notification in your browser. If you used your own email address for the recipient address, you should also receive the email message.
Use msmtp
To configure XAMPP to use msmtp for email notifications, follow these steps:
-
Ensure that you are logged in as root. Install the msmtp package.
apt-get install msmtp
-
Create a new file at /etc/msmtprc and fill it with the following configuration directives:
defaults tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account default host smtp.gmail.com port 587 auth on user<EMAIL_ADDRESS>password your-gmail-password from<EMAIL_ADDRESS>logfile /var/log/msmtp.log
Remember to replace the dummy values shown with your actual Gmail address and account password.
-
Restart the Apache server using the XAMPP control panel.
| For more information on configuring msmtp to work with Gmail, refer to this source thread or the msmtp documentation. |
You can now use PHP’s mail() function to send email from your application. To illustrate how it can be used with your Gmail account, use your text editor to create an example script named sendmail.php in the htdocs/ subdirectory and fill it with the following code. Once done, save your changes.
<?php $to =<EMAIL_ADDRESS>$subject = 'Hello from XAMPP!'; $message = 'This is a test'; $headers = "From<EMAIL_ADDRESS>if (mail($to, $subject, $message, $headers)) { echo "SUCCESS"; } else { echo "ERROR"; }
Remember to replace the dummy values shown with valid email addresses. For this simple test, use your own email address as the recipient address.
Now, browse to the URL http://localhost/sendmail.php to execute the script and send the email message. If all goes well, you should see a success notification in your browser. If you used your own email address for the recipient address, you should also receive the email message.
Use PHPMailer
To configure XAMPP to use PHPMailer for email notifications, follow these steps:
-
Download PHPMailer from its Github repository using the "Download Zip" button.
-
Create a directory for your new application within the htdocs/ subdirectory of your XAMPP installation directory. In this tutorial, the application directory is named example/.
-
Extract the contents of the PHPMailer ZIP archive to the application directory.
You can now use PHPMailer to send email from your application. To illustrate how it can be used with your Gmail account, use your text editor to create an example script named phpmailer.php in the application directory, and fill it with the following code. Once done, save your changes.
<?php require 'PHPMailer-master/PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->Username =<EMAIL_ADDRESS>$mail->Password = 'your-gmail-password'; $mail->setFrom('your@email-address.com'); $mail->addAddress('recipients@email-address.com'); $mail->Subject = 'Hello from PHPMailer!'; $mail->Body = 'This is a test.'; //send the message, check for errors if (!$mail->send()) { echo "ERROR: " . $mail->ErrorInfo; } else { echo "SUCCESS"; }
Remember to replace the dummy values shown with your actual Gmail address and account password. You should also use a valid sender and recipient address. For this simple test, use your own email address as the recipient address.
Now, browse to the URL http://localhost/example/phpmailer.php. This should execute the script and send the email message. If all goes well, you should see a success notification in your browser. If you used your own email address for the recipient address, you should also receive the email message.
| As a security precaution, Gmail will automatically rewrite the From: and Reply-to: headers in your email message to reflect your Gmail address. If you want to avoid this, you must add and validate your custom email address in your Gmail account as a sender. Refer to Gmail’s documentation for more information and important restrictions. |


Product Coating
@coating_action - @coating_code
@if(coating_action.contains("New")) {
@_new(coating_code, coating_action, c_form)
} else {
@_edit(coating_code, coating_action, c_form)
}


--- layout: post title: worstpost category: - Analog - Street Photos tags: - 35mm - analog - antónio capelo - antoniocapelo - canon prima 5 - canonet ql17 - porto - shutter hell up - yashica minister d status: publish type: post published: true meta: _edit_last: '1' _wp_old_slug: sem-titulo-1-2 ---
Oh, the light…the light is great because, amongst other things, makes photography possible.
But when you're developing a roll, when pouring out the pre-wash water, if you haven't locked the tank right, it opens and f*cks up your film.
After screwing up a roll of HP5, I decided to shot another roll while testing a Yashica Minister D rangefinder. Turns out that this camera's light seals were too much worn out so I just screwed another roll of HP5.
At least the Agfa roll taken with the Canon Prima 5 came out "nice" (and I concluded that the white dots I complained about were the Lab's fault).
Ready for the worst post on this blog? I hope so, because I'm such an honest guy that I post almost every photo I get...
Braga - one of We Are Young parties
lines
this would be a nice shot
from Denmark
and a "oh that looks like from 20 years ago" one
umbrellas in August :/
S
102
Rainy days in August
record
Layers
More rolls to come! (Hopefully, well developed)
A. Capelo


Change Password
Enter your Emailid/Mobile No
Enter your existing password:
Enter your new password:
Re-enter your new password:
Home
Logout


{%extends "adm/admin_base.html" %} {%load currency%} {%load joinattr%} {%block title%}Match pending bank transaction to invoice{%endblock%} {%block layoutblock %}
To complete this matching, pick one of the below options.
Note: Once the invoice is matched, this step can't be reverted.
Don't match invoice


Health Minister Simon Harris calls on Dara Murphy to return expenses money
The Minister for Health has broken ranks and directly challenged Mr Murphy to give the taxpayer something back
by Ferghal BlaneySimon Harris has called for money-mad politician Dara Murphy to pay back expenses earned while he was double-jobbing.
The Minister for Health has broken ranks with his ministerial colleagues and directly challenged Mr Murphy to give the taxpayer something back.
He said: “I think he should.”
Mr Harris also said that just because Mr Murphy has quit the Dáil, doesn’t mean he can’t still be audited on his unusual expenses claims by the Dáil’s accountants.
Mr Murphy announced last week that he has formally resigned his seat in the Dáil, along with the lucrative salary and expenses package worth over €150,000 a year - including at least €50,000 a year in expenses based on his representing the people of Cork.
But this was only the tip of the iceberg, as he was also earning in the region of €10,000 a month in another job in Brussels.
Since October 2017, Mr Murphy had been coining it with the European People’s Party (an alliance of right-wing European parties of which Fine Gael is a member) as a director of elections.
This meant that he was getting paid for doing two jobs, in two different countries, for the guts of two years, until the European elections finished this summer.
The backbench TD with the Dáil’s worst attendance record on sitting days since 2017 was therefore getting paid more than the Taoiseach or the British Prime Minister during this time.
Mr Harris came out yesterday and told the Irish Mirror that he thinks Mr Murphy should pay back some of the expenses claimed as a TD over the past few years.
He said: “I think he should (pay back expenses), but before you and I decide what that level should be, for someone who is not you or I to have a look at this.
“And while he is no longer a Member of Dáil Eireann, my understanding is that all expenses for any TD are still auditable for up to five years.
“All of us get that every year when we make a declaration, it says you are auditable for up to five years even when you are not a TD any longer.
“So I do know that, for example, if you lost your seat in a general election, you could still be audited on your expenses for the previous years when you were a TD.
How to follow the Irish Mirror on social media
You can like our main Facebook page here.
Our Irish Mirror Sports page - which brings you all your Irish and UK sports news - can be found here.
You can also check out our Irish Mirror GAA sports page.
The Irish Mirror Twitter account is @IrishMirror while our sports account is @MirrorSportIE.
Our Instagram account can be found here.
“So there are still functions whereby audits can be carried out and investigations can happen and I’m sure that will take place.”
Mr Harris was also asked about the prospect of an early general election next year if a motion of no confidence is tabled against him as Minister for Health.
He replied enthusiastically, saying that he is “so looking forward” to next year’s election, whenever it comes.


Introduction
Welcome to the accord.ly API, a RESTful API used to manage the creation and maintenance of digital contracts. It attempts to be as generic as possible to cater for very different use-cases.
Contract definition: “…an agreement with specific terms between two or more persons or entities in which there is a promise to do something in return for a valuable benefit …”
This document is intended for use primarily by developers, and as such, assumes basic knowledge of HTTP, RESTful API’s and JSON data structures.
You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Concepts
Participants
Every contract requires a set of participants. Each participant performs a specific role, ie:
- Initiator - the creator of the contract
- Oracle - a human or machine responsible for approving that conditions have been met
- Sender - the person sending value to the receiver. This may have monetary value (in the case of a transaction) or simply a transfer of information (in the case of a webhook)
- Receiver - the person receiving value from the sender
Signatures
Once a contract has been created, one or more participants (which may or may not include the oracle) is required to sign the contract as a whole. Each signature is attached to the contract.
A contract is marked as “pending” until all signatures have been received. Once all signatures are present, the contract is then marked as “active”.
An “active” contract is effectively locked and cannot be changed (except for condition signatures as they are completed - see below).
Conditions
Each contract has one or more conditions attached. A condition is a step that must be performed by a participant (generally, but not restricted to, the “receiver” - see participants above). Each condition must be fulfilled and approved before a contract is marked as complete.
Condition Signatures
A signature is used to sign the condition, to indicate that the it has been met (generally this would be an oracle). A signatory would use a secret key to sign the condition, and the public key (contained in the participant) could be used to validate the signature before the signature is accepted and written into the contract record.
Trigger
Each condition contains a trigger object, which itself may contain an array of transactions or webhooks. Transactions and/or webhooks are initiated when a condition has been met.
Transaction
Each transaction contains a “from” and “to” component, referring to the “sender” and “receiver” participants. It also contains an amount and currency details. Listed transactions will by default be initiated on the Contract API’s payment gateway.
Webhook
In contrast to a transaction, a webhook is an endpoint that the Contract API will call when a condition is met. This means that if a different payment gateway is to be used, or the condition does not require a “traditional” value transfer (eg: a gift of a bottle of wine) then an external service can be set up to handle this via the webhook (eg: IronMQ, or IFTTT). Request payloads to webhooks are POST by default, and may contain user-specified data. Webhook endpoints MUST be TLS enabled (HTTPS).
Objects
A contract is a JSON document, which can be broken down into related entities as listed below.
Contract object
The “top level” object which contains all other objects.
{
"id": "",
"name": "",
"description": "",
"expires": 0,
"conditions": [],
"participants":[],
"signatures":[]
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| name | string | The name of the contract |
| description | string | The description of the contract |
| expires | integer | The expiry date of the contract in UNIX format |
| conditions | array | An array of condition objects |
| participants | array | An array of participant objects |
| signatures | array | An array of signature objects |
Condition object
An object that defines a requirement that must be fulfilled.
{
"id": "",
"name": "",
"description": "",
"expires": "",
"sequence_number": 0,
"status":"",
"trigger":{}
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| name | string | The name of the condition |
| description | string | The description of the condition |
| expires | integer | The expiry date of the condition in UNIX format |
| sequence_number | integer | A number representing the order in which conditions are processed |
| status | string | A string (pending or complete) representing the status of the condition |
| trigger | hash | A hash representing a trigger object |
Participant object
{
"id": "",
"external_id": "",
"public_key": "",
"roles": [],
"wallet": {}
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| external_id | string | The external id of a participant |
| public_key | string | The public key of the participant used for signing |
| roles | array | A (string) array of one or more roles (can be initiator, oracle, sender, receiver ) |
| wallet | hash | A wallet object |
Signature object
Signatures can be found at both the contract and condition level.
- Contract: signatures indicate approval of the contract as a whole
- Condition: signatures indicate that a condition has been met
{
"id": "",
"participant_external_id": "",
"participant_id": "",
"delegated_by_external_id": "",
"delegated_by_id": "",
"type":"",
"value":"",
"digest":""
}
| Name | Type | Description (contract) | Description (condition) |
|---|---|---|---|
| id | string | A unique identifier generated by the API | A unique identifier generated by the API |
| participant_external_id | string | The external id of a participant | The external id of a participant |
| participant_id | string | The id of the participant generated by the API | The id of the participant generated by the API |
| delegated_by_external_id | string | (not used by contract signatures) | The external id of a participant delegated to sign a condition if type = ss_key |
| delegated_by_id | string | (not used by contract signatures) | The id of the delegated participant generated by the API |
| type | string | (defaults to ecdsa) | ecdsa (when signing with a public key) OR ss_key (when signing with a shared secret fragment) |
| value | string | The private-key signed digest of the contract | If type = ecdsa , this is the private-key signed digest of the condition. If type = ss_key , this is a shared secret fragment |
| digest | string | SHA256 digest of the contract | SHA256 digest of the condition |
Trigger object
A trigger is an object that is processed once a condition has been met (ie: all signatures for the condition have been received).
A trigger can contain one or more transactions and/or one or more webhooks, each of which is processed once the trigger is initiated. (note: transactions and webhooks are optional; however at least one of either must be present for a trigger to be valid).
A trigger is processed asynchronously, ie: once a condition has been met, the trigger is placed on a queue which is handled on a separate thread.
{
"id": "",
"transactions": [],
"webhooks": []
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| transactions | array | An array of transaction objects that will be processed when the trigger is processed |
| webhooks | string | An array of webhook objects that will be processed when the trigger is processed |
Wallet object
A wallet is a container for a participant’s cryptocurrency wallet details. Currently this only supports Ripple wallets, but in future will support a number of different cryptocurrencies including Bitcoin.
{
"id": "",
"address": "",
"destination_tag": "",
"secret": {}
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| address | string | The (Ripple) address of the wallet |
| destination_tag | string | The destination tag of the wallet (when using managed wallets) |
| secret | hash | The secret object representing the secret key (or key fragments) |
Secret object
A secret represents the secret key of a cryptocurrency wallet. The threshold value indicates how many fragments are required to recreate a secret key using Shamir’s Secret Sharing Algorithm (SSSA).
If the threshold is set to 1 then the secret key has not been split using SSSA. The fragments array will then only contain 1 item, which is the original secret key.
If the threshold is >1, then the original key has been split using SSSA. Collection of the fragments is done via the condition signing process, when the specific signature type is ss_key. This means that a condition can be set to receive a number of separate ss_key signatures, each of which adds an ss_key fragment to the fragments array of the secret. Once the threshold has been reached then the original secret can be re-created for use in a transaction.
{
"id": "",
"threshold": 0,
"fragments": []
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| threshold | integer | The minimum number of fragments required to generate the secret key |
| fragments | array | An array of secret fragments. If threshold = 1 then this will simply be the unfragmented secret. |
Transaction object
The transaction object contains the details of a specific transfer of value from one participant to another. The from_participant represents the sender and the to_participant represents the receiver.
Transactions are only initiated once a trigger has been processed.
{
"id": "",
"from_participant_external_id": "",
"from_participant": "",
"to_participant_external_id": "",
"to_participant": "",
"amount":0,
"currency":"",
"status":"",
"ledger_transaction_hash":""
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| from_participant_external_id | string | The external id of the participant from which funds will be sent |
| from_participant | string | A unique identifer of the external id of the participant from which funds will be sent, generated by the API |
| to_participant_external_id | string | The external id of the participant to which funds will be sent |
| to_participant | string | A unique identifer of the external id of the participant to which funds will be sent, generated by the API |
| amount | integer | The amount to be sent |
| currency | string | The currency (eg: AMP) |
| status | string | A status flag indicating whether the transaction has been processed (pending or complete ) |
| ledger_transaction_hash | string |
Webhook object
A webhook simply represents an HTTP endpoint. When a webhook is processed, the API will execute a POST request via HTTPS to the specified uri. The payload of the request will be details of the condition in which the webhook resides.
{
"id": "",
"uri": "",
"headers":[],
"body":""
}
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier generated by the API |
| uri | string | The uri against which a POST request will be made by the API |
| headers | array | An array of header hashes (key:value pairs) |
| body | string | The payload to be sent to the webhook uri |
Putting it all together
{
"id": "",
"name": "",
"description": "",
"expires": "",
"conditions": [
{
"id": "",
"name": "",
"description": "",
"sequence_number": "",
"signatures": [
{
"id": "",
"participant_external_id": "",
"delegated_by_external_id": "",
"value": "",
"digest": ""
}
],
"status": "",
"trigger": {
"id": "",
"transactions": [
{
"id": "",
"from_participant_external_id": "",
"to_participant_external_id": "",
"amount": "",
"currency": "",
"status": "",
"ledger_transaction_hash": ""
}
],
"webhooks": [
{
"id": "",
"uri": ""
}
]
},
"expires": ""
}
],
"participants": [
{
"id": "",
"external_id": "",
"role": "",
"public_key": "",
"wallet": {
"address": "",
"destination_tag": "",
"secret": {
"fragments": [],
"threshold": ""
}
}
}
],
"signatures": [
{
"id": "",
"participant_external_id": "",
"value": "",
"digest": ""
}
]
}
The JSON representation to the right shows the relationships between the objects discussed above.
Requests
Authentication
To authorize, use this code:
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
-H "Authorization:[key]"
Make sure to replace
[key]
with your API key.
An API key is required to access the API. This key must be included in all requests to the server in a header that looks like the following:
Authorization:[key]
Create Contract
This endpoint creates a new contract.
HTTP Request
POST https://accordly.infinity-g.com/v1/contracts
JSON Payload
| Field name | Description | Required |
|---|---|---|
| name | The name of the contract | Y |
| description | The description of the contract | Y |
| expires | The UNIX expiry date of the contract | Y |
| participants | An array of participants (see participant) | Y |
| signatures | An array of signatures (see signature) | Y |
| conditions | An array of conditions (see condition) | Y |
curl "https://accordly.infinity-g.com/v1/contracts"
-H "Authorization:[key]"
-H "Accept: application/json"
-X POST
-d '{
"name": "Test contract 1",
"description": "Test contract 1 description",
"expires":<PHONE_NUMBER>,
"participants": [
{
"external_id": "1",
"roles": [
"initiator",
"sender"
],
"public_key": "BKID9EgNllR9zNcwXDxdMbU76s0WwpMeD31vrTaxyDg3k53W/NFIo0G6ggO1\nzonI2zsgRbeQutIFfFqpHHPEY3Q=\n",
"wallet": {
"address": "2147d348-6a31-484c-b974-f4452f006e81",
"destination_tag": null,
"secret": {
"fragments": [
"TaWs+hB2uowc5ZOzZZ0er9S/rZ+yNgjOAMmhM0Mpkgg=\n"
],
"threshold": 1
}
}
},
{
"external_id": "2",
"roles": [
"oracle"
],
"public_key": "BI+vVlovs0j+wSxrUoZZf3GRjvy0bi9cXb8ksd4mR0WYPUAAwIbIAcPP++Qy\n++RoDJ0sgyaIjZPV10E9s2byd1s=\n",
"wallet": null
},
{
"external_id": "3",
"roles": [
"receiver"
],
"public_key": "BOnjAl6WzsGR6cfjR0DvB321hnveTErmXt/UpQUbeTrUdrJir13Agv/pRq2F\nt4kvtm7wh9kRZb3pNHe1dOQKmoE=\n",
"wallet": {
"address": "38c7cf68-dcb8-409d-b686-5ba212f0951e",
"destination_tag": null,
"secret": null
}
}
],
"signatures": [
{
"participant_external_id": "2",
"type": null,
"delegated_by_external_id": null
}
],
"conditions": [
{
"name": "Test condition 1",
"description": "Test condition 1 description",
"sequence_number": 1,
"signatures": [
{
"participant_external_id": "2",
"type": "ecdsa",
"delegated_by_external_id": ""
}
],
"trigger": {
"transactions": [
{
"from_participant_external_id": "1",
"to_participant_external_id": "3",
"amount": "100",
"currency": "PDC"
}
],
"webhooks": []
},
"expires":<PHONE_NUMBER>
}
]
}'
The above command returns JSON structured like this:
{
"conditions": [
{
"description": "Test condition 1 description",
"expires":<PHONE_NUMBER>,
"id": "54a040b6b85a5428ea000040",
"name": "Test condition 1",
"sequence_number": 1,
"signatures": [
{
"delegated_by_id": "",
"id": "54a040b6b85a5428ea00003d",
"participant_id": "54a040b6b85a5428ea00003a",
"type": "ecdsa"
}
],
"status": "pending",
"trigger": {
"id": "54a040b6b85a5428ea00003f",
"transactions": [
{
"amount": 100,
"currency": "PDC",
"from_participant_id": "54a040b6b85a5428ea000039",
"id": "54a040b6b85a5428ea00003e",
"status": "pending",
"to_participant_id": "54a040b6b85a5428ea00003c"
}
],
"webhooks": []
}
}
],
"description": "Test contract 1 description",
"expires":<PHONE_NUMBER>,
"id": "54a040b6b85a5428ea000042",
"name": "Test contract 1",
"participants": [
{
"external_id": 1,
"id": "54a040b6b85a5428ea000039",
"public_key": "BKID9EgNllR9zNcwXDxdMbU76s0WwpMeD31vrTaxyDg3k53W/NFIo0G6ggO1\nzonI2zsgRbeQutIFfFqpHHPEY3Q=\n",
"roles": [
"initiator",
"sender"
],
"wallet": {
"address": "2147d348-6a31-484c-b974-f4452f006e81",
"id": "54a040b6b85a5428ea000038",
"secret": {
"fragments": [
"TaWs+hB2uowc5ZOzZZ0er9S/rZ+yNgjOAMmhM0Mpkgg=\n"
],
"id": "54a040b6b85a5428ea000037",
"threshold": 1
}
}
},
{
"external_id": 2,
"id": "54a040b6b85a5428ea00003a",
"public_key": "BI+vVlovs0j+wSxrUoZZf3GRjvy0bi9cXb8ksd4mR0WYPUAAwIbIAcPP++Qy\n++RoDJ0sgyaIjZPV10E9s2byd1s=\n",
"roles": [
"oracle"
],
"wallet": null
},
{
"external_id": 3,
"id": "54a040b6b85a5428ea00003c",
"public_key": "BOnjAl6WzsGR6cfjR0DvB321hnveTErmXt/UpQUbeTrUdrJir13Agv/pRq2F\nt4kvtm7wh9kRZb3pNHe1dOQKmoE=\n",
"roles": [
"receiver"
],
"wallet": {
"address": "38c7cf68-dcb8-409d-b686-5ba212f0951e",
"id": "54a040b6b85a5428ea00003b",
"secret": null
}
}
],
"signatures": [
{
"id": "54a040b6b85a5428ea000041",
"participant_id": "54a040b6b85a5428ea00003a"
}
],
"status": "pending"
}
Sample
The sample to the right demonstrates the following scenario:
Participants
- Participant 1:
- Roles:
initiator
andsender
(the creator of the contract will also send funds) - Wallet: contains public address and a single secret key (unfragmented)
- Roles:
- Participant 2:
- Roles:
oracle
- Wallet: none
- Roles:
- Participant 3:
- Roles:
receiver
- Wallet: public address to receive funds. No secret key
- Roles:
Contract signatures
- One signature:
- required from the
initiator
- required from the
Conditions
- One condition:
- Signatures: single signature required (ECDSA)
- Trigger:
- Transactions: single transaction from
sender
participant toreceiver
participant
- Transactions: single transaction from
Get Contract
This endpoint retrieves a specific contract.
curl "https://accordly.infinity-g.com/v1/contracts/54a040b6b85a5428ea000042"
-H "Authorization: [key]"
The above command returns JSON structured like this:
{
"conditions": [
{
"description": "Test condition 1 description",
"expires":<PHONE_NUMBER>,
"id": "54a040b6b85a5428ea000040",
"name": "Test condition 1",
"sequence_number": 1,
"signatures": [
{
"delegated_by_id": "",
"id": "54a040b6b85a5428ea00003d",
"participant_id": "54a040b6b85a5428ea00003a",
"type": "ecdsa"
}
],
"status": "pending",
"trigger": {
"id": "54a040b6b85a5428ea00003f",
"transactions": [
{
"amount": 100,
"currency": "PDC",
"from_participant_id": "54a040b6b85a5428ea000039",
"id": "54a040b6b85a5428ea00003e",
"status": "pending",
"to_participant_id": "54a040b6b85a5428ea00003c"
}
],
"webhooks": []
}
}
],
"description": "Test contract 1 description",
"expires":<PHONE_NUMBER>,
"id": "54a040b6b85a5428ea000042",
"name": "Test contract 1",
"participants": [
{
"external_id": 1,
"id": "54a040b6b85a5428ea000039",
"public_key": "BKID9EgNllR9zNcwXDxdMbU76s0WwpMeD31vrTaxyDg3k53W/NFIo0G6ggO1\nzonI2zsgRbeQutIFfFqpHHPEY3Q=\n",
"roles": [
"initiator",
"sender"
],
"wallet": {
"address": "2147d348-6a31-484c-b974-f4452f006e81",
"id": "54a040b6b85a5428ea000038",
"secret": {
"fragments": [
"TaWs+hB2uowc5ZOzZZ0er9S/rZ+yNgjOAMmhM0Mpkgg=\n"
],
"id": "54a040b6b85a5428ea000037",
"threshold": 1
}
}
},
{
"external_id": 2,
"id": "54a040b6b85a5428ea00003a",
"public_key": "BI+vVlovs0j+wSxrUoZZf3GRjvy0bi9cXb8ksd4mR0WYPUAAwIbIAcPP++Qy\n++RoDJ0sgyaIjZPV10E9s2byd1s=\n",
"roles": [
"oracle"
],
"wallet": null
},
{
"external_id": 3,
"id": "54a040b6b85a5428ea00003c",
"public_key": "BOnjAl6WzsGR6cfjR0DvB321hnveTErmXt/UpQUbeTrUdrJir13Agv/pRq2F\nt4kvtm7wh9kRZb3pNHe1dOQKmoE=\n",
"roles": [
"receiver"
],
"wallet": {
"address": "38c7cf68-dcb8-409d-b686-5ba212f0951e",
"id": "54a040b6b85a5428ea00003b",
"secret": null
}
}
],
"signatures": [
{
"id": "54a040b6b85a5428ea000041",
"participant_id": "54a040b6b85a5428ea00003a"
}
],
"status": "pending"
}
HTTP Request
GET https://accordly.infinity-g.com/v1/contracts/{contract_id}
Uri parameters
| Parameter | Description |
|---|---|
| contract_id | The id of the contract to retrieve |
Update Contract Signature
This endpoint updates a specific signature of a contract.
curl "https://accordly.infinity-g.com/v1/contracts"
-H "Authorization:[key]"
-H "Accept: application/json"
-X POST
-d '{
"value": "MEQCIFbMB8M56zrYbyJbCMO1FCw9JioY5aDSjkIwUP8kHEX6AiAC8nxHmkg+\nPsrQxpCbMmrchHb6R5Pzxh34yyyzCo4X6Q==\n",
"digest": "5Ri3cW7nHZmFaqSMPtHHWwBi1GOgekhIEL9vQOXPvmw="
}'
HTTP Request
POST https://accordly.infinity-g.com/v1/contracts/{contract_id}/signatures/{signature_id}
Uri parameters
| Parameter | Description |
|---|---|
| contract_id | The id of the contract to sign |
| signature_id | The id of the signature to update |
JSON Payload
| Field name | Description | Required |
|---|---|---|
| value | The private-key signed digest of the contract | Y |
| digest | The SHA256 hash of the contract | Y |
The API will use the participant associated with the signature_id to retrieve the relevant public key. This key is then used to validate the signature.
Get Condition
This endpoint retrieves a specific condition.
curl "https://accordly.infinity-g.com/v1/contracts/54a040b6b85a5428ea000042/conditions/54a040b6b85a5428ea000040"
-H "Authorization:[key]"
The above command returns JSON structured like this:
{
"description": "Test condition 1 description",
"expires":<PHONE_NUMBER>,
"id": "54a040b6b85a5428ea000040",
"name": "Test condition 1",
"sequence_number": 1,
"signatures": [
{
"delegated_by_id": "",
"id": "54a040b6b85a5428ea00003d",
"participant_id": "54a040b6b85a5428ea00003a",
"type": "ecdsa"
}
],
"status": "pending",
"trigger": {
"id": "54a040b6b85a5428ea00003f",
"transactions": [
{
"amount": 100,
"currency": "PDC",
"from_participant_id": "54a040b6b85a5428ea000039",
"id": "54a040b6b85a5428ea00003e",
"status": "pending",
"to_participant_id": "54a040b6b85a5428ea00003c"
}
],
"webhooks": []
}
}
HTTP Request
GET https://accordly.infinity-g.com/v1/contracts/{contract_id}/conditions/{condition_id}
Uri parameters
| Parameter | Description |
|---|---|
| contract_id | The id of the contract to which the condition belongs |
| condition_id | The id of the condition to retrieve |
Update Condition Signature
This endpoint updates a specific signature for a condition.
HTTP Request
POST https://accordly.infinity-g.com/v1/contracts/{contract_id}/conditions/{condition_id}/signatures/{signature_id}
Uri parameters
| Parameter | Description |
|---|---|
| contract_id | The id of the contract |
| condition_id | The id of the condition to sign |
| signature_id | The id of the signature to update |
JSON Payload
| Field name | Description | Required |
|---|---|---|
| value | if type =ecdsa , this is the private-key signed digest of the condition |
Y if type =ecdsa |
if type =ss_key , this is a secret key fragment |
Y if type =ss_key |
|
| digest | if type =ecdsa , this is the SHA256 hash of the contract |
Y if type =ecdsa |
N if type =ss_key |
The API will use the participant associated with the signature_id to retrieve the relevant public key. This key is then used to validate the signature.
Errors
HTTP Errors
The SmartContract API uses the following standard HTTP error codes:
| Error Code | Meaning |
|---|---|
| 400 | Bad Request – the request payload is structured incorrectly, or validation has failed |
| 401 | Unauthorized – incorrect API key |
| 403 | Forbidden – you do not have access to the requested resource |
| 404 | Not Found – resource could not be found |
| 405 | Method Not Allowed – You tried to access the API with an invalid method |
| 406 | Not Acceptable – You requested a format that isn’t JSON |
| 410 | Gone – The requested resource has been removed from our servers |
| 418 | – |
| 429 | Too Many Requests – Your request rate is too high |
| 500 | Internal Server Error – We had a problem with our server. Try again later. |
| 503 | Service Unavailable – We’re temporarily offline for maintenance. Please try again later. |


$5.8B deficit over 6 months
by The Canadian PressThe federal government ran a deficit of $5.8 billion over the first six months of its 2019-20 fiscal year compared with a surplus of $1.2 billion in the same period last year.
The Finance Department says the deficit came as program expenses climbed $12.4 billion to $156.9 billion compared with $144.5 billion last year.
The increase in spending was due to increases in major transfers to persons, major transfers to other levels of government and direct program expenses.
Revenues were up $6.1 billion at $164.1 billion compared with $158 billion a year ago, due to increases in personal and corporate income tax revenues, according to the department's monthly fiscal monitor.
Public debt charges increased by $700 million to nearly $13 billion compared nearly $12.3 billion with a year ago due to higher consumer price index adjustments on real return bonds and a higher average effective interest rate on Government of Canada treasury bills.
The Liberal government forecasted a deficit in last spring's budget of $19.8 billion for the 2019-20 fiscal year.


public class Controller extends java.lang.Object implements SwitchListener, java.lang.Runnable
| Constructor and Description |
|---|
Controller()
constructs and shows main window and the minimum agenda
|
| Modifier and Type | Method and Description |
|---|---|
void |
controlRobot()
opens a window that allows a direct robot arm control - can be used for finding the robot arm angles of individual positions on the field
|
java.lang.String[] |
getGameNames()
should return the list of available games, this should probably go to some external file (?)
|
java.lang.String[] |
getHeuristicsForGame(java.lang.String strategyName)
returns list of heuristics that are compatible with the specified strategy - also a place for improvement
|
java.lang.String[] |
getLearnableStrategyTypesForGame(java.lang.String gameName)
returns a list of strategies that can learn to play the specified game - improve...?
|
int |
getNumberOfPlayersForGame(java.lang.String gameName)
return the number of players for the specified game - should read the specs...fixit!
|
java.lang.String[] |
getStrategiesForGame(java.lang.String gameName)
returns list of strategies that can play the specified game, we should improve this architecture somehow later
|
int |
learn(java.lang.String gameName,
Player.boardType boardType,
Player.playerType[] playerTypes,
java.lang.String[] playerStrategies,
java.lang.String[] strategyHeuristics,
java.lang.String learnStrategyType,
java.lang.String strategyFileName,
int numberOfRuns)
tries to learn to play a game - not yet in use
|
void |
play(java.lang.String gameName,
Player.boardType boardType,
Player.playerType[] playerTypes,
java.lang.String[] playerStrategies,
java.lang.String[] strategyHeuristics,
int numberOfRuns)
starts a single game
|
void |
run()
a controller thread that plays all the games in this round - usually just one
|
void |
switchChanged(boolean newState)
called automatically when a game starts or stops
|
public Controller()
public void switchChanged(boolean newState)
switchChanged
in interface SwitchListener
public java.lang.String[] getGameNames()
public java.lang.String[] getStrategiesForGame(java.lang.String gameName)
public java.lang.String[] getHeuristicsForGame(java.lang.String strategyName)
public java.lang.String[] getLearnableStrategyTypesForGame(java.lang.String gameName)
public int getNumberOfPlayersForGame(java.lang.String gameName)
public void play(java.lang.String gameName, Player.boardType boardType, Player.playerType[] playerTypes, java.lang.String[] playerStrategies, java.lang.String[] strategyHeuristics, int numberOfRuns)
gameName
- name of the game to playboardType
- real or simulatedplayerTypes
- for each player whether it is a human or a computerplayerStrategies
- only for computer players, name of strategy to usestrategyHeuristics
- name of heuristic to use for each computer playernumberOfRuns
- how many times to play this game (normally 1, but higher when running statistical runs)public void run()
run
in interface java.lang.Runnable
public int learn(java.lang.String gameName, Player.boardType boardType, Player.playerType[] playerTypes, java.lang.String[] playerStrategies, java.lang.String[] strategyHeuristics, java.lang.String learnStrategyType, java.lang.String strategyFileName, int numberOfRuns)
gameName
- name of the game to playboardType
- real or simulatedplayerTypes
- for each player whether it is a human or a computerplayerStrategies
- only for computer players, name of strategy to usestrategyHeuristics
- name of heuristic to use for computer playersstrategyFileName
- where should we save the learned strategynumberOfRuns
- how many times to play the game while learninglearnStrategyType
- strategy that will be learnedpublic void controlRobot()


Constructor Summary
| Public Constructor | ||
| public |
|
Method Summary
| Public Methods | ||
| public |
updateWind(image: *grid wind image) render particles based on image |
Inherited Summary
| From class Overlayer | ||
| public |
map: * |
|
| public |
lnglat2pix(lng: *, lat: *): undefined[] use Global map or this.map instance to project |
|
| public |
setMap(map: *): * |
|
| private |
_init() to be overwrite in subClass |
| From class CanvasOverlayer | ||
| public |
blurWidth: * |
|
| public |
canvas: * |
|
| public |
initTrackCtx: * |
|
| public |
keepTrack: * |
|
| public |
labelOn: * |
|
| public |
lineColor: * |
|
| public |
|
|
| public |
redraw: * |
|
| public |
shadow: * |
|
| public |
trackCtx: * |
|
| public |
trackLayer: * |
|
| public |
tracks: *[] |
|
| public |
xfield: * |
|
| public |
yfield: * |
|
| public |
getTracks(): * |
|
| public |
render cached tracks to line when map moved.. |
|
| public |
setTracks(tracks: *array of track points.): * set tracks coordinates of overlayer. |
|
| private |
|
|
| private |
init track ctx for each track segment rendering.. |
Public Constructors
Public Methods
public updateWind(image: *grid wind image) source
render particles based on image
Params:
| Name | Type | Attribute | Description |
| image | *grid wind image |


PIMPRI CHINCHWAD COLLEGE OF ENGINEERING
User
Home
Website1
About
Contact Us
Download Class Report
Year
SE
TE
BE
Division
A
B
C
Download


--- layout: data_model title: DurationObjectPropertyType this_version: 1.1 ---
The DurationObjectPropertyType is a type (extended from BaseObjectPropertyType) representing the specification of a single Object property whose core value is of type duration. This type will be assigned to any property of a CybOX object that should contain content of type Duration and enables the use of relevant metadata for the property.
Properties that use this type can express multiple values by providing them using a delimiter-separated list. The default delimiter is '##comma##' (no quotes) but can be overridden through use of the delimiter field. Note that whitespace is preserved and so, when specifying a list of values, do not include a space following the delimiter in a list unless the first character of the next list item should, in fact, be a space.
| Field Name | Type | Description |
|---|---|---|
| @idoptional | QName |
The id field specifies a unique ID for this Object Property. |
| @idrefoptional | QName |
The idref field specifies a unique ID reference for this Object Property. When idref is specified, the id attribute must not be specified, and any instance of this property should not hold content unless an extension of the property allows it. |
| @datatypeoptional | DatatypeEnum |
This attribute is optional and specifies the expected type for the value of the specified property. |
| @appears_randomoptional | boolean |
This field is optional and conveys whether the associated object property value appears to somewhat random in nature. An object property with this field set to TRUE need not provide any further information including a value. If more is known about the particular variation of randomness, a regex value could be provided to outline what is known of the structure. |
| @is_obfuscatedoptional | boolean |
This field is optional and conveys whether the associated Object property has been obfuscated. |
| @obfuscation_algorithm_refoptional | anyURI |
This field is optional and conveys a reference to a description of the algorithm used to obfuscate this Object property. |
| @is_defangedoptional | boolean |
This field is optional and conveys whether the associated Object property has been defanged (representation changed to prevent malicious effects of handling/processing). |
| @defanging_algorithm_refoptional | anyURI |
This field is optional and conveys a reference to a description of the algorithm used to defang (representation changed to prevent malicious effects of handling/processing) this Object property. |
| @refanging_transform_typeoptional | string |
This field is optional and specifies the type (e.g. RegEx) of refanging transform specified in the optional accompanying refangingTransform property. |
| @refanging_transformoptional | string |
This field is optional and specifies an automated transform that can be applied to the Object property content in order to refang it to its original format. |
| @observed_encodingoptional | string |
This field is optional and specifies the encoding of the string when it is/was observed. This may be different from the encoding used to represent the string within this element. It is strongly recommended that character set names should be taken from the IANA character set registry (https://www.iana.org/assignments/character-sets/character-sets.xhtml). This field is intended to be applicable only to fields which contain string values. |
| @conditionoptional | ConditionTypeEnum |
This field is optional and defines the relevant condition to apply to the value. |
| @is_case_sensitiveoptional | boolean |
The is_case_sensitive field is optional and should be used when specifying the case-sensitivity of a pattern which uses an Equals, DoesNotEqual, Contains, DoesNotContain, StartsWith, EndsWith, or FitsPattern condition. The default value for this field is "true" which indicates that pattern evaluations are to be considered case-sensitive. |
| @apply_conditionoptional | ConditionApplicationEnum |
This field indicates how a condition should be applied when the field body contains a list of values. (Its value is moot if the field value contains only a single value - both possible values for this field would have the same behavior.) If this field is set to ANY, then a pattern is considered to be matched if the provided condition successfully evaluates for any of the values in the field body. If the field is set to ALL, then the patern only matches if the provided condition successfully evaluates for every value in the field body. |
| @delimiteroptional | string |
The delimiter field specifies the delimiter used when defining lists of values. The default value is "##comma##". |
| @bit_maskoptional | hexBinary |
Used to specify a bit_mask in conjunction with one of the defined binary conditions (bitwiseAnd, bitwiseOr, and bitwiseXor). This bitmask is then uses as one operand in the indicated bitwise computation. |
| @pattern_typeoptional | PatternTypeEnum |
This field is optional and defines the type of pattern used if one is specified for the field value. This is applicable only if the Condition field is set to 'FitsPattern'. |
| @regex_syntaxoptional | string |
This field is optional and defines the syntax format used for a regular expression, if one is specified for the field value. This is applicable only if the Condition field is set to 'FitsPattern'. Setting this attribute with an empty value (e.g., "") or omitting it entirely notifies CybOX consumers and pattern evaluators that the corresponding regular expression utilizes capabilities, character classes, escapes, and other lexical tokens defined by the CybOX Language Specification. Setting this attribute with a non-empty value notifies CybOX consumers and pattern evaluators that the corresponding regular expression utilizes capabilities not defined by the CybOX Language Specification. The regular expression must be evaluated through a compatible regular expression engine in this case. |
| @has_changedoptional | boolean |
This field is optional and conveys a targeted observation pattern of whether the associated field value has changed. This field would be leveraged within a pattern observable triggering on whether the value of a single field value has changed. |
| @trendoptional | boolean |
This field is optional and conveys a targeted observation pattern of the nature of any trend in the associated field value. This field would be leveraged within a pattern observable triggering on the matching of a specified trend in the value of a single specified field. |


Deprecated names This file is provided as a courtesy to ease upgrading GIL client code. Please make sure your code compiles when this file is not included.
More...
#include <cstddef>
Go to the source code of this file.
|
|
#define | planar_ptr planar_pixel_iterator |
| |
|
#define | planar_ref planar_pixel_reference |
| |
|
#define | membased_2d_locator memory_based_2d_locator |
| |
|
#define | pixel_step_iterator memory_based_step_iterator |
| |
|
#define | pixel_image_iterator iterator_from_2d |
| |
|
#define | equal_channels static_equal |
| |
|
#define | copy_channels static_copy |
| |
|
#define | fill_channels static_fill |
| |
|
#define | generate_channels static_generate |
| |
|
#define | for_each_channel static_for_each |
| |
|
#define | transform_channels static_transform |
| |
|
#define | max_channel static_max |
| |
|
#define | min_channel static_min |
| |
|
#define | semantic_channel semantic_at_c |
| |
|
#define | GIL boost::gil |
| |
|
#define | ADOBE_GIL_NAMESPACE_BEGIN namespace boost { namespace gil { |
| |
|
#define | ADOBE_GIL_NAMESPACE_END } } |
| |
|
#define | ByteAdvancableIteratorConcept MemoryBasedIteratorConcept |
| |
|
#define | byte_advance memunit_advance |
| |
|
#define | byte_advanced memunit_advanced |
| |
|
#define | byte_step memunit_step |
| |
|
#define | byte_distance memunit_distance |
| |
|
#define | byte_addressable_step_iterator memory_based_step_iterator |
| |
|
#define | byte_addressable_2d_locator memory_based_2d_locator |
| |
|
#define | pix_bytestep pixel_size |
| |
|
|
template<typename Img > |
| void | resize_clobber_image (Img &img, const typename Img::point_t &new_dims) |
| |
|
template<typename Img > |
| void | resize_clobber_image (Img &img, const typename Img::x_coord_t &width, const typename Img::y_coord_t &height) |
| |
|
template<typename T > |
| T::x_coord_t | get_width (const T &a) |
| |
|
template<typename T > |
| T::y_coord_t | get_height (const T &a) |
| |
|
template<typename T > |
| T::point_t | get_dimensions (const T &a) |
| |
|
template<typename T > |
| std::size_t | get_num_channels (const T &a) |
| |
Deprecated names This file is provided as a courtesy to ease upgrading GIL client code. Please make sure your code compiles when this file is not included.
- Author
- Lubomir Bourdev and Hailin Jin
Adobe Systems Incorporated
- Date
- 2005-2007
Last updated on February 12, 2007


Pirate (ARRR) is a cryptocurrency that solves the issue of financial privacy on the blockchain through forced anonymous transactions. Protect your wallet and transactions with Pirate’s completely anonymous network. With forced private transactions, your privacy cannot be compromised by another users’ activity on the network. If you wish to learn more, please join the official Pirate Discord at https://pirate.black/discord/ or message FishyGuts#5085, who will be happy to help out.
100 messages
Before 05-Dec-19 12:00 AM
FishyGuts26-Oct-18 07:27 AM
It's for Binance
Bikob226-Oct-18 07:29 AM
Guys, maybe you experienced that? Why my Z9 - Miner Status is Dead. All settings is fine - URL stratum+tcp://stratum.piratepool.io:2097
FishyGuts26-Oct-18 07:31 AM
What’s the first part of your payout address?
Do you have it all in there?
Is it R? Or zc?
Bikob226-Oct-18 07:31 AM
zcCE7
z - wallet
Oszy26-Oct-18 07:34 AM
Was it ok before of it's the first time you trying to connect?
@stephendpalley Or just adopt @KomodoPlatform delayed Proof of Work #dPoW to be protected by Bitcoin security level.
This operation is pending. You will be notified when when it has finished.
Oszy26-Oct-18 09:59 AM
All i had
P3L326-Oct-18 10:04 AM
!arrrtip @Oszy 0.0051
ARRR TipBotBOT26-Oct-18 10:04 AM
TipBot
@P3L3 (PeLe2288#1096)
You tipped @Oszy0.005 ARRR
A network fee of 0.0001 ARRR was deducted from the amount.
This operation is pending. You will be notified when when it has finished.
P3L326-Oct-18 10:04 AM
there you go
Oszy26-Oct-18 10:08 AM
appreciate it
kaks26-Oct-18 10:10 AM
i notice something in PIRATE pool that every hour the hash rate goes 1k , can i share with you so everyone risolve their issue with hash rate?


I primarily work in ReactJS but love to explore other languages and frameworks to see what will best suit the customers needs. My passion is amazing user interfaces and experience.


--- author: display_name: Erik Neemann email<EMAIL_ADDRESS>tags: - openstreetmap - osm - places - points of interest - businesses - restaurants categories: [] date: 2022-03-08 09:00:00 -0600 update_date: 2022-03-09 09:00:00 -0600 OpenSourcePlaces: hub: name: Utah Open Source Places item_id: 45e25f4062264dc1baa3765e3dbb5d8e updates: - June 7, 2023 - routine update (188 features added) - May 24, 2023 - routine update (159 features added) - May 9, 2023 - routine update (9 features added) - April 26, 2023 - routine update (21 features added) - April 12, 2023 - routine update (173 features added) - March 29, 2023 - routine update (32 features added) - March 14, 2023 - routine update (13 features added) - March 1, 2023 - routine update (168 features added) - February 15, 2023 - routine update (146 features added) - February 1, 2023 - routine update (349 features added) --- {% include abstract.html name="Open Source Places" type="GIS Data Layer" stewards="OpenStreetMap Contributors and UGRC" abstract="Utah Open Source Places contains a point representation of places of interest in Utah that have been derived from OpenStreetMap (OSM)." %}
This point data was generated and filtered from OpenStreetMap (OSM) and is intended to represent places of interest in the state of Utah. Per the OSM Wiki: "the [OSM] project…creates and distributes free geographic data for the world…because most maps you think of as free actually have legal or technical restrictions on their use, holding back people from using them in creative, productive, or unexpected ways." These data may include businesses, restaurants, places of worship, airports, parks, schools, event centers, apartment complexes, hotels, car dealerships…almost anything that you can find in OSM. There are over 23,000 features in the original dataset (March 2022) and users can directly contribute to it through openstreetmap.org. The data is updated approximately once every month and will likely continue to grow over time with additional user input and activity.
UGRC's creation of the Utah Open Source Places dataset does not imply endorsement by, or affiliation with, the OpenStreetMap Foundation
The Open Source Places layer is created by a Python script that pulls statewide OSM data from a nightly archive provided by Geofabrik. The archive data contains nearly 20 shapefiles, some that are relevant to this dataset and some that aren't. The Open Source Places layer is built by filtering the polygon and point data in those shapefiles down to a single point feature class with specific categories and attributes that UGRC determines would be of widest interest. The polygon features (buildings, areas, complexes, etc.) are converted to points using an internal centroid. Spatial filtering is done as the data from multiple shapefiles is combined into a single layer to minimize the occurrence of duplicate features. (For example, a restaurant can be represented in OSM as both a point of interest and as a building polygon. The spatial filtering helps reduce the chances that both of these features are present in the final dataset.) Additional de-duplication is performed by using the 'block_id' field as a spatial index, to ensure that no two features of the same name exist within a census block. Then, additional fields are created and assigned from UGRC's SGID data (county, city, zip, nearby address, etc.) via point-in-polygon and near analyses. A numeric check is done on the 'name' field to remove features where the name is less than 3 characters long or more than 50% numeric characters. This eliminates several features derived from the buildings layer where the 'name' is simply an apartment complex building number (ex: 3A) or house number (ex: 1612). Finally, additional attributes (osm_addr, open_hours, phone, website, cuisine, etc.) are pulled from the Overpass API and joined to the filtered data using the 'osm_id' field as the join key.
osm_id
- the feature ID in the OSM database
name
- the name of the feature in the OSM database
category
- the feature's data class based on the 4-digit code and tags in the OSM database
county
- the county the feature is located in (assigned from UGRC's county boundaries)
city
- the city the feature is located in (assigned from UGRC's municipal boundaries)
zip
- the zip code of the feature (assigned from UGRC's approximation of zip code boundaries)
block_id
- the census block the feature is located in (assigned from UGRC's census block boundaries)
osm_addr
- the feature's address in the OSM database, if available
ugrc_addr
- the nearest address (within 25 m) from the UGRC address point database
addr_dist
- the distance (m) to the nearest UGRC address point within 25 m
disclaimer
- a note from UGRC about the ugrc_addr field
lon
- the approximate longitude of the feature, calculated in WGS84 [EPSG:4326] (for the most precision, it is recommended that the feature's geometry is used instead of this field)
lat
- the approximate latitude of the feature, calculated in WGS84 [EPSG:4326] (for the most precision, it is recommended that the feature's geometry is used instead of this field)
amenity
- the amenity available at the feature (if applicable), often similar to the category
cuisine
- the type of food available (if applicable), multiple types are separated by semicolons (;)
tourism
- the type of tourist location, if applicable (zoo, viewpoint, hotel, attraction, etc.)
shop
- the type of shop, if applicable
website
- the feature's website in the OSM database, if available
phone
- the feature's phone number(s) in the OSM database, if available
open_hours
- the feature's operating hours in the OSM database, if available
The Open Source Places data carries a different license than most UGRC data.
OpenStreetMap® is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).
You are free to copy, distribute, transmit and adapt our data, as long as you credit OpenStreetMap and its contributors. If you alter or build upon our data, you may distribute the result only under the same license. The full legal code explains your rights and responsibilities.
© OpenStreetMap contributors
For more information, visit openstreetmap.org/copyright, openstreetmap.org, and opendatacommons.org.
{% include contact.html subject=page.title contact=site.data.contacts.os_places %}


Government response
Lord Hill responds to 'The Independent' on free schools
This was published under the 2010 to 2015 Conservative and Liberal Democrat coalition government
Schools Minister writes in response to an article in 'The Independent' on the number of applications to set up free schools.
Sir,
It is true that we are only selecting the very best applications from groups who want to run new, taxpayer-funded free schools (‘Most applicants to run free schools are turned down’, 11 May 2011).
The fact that we have had such a strong response to free schools and academies shows a clear demand for more good local schools, where heads have control - not bureaucrats or ministers. Figures released this week show that more than 1,000 schools have applied to become academies, and nearly a fifth of all secondary schools now enjoy academy freedoms.
Children from the poorest backgrounds have been let down the most by inequalities in our schools system. So I am delighted that excellent new free schools will be set up in disadvantaged areas like inner-city Bradford and Edmonton, London.
Our reforms are about creating a generation of brilliant schools, free from meddling and prescription, that provide more children with the type of education previously reserved for the rich.
Lord Hill of Oareford
Parliamentary Under Secretary of State for Schools


Below are some photos of my 1970 Ford Galaxie 500. This car was in pristine condition when I bought it. However, it was just too much of a boat for my 22 year old self, so I ended up selling it two weeks after I bought it for what I paid for it.


{% extends "default.tpl.html" %}
{% block title %}Schedule{% endblock %}
{% block heading %}Schedule{% endblock %}
{% block content %}
{% if error %}
If you are trying to get a private GitHub repo, please email<EMAIL_ADDRESS>Status: {{ mealevent.status }} Now serving: {{ mealevent.now_serving }}
{% endif %}
{% if mealevent.already_served %}
Previously served: {{ mealevent.already_served }}. (If you missed your serving time, you can still eat now.){{ mealevent.title }}
{{ event.description }}
{% endif %} {% endfor %} {% else %}


Bubblefresh
apparel
Be nude no longer.
submit
Share the freshness.
news
Word on the street.
register
Where da party at!
Get
Fresh.
Stay
Fresh.™


Learn to code by watching others
See how experienced developers solve problems in real time. Watching scripted tutorials is great, but understanding how developers think is invaluable
See how experienced developers solve problems in real time. Watching scripted tutorials is great, but understanding how developers think is invaluable


calitha-collections is a javascript dojo extension for supporting collection based objects. calitha-collections is based on the Java Collections framework. The intent was to have an API very close to this Java framework for several reasons. 1. Java Collections is a powerful, flexible and reliable framework. 2. The high-level approach to collections makes javascript development more productive. Some of this collections implementation is very different to Java, to make use of the special Javascript features, while other parts are almost identical.
There are two available downloads for each calitha-collections version:
calitha-collections has dependencies on Dojo core. To use calitha-collections you must unpack one of the files above and include collections.js (or the uncompressed.js file). An example how this can be done is shown here:
The interface classes are extensively documented (mostly copied from the official JDK documentation). Each interface will describe if there are any differences between it and the Java interface. In the classes only the constructors with parameters are documented.
These are the main collection object implementations currently available:
The official JDK documentation can give you a lot of information too: Java 1.6 collections package summary
Add some numbers to a list and then calculate the sum of all numbers.
The same can be done with a LinkedList. Just create a calitha.collections.LinkedList
This example will add several custom Employee objects do some contains calls.
This example will add number-to-string entries to a HashMap and iterate over all entries.
This example will add some strings to a TreeSet. The forEach call will show that the strings have been sorted in the set.
Functions and properties starting with an underscore are considered private or protected. This means that as a user of the library, it is not meant that you set those properties or call those functions. Doing so can cause unknown errors.
calitha-collections uses multiple inheritance. However, just like in Java, at most one implementation class is extended from, the others are interface classes. Interface classes are there just to make it clear which methods an object must have. Each of those methods will throw a calitha.exception.VirtualFunctionException meaning that the methods has not been implemented as the interface requires.
The Java Collection classes contain a lot of inner classes. In calitha-collections those inner classes have been put in seperate folders. Take for example the ListIterator in the LinkedList class. A folder names linkedlist is created in which a ListIterator.js file is put. calitha.collections.LinkedList will create an instance of calitha.collections.linkedlist.ListIterator and passes a reference of itself, so that it can function as an inner class.


Here you can find a collection of interesting information on topics related to linguistics.
Basics
Start with the basics: an introduction to linguistics written by a student for students; reviewed by professors for teaching.
Writing Systems
One of the most important inventions in mankind's history is writing; it allows us to store and convey information across thousands of generations. But, what is it really, and where did it come from?
Phonetics
Phonetics is the first chapter of nearly all linguistics textbooks, as sounds, or phonemes, are the basic building blocks of language as we know it.
Other Articles
Looking for more? Check out some articles on special topics in linguistics.
african american vernacular english is not standard english with mistakes
republished 18 September 2019, originally written 1999 by Geoffrey K. Pullum.


This pre-calibration draws upon a randomly sampled audioclip set from the TESS (T)[1], RAVDESS (R)[2], SAVEE (S)[3] and CREMA-D (C)[4] audio datasets. These datasets have been documented to show relatively high IRR in intercoder tasks. The audio clips below only serve to pre-calibrate respondents in any emotion-tagging task. Every coder is recommended to listen once to all of the samples below.
1. Angry
2. Disgust
3. Fear
4. Happy
5. Sad
6. Surprise
7. Neutral
Acknowledgements
[1] Livingstone, S. R., & Russo, F. A. (2018). The Ryerson Audio-Visual Database of Emotional Speech and Song (RAVDESS): A dynamic, multimodal set of facial and vocal expressions in North American English. PloS one, 13(5).
[2] Cao, H., Cooper, D. G., Keutmann, M. K., Gur, R. C., Nenkova, A., & Verma, R. (2014). CREMA-D: Crowd-sourced emotional multimodal actors dataset. IEEE transactions on affective computing, 5(4), 377-390.
[3] Jackson, P., & Haq, S. (2014). Surrey audio-visual expressed emotion (savee) database. University of Surrey: Guildford, UK.
[4] Dupuis, K., & Pichora-Fuller, M. K. (2010). Toronto emotional speech set (TESS). University of Toronto, Psychology Department.


Watch video: Farhan Akhtar gives us a sneak peek into his prep for 'Toofan'
by TIMESOFINDIA.COMFarhan Akhtar is undergoing major body transformation and is also undertaking special boxing lessons for his next titled 'Toofan'. He is going to essay the role of a boxer and is doing rigorous workouts to step in the shoes of his character. Recently, he took to his Instagram handle to share a video from his boxing sessions.
Read Also: Pic: Farhan Akhtar and Shibani Dandekar strike pose for a happy picture amidst Diwali celebrations
In this video, we can see the 'Bhaag Milkha Bhaag' actor prepping hard for the film. He wrote, ''Keeping at it. #toofaninthemaking #bts #boxerlife #drillsforskills #speedball 🥊 @drewnealpt 🏋🏽 @samir_jaura 🤼♂ @darrellfoster''. As soon as he shared the video, his ladylove dropped love on the most and hailed the hard work of the actor and wrote, ''beast mode''. Apart from her, Ishaan Khatter and Harsh Varrdhan Kapoor too praised the star.
Talking about his prep, the actor told Bombay Times, “Getting the character of a runner right was challenging physically, as there were a lot of races. However, when it comes to running, I had some prior practice, as I used to represent my school in athletics. A part of my fitness regime has included running, too. So it wasn’t something I felt I had to learn.” He further added and said, ''But boxing is something I have never done in my life. It is very demanding, and is not only about fitness, but also your endurance.''
Directed by Rakeysh Omprakash Mehra, the film is slated to release on 2nd October 2020.
Video Courtesy: Farhan Akhtar Instagram
Facebook Twitter Pintrest


Syllabus
Advanced Topics in Data Science (Spring 2020)
CS 109b, AC 209b, Stat 121b, or CSCI E-109b
Instructors
Pavlos Protopapas (SEAS), Mark Glickman (Statistics), & Chris Tanner (SEAS)
Lab Leaders: Chris Tanner & Eleni Kaxiras
Lectures: Mon and Wed 1:30‐2:45pm in NW B103
Labs: Monday 4:30-5:45pm & 6:00-7:15pm in Pierce Hall 301 (identical material at both times)
Advanced Sections: Wed 4:30-5:45pm in Maxwell-Dworkin G115
Office Hours: See weekly calendar for times and locations
Prerequisites: CS 109a, AC 209a, Stat 121a, or CSCI E-109a or the equivalent.
- Course description
- Tentative Course Topics
- Course Objectives
- Course Components
- Course Resources
- Course Policies and Expectations
Course Description
Advanced Topics in Data Science (CS109b) is the second half of a one-year introduction to data science. Building upon the material in Introduction to Data Science, the course introduces advanced methods for data wrangling, data visualization, statistical modeling, and prediction. Topics include big data, multiple deep learning architectures such as CNNs, RNNs, autoencoders, and generative models as well as basic Bayesian methods, nonlinear statistical models, and unsupervised learning.
The programming language will be Python.
Tentative Course Topics
- Smoothing and Additive Models
- Unsupervised Learning, Clustering
- Bayesian Modeling
- Convolutional Neural Networks
- Autoencoders
- Recurrent Neural Networks
- NLP / Text Analysis
- Variational AutoEncoders & Generative Models
- Generative Adversarial Networks
- (Deep) Reinforcement Learning
Course Objectives
Upon successful completion of this course, you should feel comfortable with the material mentioned above, and you will have gained experience working with others on real-world problems. The content knowledge, the project, and teamwork will prepare you for the professional world or further studies.
Course Components
There will be live video feed available only to continuing education students for lectures, labs, and advanced sections. Recordings for all other students will be available within 24 hrs.
Video streams and recordings can be accessed from the Videos section on Canvas.
Lectures
The class meets twice a week for lectures. Attending lectures is a crucial component of learning the material presented in this course.
Labs
Lectures are supplemented by weekly lab sections that include additional discussion of the course material, hands-on programming exercises, and group activities.
In-Class Quizzes
At the end of each lecture, we will ask you to take a short, graded quiz on the material presented in class; there will be no AC209b content in the quizzes.
50% of the quizzes will be dropped from your grade.
DCE students' quizzes will not count toward their final grade.
Advanced Sections
The course will include advanced sections for 209b students and will cover a different topic per week. These are 75 min lectures and they will cover advanced topics like the mathematical underpinnings of the methods seen in lecture and lab and extensions of those methods. The material covered in the advanced sections is required for all AC209b students. Tentative topics are:
- ResNet, Dense-Net, res-Next and Inception and transfer learning
- Segmentation Techniques, YOLO, Unet and M-RCNN
- RNN, Echo State
- Variational Inference
- GANS. Cycle GANS, etc.
- RL
Exams
There are no exams in this course.
Projects
Non-DCE Students
During the final four (4) weeks of the course, students will be divided in break-out thematic sections where they will study topics. These topics are tentative at the moment but may include medicine, law, astronomy, e-commerce, and government. Each section will include lectures by Harvard faculty, experts on the field, followed by project work also led by that faculty. You will get to present your projects in the SEAS Design Fair at the end of the semester.
DCE Students
The goal of the project is to have a complete end-to-end data science process encompassing both semesters of subject material while working as a 3-4 person team. We will supply a small set of project choices within the thematic categories. Teams may propose a different project with sufficient notice and will be subject to approval by the course staff.
Homework Assignments
There will be eight graded homework assignments. Some of them will be due one week after being assigned and some will be due two weeks after being assigned. For six assignments, you have the option to work and submit in pairs, the two remaining are to be completed individually.
Course Resources
Online Materials
All course materials, including lecture notes, lab notes, and section notes will be published on the course GitHub repo as well as the public site's Materials section.
Note: Lecture content for weeks 1-3 is only available to registered students through the Materals section.
Assignments will only be posted on Canvas.
Working Environment
You will be working in Jupyter Notebooks which you can run in your own machine or in the SEAS JupyterHub cloud (see lab 1 for details).
Recommended Textbooks
- ISLR: An Introduction to Statistical Learning by James, Witten, Hastie, Tibshirani (Springer: New York, 2013)
- DL: Deep Learning by Goodfellow, Bengio and Courville. (The MIT Press: Cambridge, 2016)
Free electronic versions are available (ISLR, DL) or hard copy through Amazon (ISLR, DL).
Getting Help
For questions about homework, course content, package installation, the process is:
- try to troubleshoot yourself by reading the lecture, lab, and section notes, and looking up online resources.
- go to office hours this is the best way to get help.
- post on the class Ed forum; we want you and your peers to engage in helping each other. TFs also monitor Ed and will respond within 24 hours. Note that Ed questions are visible to everyone. If you are citing homework solution code you must post privately so that only the staff sees your message.
- watch for official announcements via Canvas so make sure you have your Canvas notifications turned on. Ed should always be your first resource for seeking answers to your content questions.
- send an email to the Helpline<EMAIL_ADDRESS>for administrative issues, regrade requests, and non-content specific questions.
- for personal matters that you do not feel comfortable sharing with the TFs, you may send an email to either or both of the instructors.
Course Policies and Expectations
Grading for CS109b, STAT121b, and CS209b (tentative):
Your final score for the course will be computed using the following weights:
Non-DCE Students
| Assignment | Final Grade Weight |
|---|---|
| Paired Homework (6) | 47% |
| Individual Homework (2) | 21% |
| Quizzes | 8% |
| Ed Exercises | 4% |
| Project | 20% |
| Total | 100% |
Note: Regular homework (for everyone) counts as 5 points. 209b extra homework counts as 1 point.
DCE Students
| Assignment | Final Grade Weight |
|---|---|
| Paired Homework (6) | 51% |
| Individual Homework (2) | 23% |
| Ed Exercises | 4% |
| Project | 22% |
| Total | 100% |
Collaboration Policy
We expect you to adhere to the Harvard Honor Code at all times. Failure to adhere to the honor code and our policies may result in serious penalties, up to and including automatic failure in the course and reference to the ad board. If you work with a partner on an assignment make sure both parties solve all the problems. Do not divide and conquer. You are expected to be intellectually honest and give credit where credit is due. In particular:
- if you work with a fellow student but decide to submit different papers, include the name of each other in the designated area of the submission paper.
- if you work with a fellow student and want to submit the same paper you need to form a group prior to the submission. Details in the assignment. Not all assignments will permit group submissions.
- you need to write your solutions entirely on your own or with your collaborator
- you are welcome to take ideas from code presented in labs, lecture, or sections but you need to change it, adapt it to your style, and ultimately write your own. We do not want to see code copied verbatim from the above sources.
- if you use code found on the internet, books, or other sources you need to cite those sources.
- you should not view any written materials or code created by other students for the same assignment;
- you may not provide or make available solutions to individuals who take or may take this course in the future.
- if the assignment allows it you may use third-party libraries and example code, so long as the material is available to all students in the class and you give proper attribution. Do not remove any original copyright notices and headers.
Late or Wrongly Submitted Assignments
There are no late days in homework submission. We will accept late submissions only for medical reasons and if accompanied by a doctor's note.
To submit after Canvas has closed or to ask for an extension, send an email to the Helpline with subject line "Submit HW1: Reason=the flu" replacing 'HW1' with the name of the current assignment and "the flu" with your reason. You need to attach the note from your medical provider otherwise we will not accept the request.
If you forgot to join a Group with your peer and are asking for the same grade we will accept this with no penalty up to HW3. For homeworks beyond that we feel that you should be familiar with the process of joining groups. After that there will be a penalty of -1 point for both members of the group provided the submission was on time.
Re-grade Requests
Our graders and instructors make every effort in grading accurately and in giving you a lot of feedback.
If you discover that your answer to a homework problem was correct but it was marked as incorrect, send an email to the Helpline with
If you decide to send a regrade request, send an email to the Helpline with subject line "Regrade HW1: Grader=johnsmith" replacing 'HW1' with the current assignment and 'johnsmith' with the name of the grader within 48 hours of the grade release.
Auditing the Class
If you would like to audit the class, please send an email to the Helpline indicating who you are and why you want to audit the class. You need a HUID to be included to Canvas. Please note that auditors may not submit assignments for grading or make use of other limited student resources such as office hours.
Academic Integrity
Ethical behavior is an important trait of a Data Scientist, from ethically handling data to attribution of code and work of others. Thus, in CS109b we give a strong emphasis to Academic Honesty. As a student your best guidelines are to be reasonable and fair. We encourage teamwork for problem sets, but you should not split the homework and you should work on all the problems together. For more detailed expectations, please refer to the Collaborations section above.
Accommodations for students with disabilities
Students needing academic adjustments or accommodations because of a documented disability must present their Faculty Letter from the Accessible Education Office (AEO) and speak with the professor by the end of the second week of the term, (fill in specific date). Failure to do so may result in the Course Head's inability to respond in a timely manner. All discussions will remain confidential, although Faculty are invited to contact AEO to discuss appropriate implementation.
Diversity and Inclusion Statement
Data Science, like many fields of science, has historically only been represented by a small sliver of the population. This is despite some of the early computer scientist pioneers being women (see Ada Lovelace and Grace Hopper for two examples). Recent initiatives have attempted to overcome some barriers to entry: Made w/ Code. We would like to attempt to discuss diversity in data science from time to time where appropriate and possible. Please contact us (in person or electronically) or submit anonymous feedback if you have any suggestions to improve the diversity of the course materials. Furthermore, we would like to create a learning environment for our students that supports a diversity of thoughts, perspectives and experiences, and honors your identities (including race, gender, class, sexuality, religion, ability, etc.) To help accomplish this:
- If you have a name and/or set of pronouns that differ from those that appear in your official Harvard records, please let us know!
- If you feel like your performance in the class is being impacted by your experiences outside of class, please don’t hesitate to come and talk with us. We want to be a resource for you. Remember that you can also submit anonymous feedback (which will lead to me making a general announcement to the class, if necessary to address your concerns). If you prefer to speak with someone outside of the course, you may find helpful resources at the Harvard Office of Diversity and Inclusion.
- We (like many people) are still in the process of learning about diverse perspectives and identities. If something was said in class (by anyone) that made you feel uncomfortable, please talk to us about it. (Again, anonymous feedback is always an option.)
- As a participant in course discussions, you should also strive to honor the diversity of your classmates.


K-Music
Playlist
Artist
Album
Genre
%
0
/
0
00:00
00:00
Playlist Name
Menu
Playlist Manager
Reload Library
About
Playlist Manager
Create Playlist
Confirm
About
Tips:
- To duplicate the playlist, please change its name before press `Save` button
Nav shortcut:
Call
- toggle shuffle
Alt or *
- toggle repeat
Credits:
jsmediatags
- https://github.com/aadsm/jsmediatags
localforage
- https://github.com/localForage/localForage
modalise
- https://github.com/AlexisTM/modalise.js
polyfill
- https://github.com/taylorhakes/promise-polyfill
kaiui
- https://github.com/nadim1992/KaiUI
normalize.css
- https://github.com/necolas/normalize.css
Track
Menu
SELECT
Edit
PLAY
Delete
Save
SELECT
Rename
Cancel
Yes